v1beta2

package
v1.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=compute.azure.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "compute.azure.upbound.io"
	CRDVersion = "v1beta2"
)

Package type metadata.

Variables

View Source
var (
	CapacityReservation_Kind             = "CapacityReservation"
	CapacityReservation_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: CapacityReservation_Kind}.String()
	CapacityReservation_KindAPIVersion   = CapacityReservation_Kind + "." + CRDGroupVersion.String()
	CapacityReservation_GroupVersionKind = CRDGroupVersion.WithKind(CapacityReservation_Kind)
)

Repository type metadata.

View Source
var (
	DiskEncryptionSet_Kind             = "DiskEncryptionSet"
	DiskEncryptionSet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: DiskEncryptionSet_Kind}.String()
	DiskEncryptionSet_KindAPIVersion   = DiskEncryptionSet_Kind + "." + CRDGroupVersion.String()
	DiskEncryptionSet_GroupVersionKind = CRDGroupVersion.WithKind(DiskEncryptionSet_Kind)
)

Repository type metadata.

View Source
var (
	GalleryApplicationVersion_Kind             = "GalleryApplicationVersion"
	GalleryApplicationVersion_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: GalleryApplicationVersion_Kind}.String()
	GalleryApplicationVersion_KindAPIVersion   = GalleryApplicationVersion_Kind + "." + CRDGroupVersion.String()
	GalleryApplicationVersion_GroupVersionKind = CRDGroupVersion.WithKind(GalleryApplicationVersion_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Image_Kind             = "Image"
	Image_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Image_Kind}.String()
	Image_KindAPIVersion   = Image_Kind + "." + CRDGroupVersion.String()
	Image_GroupVersionKind = CRDGroupVersion.WithKind(Image_Kind)
)

Repository type metadata.

View Source
var (
	LinuxVirtualMachine_Kind             = "LinuxVirtualMachine"
	LinuxVirtualMachine_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: LinuxVirtualMachine_Kind}.String()
	LinuxVirtualMachine_KindAPIVersion   = LinuxVirtualMachine_Kind + "." + CRDGroupVersion.String()
	LinuxVirtualMachine_GroupVersionKind = CRDGroupVersion.WithKind(LinuxVirtualMachine_Kind)
)

Repository type metadata.

View Source
var (
	LinuxVirtualMachineScaleSet_Kind             = "LinuxVirtualMachineScaleSet"
	LinuxVirtualMachineScaleSet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: LinuxVirtualMachineScaleSet_Kind}.String()
	LinuxVirtualMachineScaleSet_KindAPIVersion   = LinuxVirtualMachineScaleSet_Kind + "." + CRDGroupVersion.String()
	LinuxVirtualMachineScaleSet_GroupVersionKind = CRDGroupVersion.WithKind(LinuxVirtualMachineScaleSet_Kind)
)

Repository type metadata.

View Source
var (
	ManagedDisk_Kind             = "ManagedDisk"
	ManagedDisk_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ManagedDisk_Kind}.String()
	ManagedDisk_KindAPIVersion   = ManagedDisk_Kind + "." + CRDGroupVersion.String()
	ManagedDisk_GroupVersionKind = CRDGroupVersion.WithKind(ManagedDisk_Kind)
)

Repository type metadata.

View Source
var (
	OrchestratedVirtualMachineScaleSet_Kind             = "OrchestratedVirtualMachineScaleSet"
	OrchestratedVirtualMachineScaleSet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: OrchestratedVirtualMachineScaleSet_Kind}.String()
	OrchestratedVirtualMachineScaleSet_KindAPIVersion   = OrchestratedVirtualMachineScaleSet_Kind + "." + CRDGroupVersion.String()
	OrchestratedVirtualMachineScaleSet_GroupVersionKind = CRDGroupVersion.WithKind(OrchestratedVirtualMachineScaleSet_Kind)
)

Repository type metadata.

View Source
var (
	SharedImage_Kind             = "SharedImage"
	SharedImage_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SharedImage_Kind}.String()
	SharedImage_KindAPIVersion   = SharedImage_Kind + "." + CRDGroupVersion.String()
	SharedImage_GroupVersionKind = CRDGroupVersion.WithKind(SharedImage_Kind)
)

Repository type metadata.

View Source
var (
	SharedImageGallery_Kind             = "SharedImageGallery"
	SharedImageGallery_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SharedImageGallery_Kind}.String()
	SharedImageGallery_KindAPIVersion   = SharedImageGallery_Kind + "." + CRDGroupVersion.String()
	SharedImageGallery_GroupVersionKind = CRDGroupVersion.WithKind(SharedImageGallery_Kind)
)

Repository type metadata.

View Source
var (
	Snapshot_Kind             = "Snapshot"
	Snapshot_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Snapshot_Kind}.String()
	Snapshot_KindAPIVersion   = Snapshot_Kind + "." + CRDGroupVersion.String()
	Snapshot_GroupVersionKind = CRDGroupVersion.WithKind(Snapshot_Kind)
)

Repository type metadata.

View Source
var (
	VirtualMachineExtension_Kind             = "VirtualMachineExtension"
	VirtualMachineExtension_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VirtualMachineExtension_Kind}.String()
	VirtualMachineExtension_KindAPIVersion   = VirtualMachineExtension_Kind + "." + CRDGroupVersion.String()
	VirtualMachineExtension_GroupVersionKind = CRDGroupVersion.WithKind(VirtualMachineExtension_Kind)
)

Repository type metadata.

View Source
var (
	VirtualMachineRunCommand_Kind             = "VirtualMachineRunCommand"
	VirtualMachineRunCommand_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VirtualMachineRunCommand_Kind}.String()
	VirtualMachineRunCommand_KindAPIVersion   = VirtualMachineRunCommand_Kind + "." + CRDGroupVersion.String()
	VirtualMachineRunCommand_GroupVersionKind = CRDGroupVersion.WithKind(VirtualMachineRunCommand_Kind)
)

Repository type metadata.

View Source
var (
	WindowsVirtualMachine_Kind             = "WindowsVirtualMachine"
	WindowsVirtualMachine_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: WindowsVirtualMachine_Kind}.String()
	WindowsVirtualMachine_KindAPIVersion   = WindowsVirtualMachine_Kind + "." + CRDGroupVersion.String()
	WindowsVirtualMachine_GroupVersionKind = CRDGroupVersion.WithKind(WindowsVirtualMachine_Kind)
)

Repository type metadata.

View Source
var (
	WindowsVirtualMachineScaleSet_Kind             = "WindowsVirtualMachineScaleSet"
	WindowsVirtualMachineScaleSet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: WindowsVirtualMachineScaleSet_Kind}.String()
	WindowsVirtualMachineScaleSet_KindAPIVersion   = WindowsVirtualMachineScaleSet_Kind + "." + CRDGroupVersion.String()
	WindowsVirtualMachineScaleSet_GroupVersionKind = CRDGroupVersion.WithKind(WindowsVirtualMachineScaleSet_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AdditionalCapabilitiesInitParameters

type AdditionalCapabilitiesInitParameters struct {

	// Whether to enable the hibernation capability or not.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*AdditionalCapabilitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalCapabilitiesInitParameters.

func (*AdditionalCapabilitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalCapabilitiesObservation

type AdditionalCapabilitiesObservation struct {

	// Whether to enable the hibernation capability or not.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*AdditionalCapabilitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalCapabilitiesObservation.

func (*AdditionalCapabilitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalCapabilitiesParameters

type AdditionalCapabilitiesParameters struct {

	// Whether to enable the hibernation capability or not.
	// +kubebuilder:validation:Optional
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*AdditionalCapabilitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalCapabilitiesParameters.

func (*AdditionalCapabilitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalUnattendContentInitParameters

type AdditionalUnattendContentInitParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*AdditionalUnattendContentInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalUnattendContentInitParameters.

func (*AdditionalUnattendContentInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalUnattendContentObservation

type AdditionalUnattendContentObservation struct {

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*AdditionalUnattendContentObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalUnattendContentObservation.

func (*AdditionalUnattendContentObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalUnattendContentParameters

type AdditionalUnattendContentParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Setting *string `json:"setting" tf:"setting,omitempty"`
}

func (*AdditionalUnattendContentParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalUnattendContentParameters.

func (*AdditionalUnattendContentParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSSHKeyInitParameters

type AdminSSHKeyInitParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format. Changing this forces a new resource to be created.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*AdminSSHKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSSHKeyInitParameters.

func (*AdminSSHKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSSHKeyObservation

type AdminSSHKeyObservation struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format. Changing this forces a new resource to be created.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*AdminSSHKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSSHKeyObservation.

func (*AdminSSHKeyObservation) DeepCopyInto

func (in *AdminSSHKeyObservation) DeepCopyInto(out *AdminSSHKeyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSSHKeyParameters

type AdminSSHKeyParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Username *string `json:"username" tf:"username,omitempty"`
}

func (*AdminSSHKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSSHKeyParameters.

func (*AdminSSHKeyParameters) DeepCopyInto

func (in *AdminSSHKeyParameters) DeepCopyInto(out *AdminSSHKeyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticInstanceRepairInitParameters

type AutomaticInstanceRepairInitParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*AutomaticInstanceRepairInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticInstanceRepairInitParameters.

func (*AutomaticInstanceRepairInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticInstanceRepairObservation

type AutomaticInstanceRepairObservation struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*AutomaticInstanceRepairObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticInstanceRepairObservation.

func (*AutomaticInstanceRepairObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticInstanceRepairParameters

type AutomaticInstanceRepairParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	// +kubebuilder:validation:Optional
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	// +kubebuilder:validation:Optional
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*AutomaticInstanceRepairParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticInstanceRepairParameters.

func (*AutomaticInstanceRepairParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticOsUpgradePolicyInitParameters

type AutomaticOsUpgradePolicyInitParameters struct {

	// Should automatic rollbacks be disabled?
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade,omitempty" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*AutomaticOsUpgradePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticOsUpgradePolicyInitParameters.

func (*AutomaticOsUpgradePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticOsUpgradePolicyObservation

type AutomaticOsUpgradePolicyObservation struct {

	// Should automatic rollbacks be disabled?
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade,omitempty" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*AutomaticOsUpgradePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticOsUpgradePolicyObservation.

func (*AutomaticOsUpgradePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutomaticOsUpgradePolicyParameters

type AutomaticOsUpgradePolicyParameters struct {

	// Should automatic rollbacks be disabled?
	// +kubebuilder:validation:Optional
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	// +kubebuilder:validation:Optional
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*AutomaticOsUpgradePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticOsUpgradePolicyParameters.

func (*AutomaticOsUpgradePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiagnosticsInitParameters

type BootDiagnosticsInitParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*BootDiagnosticsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiagnosticsInitParameters.

func (*BootDiagnosticsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiagnosticsObservation

type BootDiagnosticsObservation struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*BootDiagnosticsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiagnosticsObservation.

func (*BootDiagnosticsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiagnosticsParameters

type BootDiagnosticsParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	// +kubebuilder:validation:Optional
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*BootDiagnosticsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiagnosticsParameters.

func (*BootDiagnosticsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservation

type CapacityReservation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sku) || (has(self.initProvider) && has(self.initProvider.sku))",message="spec.forProvider.sku is a required parameter"
	Spec   CapacityReservationSpec   `json:"spec"`
	Status CapacityReservationStatus `json:"status,omitempty"`
}

CapacityReservation is the Schema for the CapacityReservations API. Manages a Capacity Reservation within a Capacity Reservation Group. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*CapacityReservation) DeepCopy

func (in *CapacityReservation) DeepCopy() *CapacityReservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservation.

func (*CapacityReservation) DeepCopyInto

func (in *CapacityReservation) DeepCopyInto(out *CapacityReservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CapacityReservation) DeepCopyObject

func (in *CapacityReservation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CapacityReservation) GetCondition

func (mg *CapacityReservation) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this CapacityReservation.

func (*CapacityReservation) GetConnectionDetailsMapping

func (tr *CapacityReservation) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this CapacityReservation

func (*CapacityReservation) GetDeletionPolicy

func (mg *CapacityReservation) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this CapacityReservation.

func (*CapacityReservation) GetID

func (tr *CapacityReservation) GetID() string

GetID returns ID of underlying Terraform resource of this CapacityReservation

func (*CapacityReservation) GetInitParameters

func (tr *CapacityReservation) GetInitParameters() (map[string]any, error)

GetInitParameters of this CapacityReservation

func (*CapacityReservation) GetManagementPolicies

func (mg *CapacityReservation) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this CapacityReservation.

func (*CapacityReservation) GetMergedParameters

func (tr *CapacityReservation) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this CapacityReservation

func (*CapacityReservation) GetObservation

func (tr *CapacityReservation) GetObservation() (map[string]any, error)

GetObservation of this CapacityReservation

func (*CapacityReservation) GetParameters

func (tr *CapacityReservation) GetParameters() (map[string]any, error)

GetParameters of this CapacityReservation

func (*CapacityReservation) GetProviderConfigReference

func (mg *CapacityReservation) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this CapacityReservation.

func (*CapacityReservation) GetPublishConnectionDetailsTo

func (mg *CapacityReservation) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this CapacityReservation.

func (*CapacityReservation) GetTerraformResourceType

func (mg *CapacityReservation) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this CapacityReservation

func (*CapacityReservation) GetTerraformSchemaVersion

func (tr *CapacityReservation) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*CapacityReservation) GetWriteConnectionSecretToReference

func (mg *CapacityReservation) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this CapacityReservation.

func (*CapacityReservation) Hub

func (tr *CapacityReservation) Hub()

Hub marks this type as a conversion hub.

func (*CapacityReservation) LateInitialize

func (tr *CapacityReservation) LateInitialize(attrs []byte) (bool, error)

LateInitialize this CapacityReservation using its observed tfState. returns True if there are any spec changes for the resource.

func (*CapacityReservation) ResolveReferences

func (mg *CapacityReservation) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*CapacityReservation) SetConditions

func (mg *CapacityReservation) SetConditions(c ...xpv1.Condition)

SetConditions of this CapacityReservation.

func (*CapacityReservation) SetDeletionPolicy

func (mg *CapacityReservation) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this CapacityReservation.

func (*CapacityReservation) SetManagementPolicies

func (mg *CapacityReservation) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this CapacityReservation.

func (*CapacityReservation) SetObservation

func (tr *CapacityReservation) SetObservation(obs map[string]any) error

SetObservation for this CapacityReservation

func (*CapacityReservation) SetParameters

func (tr *CapacityReservation) SetParameters(params map[string]any) error

SetParameters for this CapacityReservation

func (*CapacityReservation) SetProviderConfigReference

func (mg *CapacityReservation) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this CapacityReservation.

func (*CapacityReservation) SetPublishConnectionDetailsTo

func (mg *CapacityReservation) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this CapacityReservation.

func (*CapacityReservation) SetWriteConnectionSecretToReference

func (mg *CapacityReservation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this CapacityReservation.

type CapacityReservationInitParameters

type CapacityReservationInitParameters struct {

	// A sku block as defined below.
	Sku *SkuInitParameters `json:"sku,omitempty" tf:"sku,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*CapacityReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationInitParameters.

func (*CapacityReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationList

type CapacityReservationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CapacityReservation `json:"items"`
}

CapacityReservationList contains a list of CapacityReservations

func (*CapacityReservationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationList.

func (*CapacityReservationList) DeepCopyInto

func (in *CapacityReservationList) DeepCopyInto(out *CapacityReservationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CapacityReservationList) DeepCopyObject

func (in *CapacityReservationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CapacityReservationList) GetItems

func (l *CapacityReservationList) GetItems() []resource.Managed

GetItems of this CapacityReservationList.

type CapacityReservationObservation

type CapacityReservationObservation struct {

	// The ID of the Capacity Reservation Group where the Capacity Reservation exists. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The ID of the Capacity Reservation.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A sku block as defined below.
	Sku *SkuObservation `json:"sku,omitempty" tf:"sku,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*CapacityReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationObservation.

func (*CapacityReservationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationParameters

type CapacityReservationParameters struct {

	// The ID of the Capacity Reservation Group where the Capacity Reservation exists. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.CapacityReservationGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Reference to a CapacityReservationGroup in compute to populate capacityReservationGroupId.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupIDRef *v1.Reference `json:"capacityReservationGroupIdRef,omitempty" tf:"-"`

	// Selector for a CapacityReservationGroup in compute to populate capacityReservationGroupId.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupIDSelector *v1.Selector `json:"capacityReservationGroupIdSelector,omitempty" tf:"-"`

	// A sku block as defined below.
	// +kubebuilder:validation:Optional
	Sku *SkuParameters `json:"sku,omitempty" tf:"sku,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the Availability Zone for this Capacity Reservation. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*CapacityReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationParameters.

func (*CapacityReservationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpec

type CapacityReservationSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     CapacityReservationParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider CapacityReservationInitParameters `json:"initProvider,omitempty"`
}

CapacityReservationSpec defines the desired state of CapacityReservation

func (*CapacityReservationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpec.

func (*CapacityReservationSpec) DeepCopyInto

func (in *CapacityReservationSpec) DeepCopyInto(out *CapacityReservationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationStatus

type CapacityReservationStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        CapacityReservationObservation `json:"atProvider,omitempty"`
}

CapacityReservationStatus defines the observed state of CapacityReservation.

func (*CapacityReservationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationStatus.

func (*CapacityReservationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateInitParameters

type CertificateInitParameters struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*CertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateInitParameters.

func (*CertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateObservation

type CertificateObservation struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*CertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateObservation.

func (*CertificateObservation) DeepCopyInto

func (in *CertificateObservation) DeepCopyInto(out *CertificateObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateParameters

type CertificateParameters struct {

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*CertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateParameters.

func (*CertificateParameters) DeepCopyInto

func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommunityGalleryInitParameters

type CommunityGalleryInitParameters struct {

	// The End User Licence Agreement for the Shared Image Gallery. Changing this forces a new resource to be created.
	Eula *string `json:"eula,omitempty" tf:"eula,omitempty"`

	// Prefix of the community public name for the Shared Image Gallery. Changing this forces a new resource to be created.
	Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"`

	// Email of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	PublisherEmail *string `json:"publisherEmail,omitempty" tf:"publisher_email,omitempty"`

	// URI of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	PublisherURI *string `json:"publisherUri,omitempty" tf:"publisher_uri,omitempty"`
}

func (*CommunityGalleryInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityGalleryInitParameters.

func (*CommunityGalleryInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommunityGalleryObservation

type CommunityGalleryObservation struct {

	// The End User Licence Agreement for the Shared Image Gallery. Changing this forces a new resource to be created.
	Eula *string `json:"eula,omitempty" tf:"eula,omitempty"`

	// Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Prefix of the community public name for the Shared Image Gallery. Changing this forces a new resource to be created.
	Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"`

	// Email of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	PublisherEmail *string `json:"publisherEmail,omitempty" tf:"publisher_email,omitempty"`

	// URI of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	PublisherURI *string `json:"publisherUri,omitempty" tf:"publisher_uri,omitempty"`
}

func (*CommunityGalleryObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityGalleryObservation.

func (*CommunityGalleryObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommunityGalleryParameters

type CommunityGalleryParameters struct {

	// The End User Licence Agreement for the Shared Image Gallery. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Eula *string `json:"eula" tf:"eula,omitempty"`

	// Prefix of the community public name for the Shared Image Gallery. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Prefix *string `json:"prefix" tf:"prefix,omitempty"`

	// Email of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublisherEmail *string `json:"publisherEmail" tf:"publisher_email,omitempty"`

	// URI of the publisher for the Shared Image Gallery. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublisherURI *string `json:"publisherUri" tf:"publisher_uri,omitempty"`
}

func (*CommunityGalleryParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityGalleryParameters.

func (*CommunityGalleryParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataDiskInitParameters

type DataDiskInitParameters struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image.
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. Defaults to None.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// Specifies the logical unit number of the data disk.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the size of the image to be created. The target size can't be smaller than the source size.
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*DataDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataDiskInitParameters.

func (*DataDiskInitParameters) DeepCopyInto

func (in *DataDiskInitParameters) DeepCopyInto(out *DataDiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataDiskObservation

type DataDiskObservation struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image.
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. Defaults to None.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// Specifies the logical unit number of the data disk.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the size of the image to be created. The target size can't be smaller than the source size.
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*DataDiskObservation) DeepCopy

func (in *DataDiskObservation) DeepCopy() *DataDiskObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataDiskObservation.

func (*DataDiskObservation) DeepCopyInto

func (in *DataDiskObservation) DeepCopyInto(out *DataDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataDiskParameters

type DataDiskParameters struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image.
	// +kubebuilder:validation:Optional
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. Defaults to None.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// Specifies the logical unit number of the data disk.
	// +kubebuilder:validation:Optional
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the size of the image to be created. The target size can't be smaller than the source size.
	// +kubebuilder:validation:Optional
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*DataDiskParameters) DeepCopy

func (in *DataDiskParameters) DeepCopy() *DataDiskParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataDiskParameters.

func (*DataDiskParameters) DeepCopyInto

func (in *DataDiskParameters) DeepCopyInto(out *DataDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiffDiskSettingsInitParameters

type DiffDiskSettingsInitParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*DiffDiskSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiffDiskSettingsInitParameters.

func (*DiffDiskSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiffDiskSettingsObservation

type DiffDiskSettingsObservation struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*DiffDiskSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiffDiskSettingsObservation.

func (*DiffDiskSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiffDiskSettingsParameters

type DiffDiskSettingsParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Option *string `json:"option" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*DiffDiskSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiffDiskSettingsParameters.

func (*DiffDiskSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyInitParameters

type DiskEncryptionKeyInitParameters struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*DiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyInitParameters.

func (*DiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyObservation

type DiskEncryptionKeyObservation struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*DiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyObservation.

func (*DiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyParameters

type DiskEncryptionKeyParameters struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*DiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyParameters.

func (*DiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionSet

type DiskEncryptionSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.identity) || (has(self.initProvider) && has(self.initProvider.identity))",message="spec.forProvider.identity is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	Spec   DiskEncryptionSetSpec   `json:"spec"`
	Status DiskEncryptionSetStatus `json:"status,omitempty"`
}

DiskEncryptionSet is the Schema for the DiskEncryptionSets API. Manages a Disk Encryption Set. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*DiskEncryptionSet) DeepCopy

func (in *DiskEncryptionSet) DeepCopy() *DiskEncryptionSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSet.

func (*DiskEncryptionSet) DeepCopyInto

func (in *DiskEncryptionSet) DeepCopyInto(out *DiskEncryptionSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DiskEncryptionSet) DeepCopyObject

func (in *DiskEncryptionSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DiskEncryptionSet) GetCondition

func (mg *DiskEncryptionSet) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this DiskEncryptionSet.

func (*DiskEncryptionSet) GetConnectionDetailsMapping

func (tr *DiskEncryptionSet) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this DiskEncryptionSet

func (*DiskEncryptionSet) GetDeletionPolicy

func (mg *DiskEncryptionSet) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this DiskEncryptionSet.

func (*DiskEncryptionSet) GetID

func (tr *DiskEncryptionSet) GetID() string

GetID returns ID of underlying Terraform resource of this DiskEncryptionSet

func (*DiskEncryptionSet) GetInitParameters

func (tr *DiskEncryptionSet) GetInitParameters() (map[string]any, error)

GetInitParameters of this DiskEncryptionSet

func (*DiskEncryptionSet) GetManagementPolicies

func (mg *DiskEncryptionSet) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this DiskEncryptionSet.

func (*DiskEncryptionSet) GetMergedParameters

func (tr *DiskEncryptionSet) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this DiskEncryptionSet

func (*DiskEncryptionSet) GetObservation

func (tr *DiskEncryptionSet) GetObservation() (map[string]any, error)

GetObservation of this DiskEncryptionSet

func (*DiskEncryptionSet) GetParameters

func (tr *DiskEncryptionSet) GetParameters() (map[string]any, error)

GetParameters of this DiskEncryptionSet

func (*DiskEncryptionSet) GetProviderConfigReference

func (mg *DiskEncryptionSet) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this DiskEncryptionSet.

func (*DiskEncryptionSet) GetPublishConnectionDetailsTo

func (mg *DiskEncryptionSet) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this DiskEncryptionSet.

func (*DiskEncryptionSet) GetTerraformResourceType

func (mg *DiskEncryptionSet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this DiskEncryptionSet

func (*DiskEncryptionSet) GetTerraformSchemaVersion

func (tr *DiskEncryptionSet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*DiskEncryptionSet) GetWriteConnectionSecretToReference

func (mg *DiskEncryptionSet) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this DiskEncryptionSet.

func (*DiskEncryptionSet) Hub

func (tr *DiskEncryptionSet) Hub()

Hub marks this type as a conversion hub.

func (*DiskEncryptionSet) LateInitialize

func (tr *DiskEncryptionSet) LateInitialize(attrs []byte) (bool, error)

LateInitialize this DiskEncryptionSet using its observed tfState. returns True if there are any spec changes for the resource.

func (*DiskEncryptionSet) ResolveReferences

func (mg *DiskEncryptionSet) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetConditions

func (mg *DiskEncryptionSet) SetConditions(c ...xpv1.Condition)

SetConditions of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetDeletionPolicy

func (mg *DiskEncryptionSet) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetManagementPolicies

func (mg *DiskEncryptionSet) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetObservation

func (tr *DiskEncryptionSet) SetObservation(obs map[string]any) error

SetObservation for this DiskEncryptionSet

func (*DiskEncryptionSet) SetParameters

func (tr *DiskEncryptionSet) SetParameters(params map[string]any) error

SetParameters for this DiskEncryptionSet

func (*DiskEncryptionSet) SetProviderConfigReference

func (mg *DiskEncryptionSet) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetPublishConnectionDetailsTo

func (mg *DiskEncryptionSet) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this DiskEncryptionSet.

func (*DiskEncryptionSet) SetWriteConnectionSecretToReference

func (mg *DiskEncryptionSet) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this DiskEncryptionSet.

type DiskEncryptionSetInitParameters

type DiskEncryptionSetInitParameters struct {

	// Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are true or false. Defaults to false.
	AutoKeyRotationEnabled *bool `json:"autoKeyRotationEnabled,omitempty" tf:"auto_key_rotation_enabled,omitempty"`

	// The type of key used to encrypt the data of the disk. Possible values are EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys and ConfidentialVmEncryptedWithCustomerKey. Defaults to EncryptionAtRestWithCustomerKey. Changing this forces a new resource to be created.
	EncryptionType *string `json:"encryptionType,omitempty" tf:"encryption_type,omitempty"`

	// Multi-tenant application client id to access key vault in a different tenant.
	FederatedClientID *string `json:"federatedClientId,omitempty" tf:"federated_client_id,omitempty"`

	// An identity block as defined below.
	Identity *IdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/keyvault/v1beta2.Key
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`

	// Reference to a Key in keyvault to populate keyVaultKeyId.
	// +kubebuilder:validation:Optional
	KeyVaultKeyIDRef *v1.Reference `json:"keyVaultKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in keyvault to populate keyVaultKeyId.
	// +kubebuilder:validation:Optional
	KeyVaultKeyIDSelector *v1.Selector `json:"keyVaultKeyIdSelector,omitempty" tf:"-"`

	// Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Key ID of a key in a managed HSM.  Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	ManagedHSMKeyID *string `json:"managedHsmKeyId,omitempty" tf:"managed_hsm_key_id,omitempty"`

	// A mapping of tags to assign to the Disk Encryption Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*DiskEncryptionSetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetInitParameters.

func (*DiskEncryptionSetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionSetList

type DiskEncryptionSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DiskEncryptionSet `json:"items"`
}

DiskEncryptionSetList contains a list of DiskEncryptionSets

func (*DiskEncryptionSetList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetList.

func (*DiskEncryptionSetList) DeepCopyInto

func (in *DiskEncryptionSetList) DeepCopyInto(out *DiskEncryptionSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DiskEncryptionSetList) DeepCopyObject

func (in *DiskEncryptionSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DiskEncryptionSetList) GetItems

func (l *DiskEncryptionSetList) GetItems() []resource.Managed

GetItems of this DiskEncryptionSetList.

type DiskEncryptionSetObservation

type DiskEncryptionSetObservation struct {

	// Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are true or false. Defaults to false.
	AutoKeyRotationEnabled *bool `json:"autoKeyRotationEnabled,omitempty" tf:"auto_key_rotation_enabled,omitempty"`

	// The type of key used to encrypt the data of the disk. Possible values are EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys and ConfidentialVmEncryptedWithCustomerKey. Defaults to EncryptionAtRestWithCustomerKey. Changing this forces a new resource to be created.
	EncryptionType *string `json:"encryptionType,omitempty" tf:"encryption_type,omitempty"`

	// Multi-tenant application client id to access key vault in a different tenant.
	FederatedClientID *string `json:"federatedClientId,omitempty" tf:"federated_client_id,omitempty"`

	// The ID of the Disk Encryption Set.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below.
	Identity *IdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`

	// The URL for the Key Vault Key or Key Vault Secret that is currently being used by the service.
	KeyVaultKeyURL *string `json:"keyVaultKeyUrl,omitempty" tf:"key_vault_key_url,omitempty"`

	// Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Key ID of a key in a managed HSM.  Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	ManagedHSMKeyID *string `json:"managedHsmKeyId,omitempty" tf:"managed_hsm_key_id,omitempty"`

	// Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// A mapping of tags to assign to the Disk Encryption Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*DiskEncryptionSetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetObservation.

func (*DiskEncryptionSetObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionSetParameters

type DiskEncryptionSetParameters struct {

	// Boolean flag to specify whether Azure Disk Encryption Set automatically rotates the encryption Key to latest version or not. Possible values are true or false. Defaults to false.
	// +kubebuilder:validation:Optional
	AutoKeyRotationEnabled *bool `json:"autoKeyRotationEnabled,omitempty" tf:"auto_key_rotation_enabled,omitempty"`

	// The type of key used to encrypt the data of the disk. Possible values are EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys and ConfidentialVmEncryptedWithCustomerKey. Defaults to EncryptionAtRestWithCustomerKey. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EncryptionType *string `json:"encryptionType,omitempty" tf:"encryption_type,omitempty"`

	// Multi-tenant application client id to access key vault in a different tenant.
	// +kubebuilder:validation:Optional
	FederatedClientID *string `json:"federatedClientId,omitempty" tf:"federated_client_id,omitempty"`

	// An identity block as defined below.
	// +kubebuilder:validation:Optional
	Identity *IdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret). Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/keyvault/v1beta2.Key
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`

	// Reference to a Key in keyvault to populate keyVaultKeyId.
	// +kubebuilder:validation:Optional
	KeyVaultKeyIDRef *v1.Reference `json:"keyVaultKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in keyvault to populate keyVaultKeyId.
	// +kubebuilder:validation:Optional
	KeyVaultKeyIDSelector *v1.Selector `json:"keyVaultKeyIdSelector,omitempty" tf:"-"`

	// Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Key ID of a key in a managed HSM.  Exactly one of managed_hsm_key_id, key_vault_key_id must be specified.
	// +kubebuilder:validation:Optional
	ManagedHSMKeyID *string `json:"managedHsmKeyId,omitempty" tf:"managed_hsm_key_id,omitempty"`

	// Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// A mapping of tags to assign to the Disk Encryption Set.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*DiskEncryptionSetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetParameters.

func (*DiskEncryptionSetParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionSetSpec

type DiskEncryptionSetSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DiskEncryptionSetParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DiskEncryptionSetInitParameters `json:"initProvider,omitempty"`
}

DiskEncryptionSetSpec defines the desired state of DiskEncryptionSet

func (*DiskEncryptionSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetSpec.

func (*DiskEncryptionSetSpec) DeepCopyInto

func (in *DiskEncryptionSetSpec) DeepCopyInto(out *DiskEncryptionSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionSetStatus

type DiskEncryptionSetStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DiskEncryptionSetObservation `json:"atProvider,omitempty"`
}

DiskEncryptionSetStatus defines the observed state of DiskEncryptionSet.

func (*DiskEncryptionSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionSetStatus.

func (*DiskEncryptionSetStatus) DeepCopyInto

func (in *DiskEncryptionSetStatus) DeepCopyInto(out *DiskEncryptionSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsDiskEncryptionKeyInitParameters

type EncryptionSettingsDiskEncryptionKeyInitParameters struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsDiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsDiskEncryptionKeyInitParameters.

func (*EncryptionSettingsDiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsDiskEncryptionKeyObservation

type EncryptionSettingsDiskEncryptionKeyObservation struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsDiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsDiskEncryptionKeyObservation.

func (*EncryptionSettingsDiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsDiskEncryptionKeyParameters

type EncryptionSettingsDiskEncryptionKeyParameters struct {

	// The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azurerm_key_vault_secret resource.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsDiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsDiskEncryptionKeyParameters.

func (*EncryptionSettingsDiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsInitParameters

type EncryptionSettingsInitParameters struct {

	// A disk_encryption_key block as defined above.
	DiskEncryptionKey *DiskEncryptionKeyInitParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	KeyEncryptionKey *KeyEncryptionKeyInitParameters `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*EncryptionSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsInitParameters.

func (*EncryptionSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsKeyEncryptionKeyInitParameters

type EncryptionSettingsKeyEncryptionKeyInitParameters struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	KeyURL *string `json:"keyUrl,omitempty" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsKeyEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsKeyEncryptionKeyInitParameters.

func (*EncryptionSettingsKeyEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsKeyEncryptionKeyObservation

type EncryptionSettingsKeyEncryptionKeyObservation struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	KeyURL *string `json:"keyUrl,omitempty" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsKeyEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsKeyEncryptionKeyObservation.

func (*EncryptionSettingsKeyEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsKeyEncryptionKeyParameters

type EncryptionSettingsKeyEncryptionKeyParameters struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	// +kubebuilder:validation:Optional
	KeyURL *string `json:"keyUrl" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*EncryptionSettingsKeyEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsKeyEncryptionKeyParameters.

func (*EncryptionSettingsKeyEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsObservation

type EncryptionSettingsObservation struct {

	// A disk_encryption_key block as defined above.
	DiskEncryptionKey *DiskEncryptionKeyObservation `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	KeyEncryptionKey *KeyEncryptionKeyObservation `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*EncryptionSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsObservation.

func (*EncryptionSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionSettingsParameters

type EncryptionSettingsParameters struct {

	// A disk_encryption_key block as defined above.
	// +kubebuilder:validation:Optional
	DiskEncryptionKey *DiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	// +kubebuilder:validation:Optional
	KeyEncryptionKey *KeyEncryptionKeyParameters `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*EncryptionSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettingsParameters.

func (*EncryptionSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ErrorBlobManagedIdentityInitParameters

type ErrorBlobManagedIdentityInitParameters struct {

	// The client ID of the managed identity.
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*ErrorBlobManagedIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityInitParameters.

func (*ErrorBlobManagedIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ErrorBlobManagedIdentityObservation

type ErrorBlobManagedIdentityObservation struct {
}

func (*ErrorBlobManagedIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityObservation.

func (*ErrorBlobManagedIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ErrorBlobManagedIdentityParameters

type ErrorBlobManagedIdentityParameters struct {

	// The client ID of the managed identity.
	// +kubebuilder:validation:Optional
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	// +kubebuilder:validation:Optional
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*ErrorBlobManagedIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityParameters.

func (*ErrorBlobManagedIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionInitParameters

type ExtensionInitParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *ProtectedSettingsFromKeyVaultInitParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// An ordered list of Extension names which this should be provisioned after.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*ExtensionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionInitParameters.

func (*ExtensionInitParameters) DeepCopyInto

func (in *ExtensionInitParameters) DeepCopyInto(out *ExtensionInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionObservation

type ExtensionObservation struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *ProtectedSettingsFromKeyVaultObservation `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// An ordered list of Extension names which this should be provisioned after.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*ExtensionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionObservation.

func (*ExtensionObservation) DeepCopyInto

func (in *ExtensionObservation) DeepCopyInto(out *ExtensionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionParameters

type ExtensionParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	// +kubebuilder:validation:Optional
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	// +kubebuilder:validation:Optional
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	// +kubebuilder:validation:Optional
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	// +kubebuilder:validation:Optional
	ProtectedSettingsFromKeyVault *ProtectedSettingsFromKeyVaultParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	// +kubebuilder:validation:Optional
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// An ordered list of Extension names which this should be provisioned after.
	// +kubebuilder:validation:Optional
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	// +kubebuilder:validation:Optional
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	// +kubebuilder:validation:Optional
	TypeHandlerVersion *string `json:"typeHandlerVersion" tf:"type_handler_version,omitempty"`
}

func (*ExtensionParameters) DeepCopy

func (in *ExtensionParameters) DeepCopy() *ExtensionParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionParameters.

func (*ExtensionParameters) DeepCopyInto

func (in *ExtensionParameters) DeepCopyInto(out *ExtensionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionProtectedSettingsFromKeyVaultInitParameters

type ExtensionProtectedSettingsFromKeyVaultInitParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*ExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionProtectedSettingsFromKeyVaultInitParameters.

func (*ExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionProtectedSettingsFromKeyVaultObservation

type ExtensionProtectedSettingsFromKeyVaultObservation struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*ExtensionProtectedSettingsFromKeyVaultObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionProtectedSettingsFromKeyVaultObservation.

func (*ExtensionProtectedSettingsFromKeyVaultObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionProtectedSettingsFromKeyVaultParameters

type ExtensionProtectedSettingsFromKeyVaultParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*ExtensionProtectedSettingsFromKeyVaultParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionProtectedSettingsFromKeyVaultParameters.

func (*ExtensionProtectedSettingsFromKeyVaultParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationInitParameters

type GalleryApplicationInitParameters struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*GalleryApplicationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationInitParameters.

func (*GalleryApplicationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationObservation

type GalleryApplicationObservation struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*GalleryApplicationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationObservation.

func (*GalleryApplicationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationParameters

type GalleryApplicationParameters struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	// +kubebuilder:validation:Optional
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	// +kubebuilder:validation:Optional
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	// +kubebuilder:validation:Optional
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	// +kubebuilder:validation:Optional
	VersionID *string `json:"versionId" tf:"version_id,omitempty"`
}

func (*GalleryApplicationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationParameters.

func (*GalleryApplicationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationVersion

type GalleryApplicationVersion struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.manageAction) || (has(self.initProvider) && has(self.initProvider.manageAction))",message="spec.forProvider.manageAction is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.source) || (has(self.initProvider) && has(self.initProvider.source))",message="spec.forProvider.source is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetRegion) || (has(self.initProvider) && has(self.initProvider.targetRegion))",message="spec.forProvider.targetRegion is a required parameter"
	Spec   GalleryApplicationVersionSpec   `json:"spec"`
	Status GalleryApplicationVersionStatus `json:"status,omitempty"`
}

GalleryApplicationVersion is the Schema for the GalleryApplicationVersions API. Manages a Gallery Application Version. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*GalleryApplicationVersion) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersion.

func (*GalleryApplicationVersion) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GalleryApplicationVersion) DeepCopyObject

func (in *GalleryApplicationVersion) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GalleryApplicationVersion) GetCondition

GetCondition of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) GetConnectionDetailsMapping

func (tr *GalleryApplicationVersion) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetDeletionPolicy

func (mg *GalleryApplicationVersion) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) GetID

func (tr *GalleryApplicationVersion) GetID() string

GetID returns ID of underlying Terraform resource of this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetInitParameters

func (tr *GalleryApplicationVersion) GetInitParameters() (map[string]any, error)

GetInitParameters of this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetManagementPolicies

func (mg *GalleryApplicationVersion) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) GetMergedParameters

func (tr *GalleryApplicationVersion) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetObservation

func (tr *GalleryApplicationVersion) GetObservation() (map[string]any, error)

GetObservation of this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetParameters

func (tr *GalleryApplicationVersion) GetParameters() (map[string]any, error)

GetParameters of this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetProviderConfigReference

func (mg *GalleryApplicationVersion) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) GetPublishConnectionDetailsTo

func (mg *GalleryApplicationVersion) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) GetTerraformResourceType

func (mg *GalleryApplicationVersion) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this GalleryApplicationVersion

func (*GalleryApplicationVersion) GetTerraformSchemaVersion

func (tr *GalleryApplicationVersion) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*GalleryApplicationVersion) GetWriteConnectionSecretToReference

func (mg *GalleryApplicationVersion) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) Hub

func (tr *GalleryApplicationVersion) Hub()

Hub marks this type as a conversion hub.

func (*GalleryApplicationVersion) LateInitialize

func (tr *GalleryApplicationVersion) LateInitialize(attrs []byte) (bool, error)

LateInitialize this GalleryApplicationVersion using its observed tfState. returns True if there are any spec changes for the resource.

func (*GalleryApplicationVersion) ResolveReferences

func (mg *GalleryApplicationVersion) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetConditions

func (mg *GalleryApplicationVersion) SetConditions(c ...xpv1.Condition)

SetConditions of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetDeletionPolicy

func (mg *GalleryApplicationVersion) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetManagementPolicies

func (mg *GalleryApplicationVersion) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetObservation

func (tr *GalleryApplicationVersion) SetObservation(obs map[string]any) error

SetObservation for this GalleryApplicationVersion

func (*GalleryApplicationVersion) SetParameters

func (tr *GalleryApplicationVersion) SetParameters(params map[string]any) error

SetParameters for this GalleryApplicationVersion

func (*GalleryApplicationVersion) SetProviderConfigReference

func (mg *GalleryApplicationVersion) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetPublishConnectionDetailsTo

func (mg *GalleryApplicationVersion) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this GalleryApplicationVersion.

func (*GalleryApplicationVersion) SetWriteConnectionSecretToReference

func (mg *GalleryApplicationVersion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this GalleryApplicationVersion.

type GalleryApplicationVersionInitParameters

type GalleryApplicationVersionInitParameters struct {

	// Specifies the name of the config file on the VM. Changing this forces a new resource to be created.
	ConfigFile *string `json:"configFile,omitempty" tf:"config_file,omitempty"`

	// Should the Gallery Application reports health. Defaults to false.
	EnableHealthCheck *bool `json:"enableHealthCheck,omitempty" tf:"enable_health_check,omitempty"`

	// The end of life date in RFC3339 format of the Gallery Application Version.
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// Should the Gallery Application Version be excluded from the latest filter? If set to true this Gallery Application Version won't be returned for the latest version. Defaults to false.
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The ID of the Gallery Application. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.GalleryApplication
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	GalleryApplicationID *string `json:"galleryApplicationId,omitempty" tf:"gallery_application_id,omitempty"`

	// Reference to a GalleryApplication in compute to populate galleryApplicationId.
	// +kubebuilder:validation:Optional
	GalleryApplicationIDRef *v1.Reference `json:"galleryApplicationIdRef,omitempty" tf:"-"`

	// Selector for a GalleryApplication in compute to populate galleryApplicationId.
	// +kubebuilder:validation:Optional
	GalleryApplicationIDSelector *v1.Selector `json:"galleryApplicationIdSelector,omitempty" tf:"-"`

	// The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A manage_action block as defined below.
	ManageAction *ManageActionInitParameters `json:"manageAction,omitempty" tf:"manage_action,omitempty"`

	// The version name of the Gallery Application Version, such as 1.0.0. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the name of the package file on the VM. Changing this forces a new resource to be created.
	PackageFile *string `json:"packageFile,omitempty" tf:"package_file,omitempty"`

	// A source block as defined below.
	Source *SourceInitParameters `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags to assign to the Gallery Application Version.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One or more target_region blocks as defined below.
	TargetRegion []TargetRegionInitParameters `json:"targetRegion,omitempty" tf:"target_region,omitempty"`
}

func (*GalleryApplicationVersionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionInitParameters.

func (*GalleryApplicationVersionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationVersionList

type GalleryApplicationVersionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GalleryApplicationVersion `json:"items"`
}

GalleryApplicationVersionList contains a list of GalleryApplicationVersions

func (*GalleryApplicationVersionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionList.

func (*GalleryApplicationVersionList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GalleryApplicationVersionList) DeepCopyObject

func (in *GalleryApplicationVersionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GalleryApplicationVersionList) GetItems

GetItems of this GalleryApplicationVersionList.

type GalleryApplicationVersionObservation

type GalleryApplicationVersionObservation struct {

	// Specifies the name of the config file on the VM. Changing this forces a new resource to be created.
	ConfigFile *string `json:"configFile,omitempty" tf:"config_file,omitempty"`

	// Should the Gallery Application reports health. Defaults to false.
	EnableHealthCheck *bool `json:"enableHealthCheck,omitempty" tf:"enable_health_check,omitempty"`

	// The end of life date in RFC3339 format of the Gallery Application Version.
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// Should the Gallery Application Version be excluded from the latest filter? If set to true this Gallery Application Version won't be returned for the latest version. Defaults to false.
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The ID of the Gallery Application. Changing this forces a new resource to be created.
	GalleryApplicationID *string `json:"galleryApplicationId,omitempty" tf:"gallery_application_id,omitempty"`

	// The ID of the Gallery Application Version.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A manage_action block as defined below.
	ManageAction *ManageActionObservation `json:"manageAction,omitempty" tf:"manage_action,omitempty"`

	// The version name of the Gallery Application Version, such as 1.0.0. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the name of the package file on the VM. Changing this forces a new resource to be created.
	PackageFile *string `json:"packageFile,omitempty" tf:"package_file,omitempty"`

	// A source block as defined below.
	Source *SourceObservation `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags to assign to the Gallery Application Version.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One or more target_region blocks as defined below.
	TargetRegion []TargetRegionObservation `json:"targetRegion,omitempty" tf:"target_region,omitempty"`
}

func (*GalleryApplicationVersionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionObservation.

func (*GalleryApplicationVersionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationVersionParameters

type GalleryApplicationVersionParameters struct {

	// Specifies the name of the config file on the VM. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ConfigFile *string `json:"configFile,omitempty" tf:"config_file,omitempty"`

	// Should the Gallery Application reports health. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableHealthCheck *bool `json:"enableHealthCheck,omitempty" tf:"enable_health_check,omitempty"`

	// The end of life date in RFC3339 format of the Gallery Application Version.
	// +kubebuilder:validation:Optional
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// Should the Gallery Application Version be excluded from the latest filter? If set to true this Gallery Application Version won't be returned for the latest version. Defaults to false.
	// +kubebuilder:validation:Optional
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The ID of the Gallery Application. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.GalleryApplication
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	GalleryApplicationID *string `json:"galleryApplicationId,omitempty" tf:"gallery_application_id,omitempty"`

	// Reference to a GalleryApplication in compute to populate galleryApplicationId.
	// +kubebuilder:validation:Optional
	GalleryApplicationIDRef *v1.Reference `json:"galleryApplicationIdRef,omitempty" tf:"-"`

	// Selector for a GalleryApplication in compute to populate galleryApplicationId.
	// +kubebuilder:validation:Optional
	GalleryApplicationIDSelector *v1.Selector `json:"galleryApplicationIdSelector,omitempty" tf:"-"`

	// The Azure Region where the Gallery Application Version exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A manage_action block as defined below.
	// +kubebuilder:validation:Optional
	ManageAction *ManageActionParameters `json:"manageAction,omitempty" tf:"manage_action,omitempty"`

	// The version name of the Gallery Application Version, such as 1.0.0. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the name of the package file on the VM. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PackageFile *string `json:"packageFile,omitempty" tf:"package_file,omitempty"`

	// A source block as defined below.
	// +kubebuilder:validation:Optional
	Source *SourceParameters `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags to assign to the Gallery Application Version.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// One or more target_region blocks as defined below.
	// +kubebuilder:validation:Optional
	TargetRegion []TargetRegionParameters `json:"targetRegion,omitempty" tf:"target_region,omitempty"`
}

func (*GalleryApplicationVersionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionParameters.

func (*GalleryApplicationVersionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationVersionSpec

type GalleryApplicationVersionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GalleryApplicationVersionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider GalleryApplicationVersionInitParameters `json:"initProvider,omitempty"`
}

GalleryApplicationVersionSpec defines the desired state of GalleryApplicationVersion

func (*GalleryApplicationVersionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionSpec.

func (*GalleryApplicationVersionSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationVersionStatus

type GalleryApplicationVersionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GalleryApplicationVersionObservation `json:"atProvider,omitempty"`
}

GalleryApplicationVersionStatus defines the observed state of GalleryApplicationVersion.

func (*GalleryApplicationVersionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationVersionStatus.

func (*GalleryApplicationVersionStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationsInitParameters

type GalleryApplicationsInitParameters struct {
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Linux Virtual Machine Scale Set.
	PackageReferenceID *string `json:"packageReferenceId,omitempty" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*GalleryApplicationsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationsInitParameters.

func (*GalleryApplicationsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationsObservation

type GalleryApplicationsObservation struct {
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Linux Virtual Machine Scale Set.
	PackageReferenceID *string `json:"packageReferenceId,omitempty" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*GalleryApplicationsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationsObservation.

func (*GalleryApplicationsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GalleryApplicationsParameters

type GalleryApplicationsParameters struct {

	// +kubebuilder:validation:Optional
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Linux Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	PackageReferenceID *string `json:"packageReferenceId" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*GalleryApplicationsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GalleryApplicationsParameters.

func (*GalleryApplicationsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationInitParameters

type IPConfigurationInitParameters struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []PublicIPAddressInitParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationInitParameters.

func (*IPConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationObservation

type IPConfigurationObservation struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []PublicIPAddressObservation `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationObservation.

func (*IPConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationParameters

type IPConfigurationParameters struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	// +kubebuilder:validation:Optional
	PublicIPAddress []PublicIPAddressParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationParameters.

func (*IPConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressIPTagInitParameters

type IPConfigurationPublicIPAddressIPTagInitParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPConfigurationPublicIPAddressIPTagInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressIPTagInitParameters.

func (*IPConfigurationPublicIPAddressIPTagInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressIPTagObservation

type IPConfigurationPublicIPAddressIPTagObservation struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPConfigurationPublicIPAddressIPTagObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressIPTagObservation.

func (*IPConfigurationPublicIPAddressIPTagObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressIPTagParameters

type IPConfigurationPublicIPAddressIPTagParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*IPConfigurationPublicIPAddressIPTagParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressIPTagParameters.

func (*IPConfigurationPublicIPAddressIPTagParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressInitParameters

type IPConfigurationPublicIPAddressInitParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []PublicIPAddressIPTagInitParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationPublicIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressInitParameters.

func (*IPConfigurationPublicIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressObservation

type IPConfigurationPublicIPAddressObservation struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []PublicIPAddressIPTagObservation `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationPublicIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressObservation.

func (*IPConfigurationPublicIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConfigurationPublicIPAddressParameters

type IPConfigurationPublicIPAddressParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
	// +kubebuilder:validation:Optional
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	IPTag []PublicIPAddressIPTagParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	// +kubebuilder:validation:Optional
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	// +kubebuilder:validation:Optional
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*IPConfigurationPublicIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfigurationPublicIPAddressParameters.

func (*IPConfigurationPublicIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPTagInitParameters

type IPTagInitParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPTagInitParameters) DeepCopy

func (in *IPTagInitParameters) DeepCopy() *IPTagInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTagInitParameters.

func (*IPTagInitParameters) DeepCopyInto

func (in *IPTagInitParameters) DeepCopyInto(out *IPTagInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPTagObservation

type IPTagObservation struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IPTagObservation) DeepCopy

func (in *IPTagObservation) DeepCopy() *IPTagObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTagObservation.

func (*IPTagObservation) DeepCopyInto

func (in *IPTagObservation) DeepCopyInto(out *IPTagObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPTagParameters

type IPTagParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*IPTagParameters) DeepCopy

func (in *IPTagParameters) DeepCopy() *IPTagParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTagParameters.

func (*IPTagParameters) DeepCopyInto

func (in *IPTagParameters) DeepCopyInto(out *IPTagParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentifierInitParameters

type IdentifierInitParameters struct {

	// The Offer Name for this Shared Image. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// The Publisher Name for this Gallery Image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// The Name of the SKU for this Gallery Image. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`
}

func (*IdentifierInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentifierInitParameters.

func (*IdentifierInitParameters) DeepCopyInto

func (in *IdentifierInitParameters) DeepCopyInto(out *IdentifierInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentifierObservation

type IdentifierObservation struct {

	// The Offer Name for this Shared Image. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// The Publisher Name for this Gallery Image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// The Name of the SKU for this Gallery Image. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`
}

func (*IdentifierObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentifierObservation.

func (*IdentifierObservation) DeepCopyInto

func (in *IdentifierObservation) DeepCopyInto(out *IdentifierObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentifierParameters

type IdentifierParameters struct {

	// The Offer Name for this Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// The Publisher Name for this Gallery Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// The Name of the SKU for this Gallery Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`
}

func (*IdentifierParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentifierParameters.

func (*IdentifierParameters) DeepCopyInto

func (in *IdentifierParameters) DeepCopyInto(out *IdentifierParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityInitParameters

type IdentityInitParameters struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Disk Encryption Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The type of Managed Service Identity that is configured on this Disk Encryption Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityInitParameters.

func (*IdentityInitParameters) DeepCopyInto

func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityObservation

type IdentityObservation struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Disk Encryption Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The (Client) ID of the Service Principal.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The ID of the Tenant the Service Principal is assigned in.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// The type of Managed Service Identity that is configured on this Disk Encryption Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityObservation) DeepCopy

func (in *IdentityObservation) DeepCopy() *IdentityObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityObservation.

func (*IdentityObservation) DeepCopyInto

func (in *IdentityObservation) DeepCopyInto(out *IdentityObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityParameters

type IdentityParameters struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Disk Encryption Set.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The type of Managed Service Identity that is configured on this Disk Encryption Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*IdentityParameters) DeepCopy

func (in *IdentityParameters) DeepCopy() *IdentityParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityParameters.

func (*IdentityParameters) DeepCopyInto

func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image

type Image struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	Spec   ImageSpec   `json:"spec"`
	Status ImageStatus `json:"status,omitempty"`
}

Image is the Schema for the Images API. Manages a custom virtual machine image that can be used to create virtual machines. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Image) DeepCopyObject

func (in *Image) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Image) GetCondition

func (mg *Image) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Image.

func (*Image) GetConnectionDetailsMapping

func (tr *Image) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Image

func (*Image) GetDeletionPolicy

func (mg *Image) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Image.

func (*Image) GetID

func (tr *Image) GetID() string

GetID returns ID of underlying Terraform resource of this Image

func (*Image) GetInitParameters

func (tr *Image) GetInitParameters() (map[string]any, error)

GetInitParameters of this Image

func (*Image) GetManagementPolicies

func (mg *Image) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Image.

func (*Image) GetMergedParameters

func (tr *Image) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Image

func (*Image) GetObservation

func (tr *Image) GetObservation() (map[string]any, error)

GetObservation of this Image

func (*Image) GetParameters

func (tr *Image) GetParameters() (map[string]any, error)

GetParameters of this Image

func (*Image) GetProviderConfigReference

func (mg *Image) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Image.

func (*Image) GetPublishConnectionDetailsTo

func (mg *Image) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Image.

func (*Image) GetTerraformResourceType

func (mg *Image) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Image

func (*Image) GetTerraformSchemaVersion

func (tr *Image) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Image) GetWriteConnectionSecretToReference

func (mg *Image) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Image.

func (*Image) Hub

func (tr *Image) Hub()

Hub marks this type as a conversion hub.

func (*Image) LateInitialize

func (tr *Image) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Image using its observed tfState. returns True if there are any spec changes for the resource.

func (*Image) ResolveReferences

func (mg *Image) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Image.

func (*Image) SetConditions

func (mg *Image) SetConditions(c ...xpv1.Condition)

SetConditions of this Image.

func (*Image) SetDeletionPolicy

func (mg *Image) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Image.

func (*Image) SetManagementPolicies

func (mg *Image) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Image.

func (*Image) SetObservation

func (tr *Image) SetObservation(obs map[string]any) error

SetObservation for this Image

func (*Image) SetParameters

func (tr *Image) SetParameters(params map[string]any) error

SetParameters for this Image

func (*Image) SetProviderConfigReference

func (mg *Image) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Image.

func (*Image) SetPublishConnectionDetailsTo

func (mg *Image) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Image.

func (*Image) SetWriteConnectionSecretToReference

func (mg *Image) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Image.

type ImageInitParameters

type ImageInitParameters struct {

	// One or more data_disk blocks as defined below.
	DataDisk []DataDiskInitParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. Defaults to V1. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// One or more os_disk blocks as defined below. Changing this forces a new resource to be created.
	OsDisk *OsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// The Virtual Machine ID from which to create the image.
	SourceVirtualMachineID *string `json:"sourceVirtualMachineId,omitempty" tf:"source_virtual_machine_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.
	ZoneResilient *bool `json:"zoneResilient,omitempty" tf:"zone_resilient,omitempty"`
}

func (*ImageInitParameters) DeepCopy

func (in *ImageInitParameters) DeepCopy() *ImageInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageInitParameters.

func (*ImageInitParameters) DeepCopyInto

func (in *ImageInitParameters) DeepCopyInto(out *ImageInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageList

type ImageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Image `json:"items"`
}

ImageList contains a list of Images

func (*ImageList) DeepCopy

func (in *ImageList) DeepCopy() *ImageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList.

func (*ImageList) DeepCopyInto

func (in *ImageList) DeepCopyInto(out *ImageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageList) DeepCopyObject

func (in *ImageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ImageList) GetItems

func (l *ImageList) GetItems() []resource.Managed

GetItems of this ImageList.

type ImageObservation

type ImageObservation struct {

	// One or more data_disk blocks as defined below.
	DataDisk []DataDiskObservation `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. Defaults to V1. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// The ID of the Image.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// One or more os_disk blocks as defined below. Changing this forces a new resource to be created.
	OsDisk *OsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// The name of the resource group in which to create the image. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// The Virtual Machine ID from which to create the image.
	SourceVirtualMachineID *string `json:"sourceVirtualMachineId,omitempty" tf:"source_virtual_machine_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.
	ZoneResilient *bool `json:"zoneResilient,omitempty" tf:"zone_resilient,omitempty"`
}

func (*ImageObservation) DeepCopy

func (in *ImageObservation) DeepCopy() *ImageObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageObservation.

func (*ImageObservation) DeepCopyInto

func (in *ImageObservation) DeepCopyInto(out *ImageObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageParameters

type ImageParameters struct {

	// One or more data_disk blocks as defined below.
	// +kubebuilder:validation:Optional
	DataDisk []DataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. Defaults to V1. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// One or more os_disk blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OsDisk *OsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// The name of the resource group in which to create the image. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// The Virtual Machine ID from which to create the image.
	// +kubebuilder:validation:Optional
	SourceVirtualMachineID *string `json:"sourceVirtualMachineId,omitempty" tf:"source_virtual_machine_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ZoneResilient *bool `json:"zoneResilient,omitempty" tf:"zone_resilient,omitempty"`
}

func (*ImageParameters) DeepCopy

func (in *ImageParameters) DeepCopy() *ImageParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageParameters.

func (*ImageParameters) DeepCopyInto

func (in *ImageParameters) DeepCopyInto(out *ImageParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageSpec

type ImageSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ImageParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ImageInitParameters `json:"initProvider,omitempty"`
}

ImageSpec defines the desired state of Image

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageStatus

type ImageStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ImageObservation `json:"atProvider,omitempty"`
}

ImageStatus defines the observed state of Image.

func (*ImageStatus) DeepCopy

func (in *ImageStatus) DeepCopy() *ImageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus.

func (*ImageStatus) DeepCopyInto

func (in *ImageStatus) DeepCopyInto(out *ImageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceViewInitParameters

type InstanceViewInitParameters struct {
}

func (*InstanceViewInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewInitParameters.

func (*InstanceViewInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceViewObservation

type InstanceViewObservation struct {
	EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`

	ErrorMessage *string `json:"errorMessage,omitempty" tf:"error_message,omitempty"`

	ExecutionMessage *string `json:"executionMessage,omitempty" tf:"execution_message,omitempty"`

	ExecutionState *string `json:"executionState,omitempty" tf:"execution_state,omitempty"`

	ExitCode *float64 `json:"exitCode,omitempty" tf:"exit_code,omitempty"`

	Output *string `json:"output,omitempty" tf:"output,omitempty"`

	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*InstanceViewObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewObservation.

func (*InstanceViewObservation) DeepCopyInto

func (in *InstanceViewObservation) DeepCopyInto(out *InstanceViewObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceViewParameters

type InstanceViewParameters struct {
}

func (*InstanceViewParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewParameters.

func (*InstanceViewParameters) DeepCopyInto

func (in *InstanceViewParameters) DeepCopyInto(out *InstanceViewParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeyEncryptionKeyInitParameters

type KeyEncryptionKeyInitParameters struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	KeyURL *string `json:"keyUrl,omitempty" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*KeyEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyEncryptionKeyInitParameters.

func (*KeyEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeyEncryptionKeyObservation

type KeyEncryptionKeyObservation struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	KeyURL *string `json:"keyUrl,omitempty" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*KeyEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyEncryptionKeyObservation.

func (*KeyEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeyEncryptionKeyParameters

type KeyEncryptionKeyParameters struct {

	// The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azurerm_key_vault_key resource.
	// +kubebuilder:validation:Optional
	KeyURL *string `json:"keyUrl" tf:"key_url,omitempty"`

	// The ID of the source Key Vault. This can be found as id on the azurerm_key_vault resource.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*KeyEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyEncryptionKeyParameters.

func (*KeyEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationAdminSSHKeyInitParameters

type LinuxConfigurationAdminSSHKeyInitParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*LinuxConfigurationAdminSSHKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationAdminSSHKeyInitParameters.

func (*LinuxConfigurationAdminSSHKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationAdminSSHKeyObservation

type LinuxConfigurationAdminSSHKeyObservation struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*LinuxConfigurationAdminSSHKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationAdminSSHKeyObservation.

func (*LinuxConfigurationAdminSSHKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationAdminSSHKeyParameters

type LinuxConfigurationAdminSSHKeyParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	// +kubebuilder:validation:Optional
	Username *string `json:"username" tf:"username,omitempty"`
}

func (*LinuxConfigurationAdminSSHKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationAdminSSHKeyParameters.

func (*LinuxConfigurationAdminSSHKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationInitParameters

type LinuxConfigurationInitParameters struct {

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// A admin_ssh_key block as documented below.
	AdminSSHKey []LinuxConfigurationAdminSSHKeyInitParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	Secret []LinuxConfigurationSecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`
}

func (*LinuxConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationInitParameters.

func (*LinuxConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationObservation

type LinuxConfigurationObservation struct {

	// A admin_ssh_key block as documented below.
	AdminSSHKey []LinuxConfigurationAdminSSHKeyObservation `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	Secret []LinuxConfigurationSecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`
}

func (*LinuxConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationObservation.

func (*LinuxConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationParameters

type LinuxConfigurationParameters struct {

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// A admin_ssh_key block as documented below.
	// +kubebuilder:validation:Optional
	AdminSSHKey []LinuxConfigurationAdminSSHKeyParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.
	// +kubebuilder:validation:Optional
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	// +kubebuilder:validation:Optional
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	// +kubebuilder:validation:Optional
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []LinuxConfigurationSecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`
}

func (*LinuxConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationParameters.

func (*LinuxConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretCertificateInitParameters

type LinuxConfigurationSecretCertificateInitParameters struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*LinuxConfigurationSecretCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretCertificateInitParameters.

func (*LinuxConfigurationSecretCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretCertificateObservation

type LinuxConfigurationSecretCertificateObservation struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*LinuxConfigurationSecretCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretCertificateObservation.

func (*LinuxConfigurationSecretCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretCertificateParameters

type LinuxConfigurationSecretCertificateParameters struct {

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*LinuxConfigurationSecretCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretCertificateParameters.

func (*LinuxConfigurationSecretCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretInitParameters

type LinuxConfigurationSecretInitParameters struct {

	// One or more certificate blocks as defined below.
	Certificate []LinuxConfigurationSecretCertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*LinuxConfigurationSecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretInitParameters.

func (*LinuxConfigurationSecretInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretObservation

type LinuxConfigurationSecretObservation struct {

	// One or more certificate blocks as defined below.
	Certificate []LinuxConfigurationSecretCertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*LinuxConfigurationSecretObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretObservation.

func (*LinuxConfigurationSecretObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxConfigurationSecretParameters

type LinuxConfigurationSecretParameters struct {

	// One or more certificate blocks as defined below.
	// +kubebuilder:validation:Optional
	Certificate []LinuxConfigurationSecretCertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*LinuxConfigurationSecretParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxConfigurationSecretParameters.

func (*LinuxConfigurationSecretParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachine

type LinuxVirtualMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminUsername) || (has(self.initProvider) && has(self.initProvider.adminUsername))",message="spec.forProvider.adminUsername is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.osDisk) || (has(self.initProvider) && has(self.initProvider.osDisk))",message="spec.forProvider.osDisk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.size) || (has(self.initProvider) && has(self.initProvider.size))",message="spec.forProvider.size is a required parameter"
	Spec   LinuxVirtualMachineSpec   `json:"spec"`
	Status LinuxVirtualMachineStatus `json:"status,omitempty"`
}

LinuxVirtualMachine is the Schema for the LinuxVirtualMachines API. Manages a Linux Virtual Machine. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*LinuxVirtualMachine) DeepCopy

func (in *LinuxVirtualMachine) DeepCopy() *LinuxVirtualMachine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachine.

func (*LinuxVirtualMachine) DeepCopyInto

func (in *LinuxVirtualMachine) DeepCopyInto(out *LinuxVirtualMachine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LinuxVirtualMachine) DeepCopyObject

func (in *LinuxVirtualMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LinuxVirtualMachine) GetCondition

func (mg *LinuxVirtualMachine) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) GetConnectionDetailsMapping

func (tr *LinuxVirtualMachine) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetDeletionPolicy

func (mg *LinuxVirtualMachine) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) GetID

func (tr *LinuxVirtualMachine) GetID() string

GetID returns ID of underlying Terraform resource of this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetInitParameters

func (tr *LinuxVirtualMachine) GetInitParameters() (map[string]any, error)

GetInitParameters of this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetManagementPolicies

func (mg *LinuxVirtualMachine) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) GetMergedParameters

func (tr *LinuxVirtualMachine) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetObservation

func (tr *LinuxVirtualMachine) GetObservation() (map[string]any, error)

GetObservation of this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetParameters

func (tr *LinuxVirtualMachine) GetParameters() (map[string]any, error)

GetParameters of this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetProviderConfigReference

func (mg *LinuxVirtualMachine) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) GetPublishConnectionDetailsTo

func (mg *LinuxVirtualMachine) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) GetTerraformResourceType

func (mg *LinuxVirtualMachine) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this LinuxVirtualMachine

func (*LinuxVirtualMachine) GetTerraformSchemaVersion

func (tr *LinuxVirtualMachine) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*LinuxVirtualMachine) GetWriteConnectionSecretToReference

func (mg *LinuxVirtualMachine) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) Hub

func (tr *LinuxVirtualMachine) Hub()

Hub marks this type as a conversion hub.

func (*LinuxVirtualMachine) LateInitialize

func (tr *LinuxVirtualMachine) LateInitialize(attrs []byte) (bool, error)

LateInitialize this LinuxVirtualMachine using its observed tfState. returns True if there are any spec changes for the resource.

func (*LinuxVirtualMachine) ResolveReferences

func (mg *LinuxVirtualMachine) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetConditions

func (mg *LinuxVirtualMachine) SetConditions(c ...xpv1.Condition)

SetConditions of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetDeletionPolicy

func (mg *LinuxVirtualMachine) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetManagementPolicies

func (mg *LinuxVirtualMachine) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetObservation

func (tr *LinuxVirtualMachine) SetObservation(obs map[string]any) error

SetObservation for this LinuxVirtualMachine

func (*LinuxVirtualMachine) SetParameters

func (tr *LinuxVirtualMachine) SetParameters(params map[string]any) error

SetParameters for this LinuxVirtualMachine

func (*LinuxVirtualMachine) SetProviderConfigReference

func (mg *LinuxVirtualMachine) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetPublishConnectionDetailsTo

func (mg *LinuxVirtualMachine) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this LinuxVirtualMachine.

func (*LinuxVirtualMachine) SetWriteConnectionSecretToReference

func (mg *LinuxVirtualMachine) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this LinuxVirtualMachine.

type LinuxVirtualMachineIdentityInitParameters

type LinuxVirtualMachineIdentityInitParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineIdentityInitParameters.

func (*LinuxVirtualMachineIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineIdentityObservation

type LinuxVirtualMachineIdentityObservation struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Principal ID associated with this Managed Service Identity.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Tenant ID associated with this Managed Service Identity.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineIdentityObservation.

func (*LinuxVirtualMachineIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineIdentityParameters

type LinuxVirtualMachineIdentityParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineIdentityParameters.

func (*LinuxVirtualMachineIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineInitParameters

type LinuxVirtualMachineInitParameters struct {

	// A additional_capabilities block as defined below.
	AdditionalCapabilities *AdditionalCapabilitiesInitParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// One or more admin_ssh_key blocks as defined below. Changing this forces a new resource to be created.
	AdminSSHKey []AdminSSHKeyInitParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *BootDiagnosticsInitParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []GalleryApplicationInitParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// An identity block as documented below.
	Identity *LinuxVirtualMachineIdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS, RHEL_BASE, RHEL_EUS, RHEL_SAPAPPS, RHEL_SAPHA, RHEL_BASESAPAPPS, RHEL_BASESAPHA, SLES_BYOS, SLES_SAP, SLES_HPC.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.NetworkInterface
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// References to NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsRefs []v1.Reference `json:"networkInterfaceIdsRefs,omitempty" tf:"-"`

	// Selector for a list of NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsSelector *v1.Selector `json:"networkInterfaceIdsSelector,omitempty" tf:"-"`

	// A os_disk block as defined below.
	OsDisk *LinuxVirtualMachineOsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	OsImageNotification *OsImageNotificationInitParameters `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are AutomaticByPlatform and ImageDefault. Defaults to ImageDefault. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *PlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// One or more secret blocks as defined below.
	Secret []SecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	SourceImageReference *SourceImageReferenceInitParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *TerminationNotificationInitParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*LinuxVirtualMachineInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineInitParameters.

func (*LinuxVirtualMachineInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineList

type LinuxVirtualMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LinuxVirtualMachine `json:"items"`
}

LinuxVirtualMachineList contains a list of LinuxVirtualMachines

func (*LinuxVirtualMachineList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineList.

func (*LinuxVirtualMachineList) DeepCopyInto

func (in *LinuxVirtualMachineList) DeepCopyInto(out *LinuxVirtualMachineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LinuxVirtualMachineList) DeepCopyObject

func (in *LinuxVirtualMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LinuxVirtualMachineList) GetItems

func (l *LinuxVirtualMachineList) GetItems() []resource.Managed

GetItems of this LinuxVirtualMachineList.

type LinuxVirtualMachineObservation

type LinuxVirtualMachineObservation struct {

	// A additional_capabilities block as defined below.
	AdditionalCapabilities *AdditionalCapabilitiesObservation `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more admin_ssh_key blocks as defined below. Changing this forces a new resource to be created.
	AdminSSHKey []AdminSSHKeyObservation `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *BootDiagnosticsObservation `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []GalleryApplicationObservation `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// The ID of the Linux Virtual Machine.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as documented below.
	Identity *LinuxVirtualMachineIdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS, RHEL_BASE, RHEL_EUS, RHEL_SAPAPPS, RHEL_SAPHA, RHEL_BASESAPAPPS, RHEL_BASESAPHA, SLES_BYOS, SLES_SAP, SLES_HPC.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// A os_disk block as defined below.
	OsDisk *LinuxVirtualMachineOsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	OsImageNotification *OsImageNotificationObservation `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are AutomaticByPlatform and ImageDefault. Defaults to ImageDefault. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *PlanObservation `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// The Primary Private IP Address assigned to this Virtual Machine.
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// A list of Private IP Addresses assigned to this Virtual Machine.
	PrivateIPAddresses []*string `json:"privateIpAddresses,omitempty" tf:"private_ip_addresses,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The Primary Public IP Address assigned to this Virtual Machine.
	PublicIPAddress *string `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// A list of the Public IP Addresses assigned to this Virtual Machine.
	PublicIPAddresses []*string `json:"publicIpAddresses,omitempty" tf:"public_ip_addresses,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// One or more secret blocks as defined below.
	Secret []SecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	SourceImageReference *SourceImageReferenceObservation `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *TerminationNotificationObservation `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// A 128-bit identifier which uniquely identifies this Virtual Machine.
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*LinuxVirtualMachineObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineObservation.

func (*LinuxVirtualMachineObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineOsDiskInitParameters

type LinuxVirtualMachineOsDiskInitParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *DiffDiskSettingsInitParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineOsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineOsDiskInitParameters.

func (*LinuxVirtualMachineOsDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineOsDiskObservation

type LinuxVirtualMachineOsDiskObservation struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *DiffDiskSettingsObservation `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineOsDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineOsDiskObservation.

func (*LinuxVirtualMachineOsDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineOsDiskParameters

type LinuxVirtualMachineOsDiskParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiffDiskSettings *DiffDiskSettingsParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineOsDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineOsDiskParameters.

func (*LinuxVirtualMachineOsDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineParameters

type LinuxVirtualMachineParameters struct {

	// A additional_capabilities block as defined below.
	// +kubebuilder:validation:Optional
	AdditionalCapabilities *AdditionalCapabilitiesParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// One or more admin_ssh_key blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminSSHKey []AdminSSHKeyParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	// +kubebuilder:validation:Optional
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	// +kubebuilder:validation:Optional
	BootDiagnostics *BootDiagnosticsParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	// +kubebuilder:validation:Optional
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
	// +kubebuilder:validation:Optional
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	// +kubebuilder:validation:Optional
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	// +kubebuilder:validation:Optional
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	// +kubebuilder:validation:Optional
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	// +kubebuilder:validation:Optional
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	// +kubebuilder:validation:Optional
	GalleryApplication []GalleryApplicationParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// An identity block as documented below.
	// +kubebuilder:validation:Optional
	Identity *LinuxVirtualMachineIdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS, RHEL_BASE, RHEL_EUS, RHEL_SAPAPPS, RHEL_SAPHA, RHEL_BASESAPAPPS, RHEL_BASESAPHA, SLES_BYOS, SLES_SAP, SLES_HPC.
	// +kubebuilder:validation:Optional
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.NetworkInterface
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// References to NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsRefs []v1.Reference `json:"networkInterfaceIdsRefs,omitempty" tf:"-"`

	// Selector for a list of NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsSelector *v1.Selector `json:"networkInterfaceIdsSelector,omitempty" tf:"-"`

	// A os_disk block as defined below.
	// +kubebuilder:validation:Optional
	OsDisk *LinuxVirtualMachineOsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	// +kubebuilder:validation:Optional
	OsImageNotification *OsImageNotificationParameters `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	// +kubebuilder:validation:Optional
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are AutomaticByPlatform and ImageDefault. Defaults to ImageDefault. For more information on patch modes please see the product documentation.
	// +kubebuilder:validation:Optional
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Plan *PlanParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	// +kubebuilder:validation:Optional
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []SecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	// +kubebuilder:validation:Optional
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	// +kubebuilder:validation:Optional
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SourceImageReference *SourceImageReferenceParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminationNotification *TerminationNotificationParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	// +kubebuilder:validation:Optional
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	// +kubebuilder:validation:Optional
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*LinuxVirtualMachineParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineParameters.

func (*LinuxVirtualMachineParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSet

type LinuxVirtualMachineScaleSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminUsername) || (has(self.initProvider) && has(self.initProvider.adminUsername))",message="spec.forProvider.adminUsername is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.networkInterface) || (has(self.initProvider) && has(self.initProvider.networkInterface))",message="spec.forProvider.networkInterface is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.osDisk) || (has(self.initProvider) && has(self.initProvider.osDisk))",message="spec.forProvider.osDisk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sku) || (has(self.initProvider) && has(self.initProvider.sku))",message="spec.forProvider.sku is a required parameter"
	Spec   LinuxVirtualMachineScaleSetSpec   `json:"spec"`
	Status LinuxVirtualMachineScaleSetStatus `json:"status,omitempty"`
}

LinuxVirtualMachineScaleSet is the Schema for the LinuxVirtualMachineScaleSets API. Manages a Linux Virtual Machine Scale Set. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*LinuxVirtualMachineScaleSet) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LinuxVirtualMachineScaleSet) DeepCopyObject

func (in *LinuxVirtualMachineScaleSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LinuxVirtualMachineScaleSet) GetCondition

GetCondition of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) GetConnectionDetailsMapping

func (tr *LinuxVirtualMachineScaleSet) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetDeletionPolicy

func (mg *LinuxVirtualMachineScaleSet) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) GetID

func (tr *LinuxVirtualMachineScaleSet) GetID() string

GetID returns ID of underlying Terraform resource of this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetInitParameters

func (tr *LinuxVirtualMachineScaleSet) GetInitParameters() (map[string]any, error)

GetInitParameters of this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetManagementPolicies

func (mg *LinuxVirtualMachineScaleSet) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) GetMergedParameters

func (tr *LinuxVirtualMachineScaleSet) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetObservation

func (tr *LinuxVirtualMachineScaleSet) GetObservation() (map[string]any, error)

GetObservation of this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetParameters

func (tr *LinuxVirtualMachineScaleSet) GetParameters() (map[string]any, error)

GetParameters of this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetProviderConfigReference

func (mg *LinuxVirtualMachineScaleSet) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) GetPublishConnectionDetailsTo

func (mg *LinuxVirtualMachineScaleSet) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) GetTerraformResourceType

func (mg *LinuxVirtualMachineScaleSet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) GetTerraformSchemaVersion

func (tr *LinuxVirtualMachineScaleSet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*LinuxVirtualMachineScaleSet) GetWriteConnectionSecretToReference

func (mg *LinuxVirtualMachineScaleSet) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) Hub

func (tr *LinuxVirtualMachineScaleSet) Hub()

Hub marks this type as a conversion hub.

func (*LinuxVirtualMachineScaleSet) LateInitialize

func (tr *LinuxVirtualMachineScaleSet) LateInitialize(attrs []byte) (bool, error)

LateInitialize this LinuxVirtualMachineScaleSet using its observed tfState. returns True if there are any spec changes for the resource.

func (*LinuxVirtualMachineScaleSet) ResolveReferences

func (mg *LinuxVirtualMachineScaleSet) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetConditions

func (mg *LinuxVirtualMachineScaleSet) SetConditions(c ...xpv1.Condition)

SetConditions of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetDeletionPolicy

func (mg *LinuxVirtualMachineScaleSet) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetManagementPolicies

func (mg *LinuxVirtualMachineScaleSet) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetObservation

func (tr *LinuxVirtualMachineScaleSet) SetObservation(obs map[string]any) error

SetObservation for this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) SetParameters

func (tr *LinuxVirtualMachineScaleSet) SetParameters(params map[string]any) error

SetParameters for this LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSet) SetProviderConfigReference

func (mg *LinuxVirtualMachineScaleSet) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetPublishConnectionDetailsTo

func (mg *LinuxVirtualMachineScaleSet) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSet) SetWriteConnectionSecretToReference

func (mg *LinuxVirtualMachineScaleSet) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this LinuxVirtualMachineScaleSet.

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters.

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation.

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters

type LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters.

func (*LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters

type LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters.

func (*LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetAdminSSHKeyObservation

type LinuxVirtualMachineScaleSetAdminSSHKeyObservation struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdminSSHKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdminSSHKeyObservation.

func (*LinuxVirtualMachineScaleSetAdminSSHKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetAdminSSHKeyParameters

type LinuxVirtualMachineScaleSetAdminSSHKeyParameters struct {

	// The Public Key which should be used for authentication, which needs to be at least 2048-bit and in ssh-rsa format.
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey" tf:"public_key,omitempty"`

	// The Username for which this Public SSH Key should be configured.
	// +kubebuilder:validation:Optional
	Username *string `json:"username" tf:"username,omitempty"`
}

func (*LinuxVirtualMachineScaleSetAdminSSHKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetAdminSSHKeyParameters.

func (*LinuxVirtualMachineScaleSetAdminSSHKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters

type LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters.

func (*LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetBootDiagnosticsObservation

type LinuxVirtualMachineScaleSetBootDiagnosticsObservation struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*LinuxVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetBootDiagnosticsObservation.

func (*LinuxVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetBootDiagnosticsParameters

type LinuxVirtualMachineScaleSetBootDiagnosticsParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	// +kubebuilder:validation:Optional
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*LinuxVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetBootDiagnosticsParameters.

func (*LinuxVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetDataDiskInitParameters

type LinuxVirtualMachineScaleSetDataDiskInitParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The name of the Data Disk.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetDataDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetDataDiskInitParameters.

func (*LinuxVirtualMachineScaleSetDataDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetDataDiskObservation

type LinuxVirtualMachineScaleSetDataDiskObservation struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The name of the Data Disk.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetDataDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetDataDiskObservation.

func (*LinuxVirtualMachineScaleSetDataDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetDataDiskParameters

type LinuxVirtualMachineScaleSetDataDiskParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	// +kubebuilder:validation:Optional
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	// +kubebuilder:validation:Optional
	Lun *float64 `json:"lun" tf:"lun,omitempty"`

	// The name of the Data Disk.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetDataDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetDataDiskParameters.

func (*LinuxVirtualMachineScaleSetDataDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetGalleryApplicationInitParameters

type LinuxVirtualMachineScaleSetGalleryApplicationInitParameters struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetGalleryApplicationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetGalleryApplicationInitParameters.

func (*LinuxVirtualMachineScaleSetGalleryApplicationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetGalleryApplicationObservation

type LinuxVirtualMachineScaleSetGalleryApplicationObservation struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetGalleryApplicationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetGalleryApplicationObservation.

func (*LinuxVirtualMachineScaleSetGalleryApplicationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetGalleryApplicationParameters

type LinuxVirtualMachineScaleSetGalleryApplicationParameters struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VersionID *string `json:"versionId" tf:"version_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetGalleryApplicationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetGalleryApplicationParameters.

func (*LinuxVirtualMachineScaleSetGalleryApplicationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetIdentityInitParameters

type LinuxVirtualMachineScaleSetIdentityInitParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineScaleSetIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetIdentityInitParameters.

func (*LinuxVirtualMachineScaleSetIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetIdentityObservation

type LinuxVirtualMachineScaleSetIdentityObservation struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Principal ID associated with this Managed Service Identity.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Tenant ID associated with this Managed Service Identity.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineScaleSetIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetIdentityObservation.

func (*LinuxVirtualMachineScaleSetIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetIdentityParameters

type LinuxVirtualMachineScaleSetIdentityParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*LinuxVirtualMachineScaleSetIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetIdentityParameters.

func (*LinuxVirtualMachineScaleSetIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetInitParameters

type LinuxVirtualMachineScaleSetInitParameters struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *LinuxVirtualMachineScaleSetAdditionalCapabilitiesInitParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// One or more admin_ssh_key blocks as defined below.
	AdminSSHKey []LinuxVirtualMachineScaleSetAdminSSHKeyInitParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	AutomaticInstanceRepair *AutomaticInstanceRepairInitParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	AutomaticOsUpgradePolicy *AutomaticOsUpgradePolicyInitParameters `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *LinuxVirtualMachineScaleSetBootDiagnosticsInitParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// One or more data_disk blocks as defined below.
	DataDisk []LinuxVirtualMachineScaleSetDataDiskInitParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []ExtensionInitParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []LinuxVirtualMachineScaleSetGalleryApplicationInitParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	GalleryApplications []GalleryApplicationsInitParameters `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// An identity block as defined below.
	Identity *LinuxVirtualMachineScaleSetIdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set. Defaults to 0.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []NetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *LinuxVirtualMachineScaleSetOsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *LinuxVirtualMachineScaleSetPlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	RollingUpgradePolicy *RollingUpgradePolicyInitParameters `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	ScaleIn *ScaleInInitParameters `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	// One or more secret blocks as defined below.
	Secret []LinuxVirtualMachineScaleSetSecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	SpotRestore *SpotRestoreInitParameters `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	TerminateNotification *TerminateNotificationInitParameters `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *LinuxVirtualMachineScaleSetTerminationNotificationInitParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*LinuxVirtualMachineScaleSetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetInitParameters.

func (*LinuxVirtualMachineScaleSetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetList

type LinuxVirtualMachineScaleSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LinuxVirtualMachineScaleSet `json:"items"`
}

LinuxVirtualMachineScaleSetList contains a list of LinuxVirtualMachineScaleSets

func (*LinuxVirtualMachineScaleSetList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetList.

func (*LinuxVirtualMachineScaleSetList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LinuxVirtualMachineScaleSetList) DeepCopyObject

func (in *LinuxVirtualMachineScaleSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LinuxVirtualMachineScaleSetList) GetItems

GetItems of this LinuxVirtualMachineScaleSetList.

type LinuxVirtualMachineScaleSetObservation

type LinuxVirtualMachineScaleSetObservation struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *LinuxVirtualMachineScaleSetAdditionalCapabilitiesObservation `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more admin_ssh_key blocks as defined below.
	AdminSSHKey []LinuxVirtualMachineScaleSetAdminSSHKeyObservation `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	AutomaticInstanceRepair *AutomaticInstanceRepairObservation `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	AutomaticOsUpgradePolicy *AutomaticOsUpgradePolicyObservation `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *LinuxVirtualMachineScaleSetBootDiagnosticsObservation `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// One or more data_disk blocks as defined below.
	DataDisk []LinuxVirtualMachineScaleSetDataDiskObservation `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []ExtensionObservation `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []LinuxVirtualMachineScaleSetGalleryApplicationObservation `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	GalleryApplications []GalleryApplicationsObservation `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// The ID of the Linux Virtual Machine Scale Set.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below.
	Identity *LinuxVirtualMachineScaleSetIdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set. Defaults to 0.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []NetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *LinuxVirtualMachineScaleSetOsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *LinuxVirtualMachineScaleSetPlanObservation `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	RollingUpgradePolicy *RollingUpgradePolicyObservation `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	ScaleIn *ScaleInObservation `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	ScaleInPolicy *string `json:"scaleInPolicy,omitempty" tf:"scale_in_policy,omitempty"`

	// One or more secret blocks as defined below.
	Secret []LinuxVirtualMachineScaleSetSecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *LinuxVirtualMachineScaleSetSourceImageReferenceObservation `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	SpotRestore *SpotRestoreObservation `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	TerminateNotification *TerminateNotificationObservation `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *LinuxVirtualMachineScaleSetTerminationNotificationObservation `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Unique ID for this Linux Virtual Machine Scale Set.
	UniqueID *string `json:"uniqueId,omitempty" tf:"unique_id,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*LinuxVirtualMachineScaleSetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetObservation.

func (*LinuxVirtualMachineScaleSetObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetOsDiskInitParameters

type LinuxVirtualMachineScaleSetOsDiskInitParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *OsDiskDiffDiskSettingsInitParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetOsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetOsDiskInitParameters.

func (*LinuxVirtualMachineScaleSetOsDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetOsDiskObservation

type LinuxVirtualMachineScaleSetOsDiskObservation struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *OsDiskDiffDiskSettingsObservation `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetOsDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetOsDiskObservation.

func (*LinuxVirtualMachineScaleSetOsDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetOsDiskParameters

type LinuxVirtualMachineScaleSetOsDiskParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiffDiskSettings *OsDiskDiffDiskSettingsParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*LinuxVirtualMachineScaleSetOsDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetOsDiskParameters.

func (*LinuxVirtualMachineScaleSetOsDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetParameters

type LinuxVirtualMachineScaleSetParameters struct {

	// An additional_capabilities block as defined below.
	// +kubebuilder:validation:Optional
	AdditionalCapabilities *LinuxVirtualMachineScaleSetAdditionalCapabilitiesParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// One or more admin_ssh_key blocks as defined below.
	// +kubebuilder:validation:Optional
	AdminSSHKey []LinuxVirtualMachineScaleSetAdminSSHKeyParameters `json:"adminSshKey,omitempty" tf:"admin_ssh_key,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	// +kubebuilder:validation:Optional
	AutomaticInstanceRepair *AutomaticInstanceRepairParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	// +kubebuilder:validation:Optional
	AutomaticOsUpgradePolicy *AutomaticOsUpgradePolicyParameters `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	// +kubebuilder:validation:Optional
	BootDiagnostics *LinuxVirtualMachineScaleSetBootDiagnosticsParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// One or more data_disk blocks as defined below.
	// +kubebuilder:validation:Optional
	DataDisk []LinuxVirtualMachineScaleSetDataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.
	// +kubebuilder:validation:Optional
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty" tf:"disable_password_authentication,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	// +kubebuilder:validation:Optional
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	// +kubebuilder:validation:Optional
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	// +kubebuilder:validation:Optional
	Extension []ExtensionParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	// +kubebuilder:validation:Optional
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	// +kubebuilder:validation:Optional
	GalleryApplication []LinuxVirtualMachineScaleSetGalleryApplicationParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// +kubebuilder:validation:Optional
	GalleryApplications []GalleryApplicationsParameters `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	// +kubebuilder:validation:Optional
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// An identity block as defined below.
	// +kubebuilder:validation:Optional
	Identity *LinuxVirtualMachineScaleSetIdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set. Defaults to 0.
	// +kubebuilder:validation:Optional
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	// +kubebuilder:validation:Optional
	NetworkInterface []NetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	// +kubebuilder:validation:Optional
	OsDisk *LinuxVirtualMachineScaleSetOsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	// +kubebuilder:validation:Optional
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Plan *LinuxVirtualMachineScaleSetPlanParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	RollingUpgradePolicy *RollingUpgradePolicyParameters `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	// +kubebuilder:validation:Optional
	ScaleIn *ScaleInParameters `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []LinuxVirtualMachineScaleSetSecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	// +kubebuilder:validation:Optional
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	// +kubebuilder:validation:Optional
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	// +kubebuilder:validation:Optional
	SourceImageReference *LinuxVirtualMachineScaleSetSourceImageReferenceParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	// +kubebuilder:validation:Optional
	SpotRestore *SpotRestoreParameters `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminateNotification *TerminateNotificationParameters `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminationNotification *LinuxVirtualMachineScaleSetTerminationNotificationParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*LinuxVirtualMachineScaleSetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetParameters.

func (*LinuxVirtualMachineScaleSetParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetPlanInitParameters

type LinuxVirtualMachineScaleSetPlanInitParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*LinuxVirtualMachineScaleSetPlanInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetPlanInitParameters.

func (*LinuxVirtualMachineScaleSetPlanInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetPlanObservation

type LinuxVirtualMachineScaleSetPlanObservation struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*LinuxVirtualMachineScaleSetPlanObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetPlanObservation.

func (*LinuxVirtualMachineScaleSetPlanObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetPlanParameters

type LinuxVirtualMachineScaleSetPlanParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`
}

func (*LinuxVirtualMachineScaleSetPlanParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetPlanParameters.

func (*LinuxVirtualMachineScaleSetPlanParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSecretInitParameters

type LinuxVirtualMachineScaleSetSecretInitParameters struct {

	// One or more certificate blocks as defined above.
	Certificate []SecretCertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSecretInitParameters.

func (*LinuxVirtualMachineScaleSetSecretInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSecretObservation

type LinuxVirtualMachineScaleSetSecretObservation struct {

	// One or more certificate blocks as defined above.
	Certificate []SecretCertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSecretObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSecretObservation.

func (*LinuxVirtualMachineScaleSetSecretObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSecretParameters

type LinuxVirtualMachineScaleSetSecretParameters struct {

	// One or more certificate blocks as defined above.
	// +kubebuilder:validation:Optional
	Certificate []SecretCertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSecretParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSecretParameters.

func (*LinuxVirtualMachineScaleSetSecretParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters

type LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters.

func (*LinuxVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSourceImageReferenceObservation

type LinuxVirtualMachineScaleSetSourceImageReferenceObservation struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSourceImageReferenceObservation.

func (*LinuxVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSourceImageReferenceParameters

type LinuxVirtualMachineScaleSetSourceImageReferenceParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version" tf:"version,omitempty"`
}

func (*LinuxVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSourceImageReferenceParameters.

func (*LinuxVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetSpec

type LinuxVirtualMachineScaleSetSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     LinuxVirtualMachineScaleSetParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider LinuxVirtualMachineScaleSetInitParameters `json:"initProvider,omitempty"`
}

LinuxVirtualMachineScaleSetSpec defines the desired state of LinuxVirtualMachineScaleSet

func (*LinuxVirtualMachineScaleSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetSpec.

func (*LinuxVirtualMachineScaleSetSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetStatus

type LinuxVirtualMachineScaleSetStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        LinuxVirtualMachineScaleSetObservation `json:"atProvider,omitempty"`
}

LinuxVirtualMachineScaleSetStatus defines the observed state of LinuxVirtualMachineScaleSet.

func (*LinuxVirtualMachineScaleSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetStatus.

func (*LinuxVirtualMachineScaleSetStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetTerminationNotificationInitParameters

type LinuxVirtualMachineScaleSetTerminationNotificationInitParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*LinuxVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetTerminationNotificationInitParameters.

func (*LinuxVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetTerminationNotificationObservation

type LinuxVirtualMachineScaleSetTerminationNotificationObservation struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*LinuxVirtualMachineScaleSetTerminationNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetTerminationNotificationObservation.

func (*LinuxVirtualMachineScaleSetTerminationNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineScaleSetTerminationNotificationParameters

type LinuxVirtualMachineScaleSetTerminationNotificationParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*LinuxVirtualMachineScaleSetTerminationNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineScaleSetTerminationNotificationParameters.

func (*LinuxVirtualMachineScaleSetTerminationNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineSpec

type LinuxVirtualMachineSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     LinuxVirtualMachineParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider LinuxVirtualMachineInitParameters `json:"initProvider,omitempty"`
}

LinuxVirtualMachineSpec defines the desired state of LinuxVirtualMachine

func (*LinuxVirtualMachineSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineSpec.

func (*LinuxVirtualMachineSpec) DeepCopyInto

func (in *LinuxVirtualMachineSpec) DeepCopyInto(out *LinuxVirtualMachineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxVirtualMachineStatus

type LinuxVirtualMachineStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        LinuxVirtualMachineObservation `json:"atProvider,omitempty"`
}

LinuxVirtualMachineStatus defines the observed state of LinuxVirtualMachine.

func (*LinuxVirtualMachineStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxVirtualMachineStatus.

func (*LinuxVirtualMachineStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManageActionInitParameters

type ManageActionInitParameters struct {

	// The command to install the Gallery Application. Changing this forces a new resource to be created.
	Install *string `json:"install,omitempty" tf:"install,omitempty"`

	// The command to remove the Gallery Application. Changing this forces a new resource to be created.
	Remove *string `json:"remove,omitempty" tf:"remove,omitempty"`

	// The command to update the Gallery Application. Changing this forces a new resource to be created.
	Update *string `json:"update,omitempty" tf:"update,omitempty"`
}

func (*ManageActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageActionInitParameters.

func (*ManageActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManageActionObservation

type ManageActionObservation struct {

	// The command to install the Gallery Application. Changing this forces a new resource to be created.
	Install *string `json:"install,omitempty" tf:"install,omitempty"`

	// The command to remove the Gallery Application. Changing this forces a new resource to be created.
	Remove *string `json:"remove,omitempty" tf:"remove,omitempty"`

	// The command to update the Gallery Application. Changing this forces a new resource to be created.
	Update *string `json:"update,omitempty" tf:"update,omitempty"`
}

func (*ManageActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageActionObservation.

func (*ManageActionObservation) DeepCopyInto

func (in *ManageActionObservation) DeepCopyInto(out *ManageActionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManageActionParameters

type ManageActionParameters struct {

	// The command to install the Gallery Application. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Install *string `json:"install" tf:"install,omitempty"`

	// The command to remove the Gallery Application. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Remove *string `json:"remove" tf:"remove,omitempty"`

	// The command to update the Gallery Application. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Update *string `json:"update,omitempty" tf:"update,omitempty"`
}

func (*ManageActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageActionParameters.

func (*ManageActionParameters) DeepCopyInto

func (in *ManageActionParameters) DeepCopyInto(out *ManageActionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedDisk

type ManagedDisk struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.createOption) || (has(self.initProvider) && has(self.initProvider.createOption))",message="spec.forProvider.createOption is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.storageAccountType) || (has(self.initProvider) && has(self.initProvider.storageAccountType))",message="spec.forProvider.storageAccountType is a required parameter"
	Spec   ManagedDiskSpec   `json:"spec"`
	Status ManagedDiskStatus `json:"status,omitempty"`
}

ManagedDisk is the Schema for the ManagedDisks API. Manages a Managed Disk. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*ManagedDisk) DeepCopy

func (in *ManagedDisk) DeepCopy() *ManagedDisk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDisk.

func (*ManagedDisk) DeepCopyInto

func (in *ManagedDisk) DeepCopyInto(out *ManagedDisk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedDisk) DeepCopyObject

func (in *ManagedDisk) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ManagedDisk) GetCondition

func (mg *ManagedDisk) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ManagedDisk.

func (*ManagedDisk) GetConnectionDetailsMapping

func (tr *ManagedDisk) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ManagedDisk

func (*ManagedDisk) GetDeletionPolicy

func (mg *ManagedDisk) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ManagedDisk.

func (*ManagedDisk) GetID

func (tr *ManagedDisk) GetID() string

GetID returns ID of underlying Terraform resource of this ManagedDisk

func (*ManagedDisk) GetInitParameters

func (tr *ManagedDisk) GetInitParameters() (map[string]any, error)

GetInitParameters of this ManagedDisk

func (*ManagedDisk) GetManagementPolicies

func (mg *ManagedDisk) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ManagedDisk.

func (*ManagedDisk) GetMergedParameters

func (tr *ManagedDisk) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ManagedDisk

func (*ManagedDisk) GetObservation

func (tr *ManagedDisk) GetObservation() (map[string]any, error)

GetObservation of this ManagedDisk

func (*ManagedDisk) GetParameters

func (tr *ManagedDisk) GetParameters() (map[string]any, error)

GetParameters of this ManagedDisk

func (*ManagedDisk) GetProviderConfigReference

func (mg *ManagedDisk) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ManagedDisk.

func (*ManagedDisk) GetPublishConnectionDetailsTo

func (mg *ManagedDisk) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ManagedDisk.

func (*ManagedDisk) GetTerraformResourceType

func (mg *ManagedDisk) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ManagedDisk

func (*ManagedDisk) GetTerraformSchemaVersion

func (tr *ManagedDisk) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ManagedDisk) GetWriteConnectionSecretToReference

func (mg *ManagedDisk) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ManagedDisk.

func (*ManagedDisk) Hub

func (tr *ManagedDisk) Hub()

Hub marks this type as a conversion hub.

func (*ManagedDisk) LateInitialize

func (tr *ManagedDisk) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ManagedDisk using its observed tfState. returns True if there are any spec changes for the resource.

func (*ManagedDisk) ResolveReferences

func (mg *ManagedDisk) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ManagedDisk.

func (*ManagedDisk) SetConditions

func (mg *ManagedDisk) SetConditions(c ...xpv1.Condition)

SetConditions of this ManagedDisk.

func (*ManagedDisk) SetDeletionPolicy

func (mg *ManagedDisk) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ManagedDisk.

func (*ManagedDisk) SetManagementPolicies

func (mg *ManagedDisk) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ManagedDisk.

func (*ManagedDisk) SetObservation

func (tr *ManagedDisk) SetObservation(obs map[string]any) error

SetObservation for this ManagedDisk

func (*ManagedDisk) SetParameters

func (tr *ManagedDisk) SetParameters(params map[string]any) error

SetParameters for this ManagedDisk

func (*ManagedDisk) SetProviderConfigReference

func (mg *ManagedDisk) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ManagedDisk.

func (*ManagedDisk) SetPublishConnectionDetailsTo

func (mg *ManagedDisk) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ManagedDisk.

func (*ManagedDisk) SetWriteConnectionSecretToReference

func (mg *ManagedDisk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ManagedDisk.

type ManagedDiskInitParameters

type ManagedDiskInitParameters struct {

	// The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include: * Import - Import a VHD file in to the managed disk (VHD specified with source_uri). * ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri). * Empty - Create an empty managed disk. * Copy - Copy an existing managed disk or snapshot (specified with source_resource_id). * FromImage - Copy a Platform Image (specified with image_reference_id) * Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id). * Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the disk access resource for using private endpoints on disks.
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
	DiskIopsReadOnly *float64 `json:"diskIopsReadOnly,omitempty" tf:"disk_iops_read_only,omitempty"`

	// The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
	DiskIopsReadWrite *float64 `json:"diskIopsReadWrite,omitempty" tf:"disk_iops_read_write,omitempty"`

	// The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
	DiskMbpsReadOnly *float64 `json:"diskMbpsReadOnly,omitempty" tf:"disk_mbps_read_only,omitempty"`

	// The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
	DiskMbpsReadWrite *float64 `json:"diskMbpsReadWrite,omitempty" tf:"disk_mbps_read_write,omitempty"`

	// Specifies the size of the managed disk to create in gigabytes. If create_option is Copy or FromImage, then the value must be equal to or greater than the source's size. The size can only be increased.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// A encryption_settings block as defined below.
	EncryptionSettings *EncryptionSettingsInitParameters `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
	GalleryImageReferenceID *string `json:"galleryImageReferenceId,omitempty" tf:"gallery_image_reference_id,omitempty"`

	// The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
	ImageReferenceID *string `json:"imageReferenceId,omitempty" tf:"image_reference_id,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.
	LogicalSectorSize *float64 `json:"logicalSectorSize,omitempty" tf:"logical_sector_size,omitempty"`

	// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
	MaxShares *float64 `json:"maxShares,omitempty" tf:"max_shares,omitempty"`

	// Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Specifies if On-Demand Bursting is enabled for the Managed Disk.
	OnDemandBurstingEnabled *bool `json:"onDemandBurstingEnabled,omitempty" tf:"on_demand_bursting_enabled,omitempty"`

	// Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.
	OptimizedFrequentAttachEnabled *bool `json:"optimizedFrequentAttachEnabled,omitempty" tf:"optimized_frequent_attach_enabled,omitempty"`

	// Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
	PerformancePlusEnabled *bool `json:"performancePlusEnabled,omitempty" tf:"performance_plus_enabled,omitempty"`

	// Whether it is allowed to access the disk via public network. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.
	SecurityType *string `json:"securityType,omitempty" tf:"security_type,omitempty"`

	// The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.ManagedDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// Reference to a ManagedDisk in compute to populate sourceResourceId.
	// +kubebuilder:validation:Optional
	SourceResourceIDRef *v1.Reference `json:"sourceResourceIdRef,omitempty" tf:"-"`

	// Selector for a ManagedDisk in compute to populate sourceResourceId.
	// +kubebuilder:validation:Optional
	SourceResourceIDSelector *v1.Selector `json:"sourceResourceIdSelector,omitempty" tf:"-"`

	// URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The disk performance tier to use. Possible values are documented here. This feature is currently supported only for premium SSDs.
	Tier *string `json:"tier,omitempty" tf:"tier,omitempty"`

	// Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
	UploadSizeBytes *float64 `json:"uploadSizeBytes,omitempty" tf:"upload_size_bytes,omitempty"`

	// Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*ManagedDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskInitParameters.

func (*ManagedDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedDiskList

type ManagedDiskList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagedDisk `json:"items"`
}

ManagedDiskList contains a list of ManagedDisks

func (*ManagedDiskList) DeepCopy

func (in *ManagedDiskList) DeepCopy() *ManagedDiskList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskList.

func (*ManagedDiskList) DeepCopyInto

func (in *ManagedDiskList) DeepCopyInto(out *ManagedDiskList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedDiskList) DeepCopyObject

func (in *ManagedDiskList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ManagedDiskList) GetItems

func (l *ManagedDiskList) GetItems() []resource.Managed

GetItems of this ManagedDiskList.

type ManagedDiskObservation

type ManagedDiskObservation struct {

	// The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include: * Import - Import a VHD file in to the managed disk (VHD specified with source_uri). * ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri). * Empty - Create an empty managed disk. * Copy - Copy an existing managed disk or snapshot (specified with source_resource_id). * FromImage - Copy a Platform Image (specified with image_reference_id) * Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id). * Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the disk access resource for using private endpoints on disks.
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
	DiskIopsReadOnly *float64 `json:"diskIopsReadOnly,omitempty" tf:"disk_iops_read_only,omitempty"`

	// The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
	DiskIopsReadWrite *float64 `json:"diskIopsReadWrite,omitempty" tf:"disk_iops_read_write,omitempty"`

	// The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
	DiskMbpsReadOnly *float64 `json:"diskMbpsReadOnly,omitempty" tf:"disk_mbps_read_only,omitempty"`

	// The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
	DiskMbpsReadWrite *float64 `json:"diskMbpsReadWrite,omitempty" tf:"disk_mbps_read_write,omitempty"`

	// Specifies the size of the managed disk to create in gigabytes. If create_option is Copy or FromImage, then the value must be equal to or greater than the source's size. The size can only be increased.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// A encryption_settings block as defined below.
	EncryptionSettings *EncryptionSettingsObservation `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
	GalleryImageReferenceID *string `json:"galleryImageReferenceId,omitempty" tf:"gallery_image_reference_id,omitempty"`

	// The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// The ID of the Managed Disk.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
	ImageReferenceID *string `json:"imageReferenceId,omitempty" tf:"image_reference_id,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.
	LogicalSectorSize *float64 `json:"logicalSectorSize,omitempty" tf:"logical_sector_size,omitempty"`

	// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
	MaxShares *float64 `json:"maxShares,omitempty" tf:"max_shares,omitempty"`

	// Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Specifies if On-Demand Bursting is enabled for the Managed Disk.
	OnDemandBurstingEnabled *bool `json:"onDemandBurstingEnabled,omitempty" tf:"on_demand_bursting_enabled,omitempty"`

	// Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.
	OptimizedFrequentAttachEnabled *bool `json:"optimizedFrequentAttachEnabled,omitempty" tf:"optimized_frequent_attach_enabled,omitempty"`

	// Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
	PerformancePlusEnabled *bool `json:"performancePlusEnabled,omitempty" tf:"performance_plus_enabled,omitempty"`

	// Whether it is allowed to access the disk via public network. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.
	SecurityType *string `json:"securityType,omitempty" tf:"security_type,omitempty"`

	// The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The disk performance tier to use. Possible values are documented here. This feature is currently supported only for premium SSDs.
	Tier *string `json:"tier,omitempty" tf:"tier,omitempty"`

	// Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
	UploadSizeBytes *float64 `json:"uploadSizeBytes,omitempty" tf:"upload_size_bytes,omitempty"`

	// Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*ManagedDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskObservation.

func (*ManagedDiskObservation) DeepCopyInto

func (in *ManagedDiskObservation) DeepCopyInto(out *ManagedDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedDiskParameters

type ManagedDiskParameters struct {

	// The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include: * Import - Import a VHD file in to the managed disk (VHD specified with source_uri). * ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri). * Empty - Create an empty managed disk. * Copy - Copy an existing managed disk or snapshot (specified with source_resource_id). * FromImage - Copy a Platform Image (specified with image_reference_id) * Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id). * Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
	// +kubebuilder:validation:Optional
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the disk access resource for using private endpoints on disks.
	// +kubebuilder:validation:Optional
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
	// +kubebuilder:validation:Optional
	DiskIopsReadOnly *float64 `json:"diskIopsReadOnly,omitempty" tf:"disk_iops_read_only,omitempty"`

	// The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
	// +kubebuilder:validation:Optional
	DiskIopsReadWrite *float64 `json:"diskIopsReadWrite,omitempty" tf:"disk_iops_read_write,omitempty"`

	// The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
	// +kubebuilder:validation:Optional
	DiskMbpsReadOnly *float64 `json:"diskMbpsReadOnly,omitempty" tf:"disk_mbps_read_only,omitempty"`

	// The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
	// +kubebuilder:validation:Optional
	DiskMbpsReadWrite *float64 `json:"diskMbpsReadWrite,omitempty" tf:"disk_mbps_read_write,omitempty"`

	// Specifies the size of the managed disk to create in gigabytes. If create_option is Copy or FromImage, then the value must be equal to or greater than the source's size. The size can only be increased.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// A encryption_settings block as defined below.
	// +kubebuilder:validation:Optional
	EncryptionSettings *EncryptionSettingsParameters `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	GalleryImageReferenceID *string `json:"galleryImageReferenceId,omitempty" tf:"gallery_image_reference_id,omitempty"`

	// The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ImageReferenceID *string `json:"imageReferenceId,omitempty" tf:"image_reference_id,omitempty"`

	// Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	LogicalSectorSize *float64 `json:"logicalSectorSize,omitempty" tf:"logical_sector_size,omitempty"`

	// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
	// +kubebuilder:validation:Optional
	MaxShares *float64 `json:"maxShares,omitempty" tf:"max_shares,omitempty"`

	// Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
	// +kubebuilder:validation:Optional
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Specifies if On-Demand Bursting is enabled for the Managed Disk.
	// +kubebuilder:validation:Optional
	OnDemandBurstingEnabled *bool `json:"onDemandBurstingEnabled,omitempty" tf:"on_demand_bursting_enabled,omitempty"`

	// Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.
	// +kubebuilder:validation:Optional
	OptimizedFrequentAttachEnabled *bool `json:"optimizedFrequentAttachEnabled,omitempty" tf:"optimized_frequent_attach_enabled,omitempty"`

	// Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PerformancePlusEnabled *bool `json:"performancePlusEnabled,omitempty" tf:"performance_plus_enabled,omitempty"`

	// Whether it is allowed to access the disk via public network. Defaults to true.
	// +kubebuilder:validation:Optional
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecurityType *string `json:"securityType,omitempty" tf:"security_type,omitempty"`

	// The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.ManagedDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// Reference to a ManagedDisk in compute to populate sourceResourceId.
	// +kubebuilder:validation:Optional
	SourceResourceIDRef *v1.Reference `json:"sourceResourceIdRef,omitempty" tf:"-"`

	// Selector for a ManagedDisk in compute to populate sourceResourceId.
	// +kubebuilder:validation:Optional
	SourceResourceIDSelector *v1.Selector `json:"sourceResourceIdSelector,omitempty" tf:"-"`

	// URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The disk performance tier to use. Possible values are documented here. This feature is currently supported only for premium SSDs.
	// +kubebuilder:validation:Optional
	Tier *string `json:"tier,omitempty" tf:"tier,omitempty"`

	// Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UploadSizeBytes *float64 `json:"uploadSizeBytes,omitempty" tf:"upload_size_bytes,omitempty"`

	// Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*ManagedDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskParameters.

func (*ManagedDiskParameters) DeepCopyInto

func (in *ManagedDiskParameters) DeepCopyInto(out *ManagedDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedDiskSpec

type ManagedDiskSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ManagedDiskParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ManagedDiskInitParameters `json:"initProvider,omitempty"`
}

ManagedDiskSpec defines the desired state of ManagedDisk

func (*ManagedDiskSpec) DeepCopy

func (in *ManagedDiskSpec) DeepCopy() *ManagedDiskSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskSpec.

func (*ManagedDiskSpec) DeepCopyInto

func (in *ManagedDiskSpec) DeepCopyInto(out *ManagedDiskSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedDiskStatus

type ManagedDiskStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ManagedDiskObservation `json:"atProvider,omitempty"`
}

ManagedDiskStatus defines the observed state of ManagedDisk.

func (*ManagedDiskStatus) DeepCopy

func (in *ManagedDiskStatus) DeepCopy() *ManagedDiskStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDiskStatus.

func (*ManagedDiskStatus) DeepCopyInto

func (in *ManagedDiskStatus) DeepCopyInto(out *ManagedDiskStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationInitParameters

type NetworkInterfaceIPConfigurationInitParameters struct {

	// A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []IPConfigurationPublicIPAddressInitParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationInitParameters.

func (*NetworkInterfaceIPConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationObservation

type NetworkInterfaceIPConfigurationObservation struct {

	// A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []IPConfigurationPublicIPAddressObservation `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationObservation.

func (*NetworkInterfaceIPConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationParameters

type NetworkInterfaceIPConfigurationParameters struct {

	// A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	// +kubebuilder:validation:Optional
	PublicIPAddress []IPConfigurationPublicIPAddressParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationParameters.

func (*NetworkInterfaceIPConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationPublicIPAddressInitParameters

type NetworkInterfaceIPConfigurationPublicIPAddressInitParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []IPConfigurationPublicIPAddressIPTagInitParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationPublicIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationPublicIPAddressInitParameters.

func (*NetworkInterfaceIPConfigurationPublicIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationPublicIPAddressObservation

type NetworkInterfaceIPConfigurationPublicIPAddressObservation struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []IPConfigurationPublicIPAddressIPTagObservation `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationPublicIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationPublicIPAddressObservation.

func (*NetworkInterfaceIPConfigurationPublicIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPConfigurationPublicIPAddressParameters

type NetworkInterfaceIPConfigurationPublicIPAddressParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	// +kubebuilder:validation:Optional
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	IPTag []IPConfigurationPublicIPAddressIPTagParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	// +kubebuilder:validation:Optional
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*NetworkInterfaceIPConfigurationPublicIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPConfigurationPublicIPAddressParameters.

func (*NetworkInterfaceIPConfigurationPublicIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceInitParameters

type NetworkInterfaceInitParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []IPConfigurationInitParameters `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*NetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceInitParameters.

func (*NetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceObservation

type NetworkInterfaceObservation struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []IPConfigurationObservation `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*NetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceObservation.

func (*NetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceParameters

type NetworkInterfaceParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	// +kubebuilder:validation:Optional
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	// +kubebuilder:validation:Optional
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	// +kubebuilder:validation:Optional
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	// +kubebuilder:validation:Optional
	IPConfiguration []IPConfigurationParameters `json:"ipConfiguration" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	// +kubebuilder:validation:Optional
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*NetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceParameters.

func (*NetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSet

type OrchestratedVirtualMachineScaleSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.platformFaultDomainCount) || (has(self.initProvider) && has(self.initProvider.platformFaultDomainCount))",message="spec.forProvider.platformFaultDomainCount is a required parameter"
	Spec   OrchestratedVirtualMachineScaleSetSpec   `json:"spec"`
	Status OrchestratedVirtualMachineScaleSetStatus `json:"status,omitempty"`
}

OrchestratedVirtualMachineScaleSet is the Schema for the OrchestratedVirtualMachineScaleSets API. Manages an Virtual Machine Scale Set in Flexible Orchestration Mode. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*OrchestratedVirtualMachineScaleSet) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OrchestratedVirtualMachineScaleSet) DeepCopyObject

func (in *OrchestratedVirtualMachineScaleSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OrchestratedVirtualMachineScaleSet) GetCondition

GetCondition of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) GetConnectionDetailsMapping

func (tr *OrchestratedVirtualMachineScaleSet) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetDeletionPolicy

func (mg *OrchestratedVirtualMachineScaleSet) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) GetID

GetID returns ID of underlying Terraform resource of this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetInitParameters

func (tr *OrchestratedVirtualMachineScaleSet) GetInitParameters() (map[string]any, error)

GetInitParameters of this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetManagementPolicies

func (mg *OrchestratedVirtualMachineScaleSet) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) GetMergedParameters

func (tr *OrchestratedVirtualMachineScaleSet) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetObservation

func (tr *OrchestratedVirtualMachineScaleSet) GetObservation() (map[string]any, error)

GetObservation of this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetParameters

func (tr *OrchestratedVirtualMachineScaleSet) GetParameters() (map[string]any, error)

GetParameters of this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetProviderConfigReference

func (mg *OrchestratedVirtualMachineScaleSet) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) GetPublishConnectionDetailsTo

func (mg *OrchestratedVirtualMachineScaleSet) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) GetTerraformResourceType

func (mg *OrchestratedVirtualMachineScaleSet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) GetTerraformSchemaVersion

func (tr *OrchestratedVirtualMachineScaleSet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*OrchestratedVirtualMachineScaleSet) GetWriteConnectionSecretToReference

func (mg *OrchestratedVirtualMachineScaleSet) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) Hub

Hub marks this type as a conversion hub.

func (*OrchestratedVirtualMachineScaleSet) LateInitialize

func (tr *OrchestratedVirtualMachineScaleSet) LateInitialize(attrs []byte) (bool, error)

LateInitialize this OrchestratedVirtualMachineScaleSet using its observed tfState. returns True if there are any spec changes for the resource.

func (*OrchestratedVirtualMachineScaleSet) ResolveReferences

func (mg *OrchestratedVirtualMachineScaleSet) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetConditions

func (mg *OrchestratedVirtualMachineScaleSet) SetConditions(c ...xpv1.Condition)

SetConditions of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetDeletionPolicy

func (mg *OrchestratedVirtualMachineScaleSet) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetManagementPolicies

func (mg *OrchestratedVirtualMachineScaleSet) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetObservation

func (tr *OrchestratedVirtualMachineScaleSet) SetObservation(obs map[string]any) error

SetObservation for this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) SetParameters

func (tr *OrchestratedVirtualMachineScaleSet) SetParameters(params map[string]any) error

SetParameters for this OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSet) SetProviderConfigReference

func (mg *OrchestratedVirtualMachineScaleSet) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetPublishConnectionDetailsTo

func (mg *OrchestratedVirtualMachineScaleSet) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSet) SetWriteConnectionSecretToReference

func (mg *OrchestratedVirtualMachineScaleSet) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this OrchestratedVirtualMachineScaleSet.

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters.

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation.

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters

type OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters.

func (*OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters.

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation.

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters

type OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	// +kubebuilder:validation:Optional
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	// +kubebuilder:validation:Optional
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters.

func (*OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters

type OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters.

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation

type OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation.

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters

type OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
	// +kubebuilder:validation:Optional
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters.

func (*OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetDataDiskInitParameters

type OrchestratedVirtualMachineScaleSetDataDiskInitParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created. Required if create_option is specified as Empty.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetDataDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetDataDiskInitParameters.

func (*OrchestratedVirtualMachineScaleSetDataDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetDataDiskObservation

type OrchestratedVirtualMachineScaleSetDataDiskObservation struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created. Required if create_option is specified as Empty.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetDataDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetDataDiskObservation.

func (*OrchestratedVirtualMachineScaleSetDataDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetDataDiskParameters

type OrchestratedVirtualMachineScaleSetDataDiskParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	// +kubebuilder:validation:Optional
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created. Required if create_option is specified as Empty.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
	// +kubebuilder:validation:Optional
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetDataDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetDataDiskParameters.

func (*OrchestratedVirtualMachineScaleSetDataDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetExtensionInitParameters

type OrchestratedVirtualMachineScaleSetExtensionInitParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersionEnabled *bool `json:"autoUpgradeMinorVersionEnabled,omitempty" tf:"auto_upgrade_minor_version_enabled,omitempty"`

	// An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
	ExtensionsToProvisionAfterVMCreation []*string `json:"extensionsToProvisionAfterVmCreation,omitempty" tf:"extensions_to_provision_after_vm_creation,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false.
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceExtensionExecutionOnChange *string `json:"forceExtensionExecutionOnChange,omitempty" tf:"force_extension_execution_on_change,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *ExtensionProtectedSettingsFromKeyVaultInitParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetExtensionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetExtensionInitParameters.

func (*OrchestratedVirtualMachineScaleSetExtensionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetExtensionObservation

type OrchestratedVirtualMachineScaleSetExtensionObservation struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersionEnabled *bool `json:"autoUpgradeMinorVersionEnabled,omitempty" tf:"auto_upgrade_minor_version_enabled,omitempty"`

	// An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
	ExtensionsToProvisionAfterVMCreation []*string `json:"extensionsToProvisionAfterVmCreation,omitempty" tf:"extensions_to_provision_after_vm_creation,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false.
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceExtensionExecutionOnChange *string `json:"forceExtensionExecutionOnChange,omitempty" tf:"force_extension_execution_on_change,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *ExtensionProtectedSettingsFromKeyVaultObservation `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetExtensionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetExtensionObservation.

func (*OrchestratedVirtualMachineScaleSetExtensionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetExtensionParameters

type OrchestratedVirtualMachineScaleSetExtensionParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	// +kubebuilder:validation:Optional
	AutoUpgradeMinorVersionEnabled *bool `json:"autoUpgradeMinorVersionEnabled,omitempty" tf:"auto_upgrade_minor_version_enabled,omitempty"`

	// An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
	// +kubebuilder:validation:Optional
	ExtensionsToProvisionAfterVMCreation []*string `json:"extensionsToProvisionAfterVmCreation,omitempty" tf:"extensions_to_provision_after_vm_creation,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false.
	// +kubebuilder:validation:Optional
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	// +kubebuilder:validation:Optional
	ForceExtensionExecutionOnChange *string `json:"forceExtensionExecutionOnChange,omitempty" tf:"force_extension_execution_on_change,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	// +kubebuilder:validation:Optional
	ProtectedSettingsFromKeyVault *ExtensionProtectedSettingsFromKeyVaultParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	// +kubebuilder:validation:Optional
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// Specifies the Publisher of the Extension.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	// +kubebuilder:validation:Optional
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	// +kubebuilder:validation:Optional
	TypeHandlerVersion *string `json:"typeHandlerVersion" tf:"type_handler_version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetExtensionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetExtensionParameters.

func (*OrchestratedVirtualMachineScaleSetExtensionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetIdentityInitParameters

type OrchestratedVirtualMachineScaleSetIdentityInitParameters struct {

	// Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetIdentityInitParameters.

func (*OrchestratedVirtualMachineScaleSetIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetIdentityObservation

type OrchestratedVirtualMachineScaleSetIdentityObservation struct {

	// Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetIdentityObservation.

func (*OrchestratedVirtualMachineScaleSetIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetIdentityParameters

type OrchestratedVirtualMachineScaleSetIdentityParameters struct {

	// Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds" tf:"identity_ids,omitempty"`

	// The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetIdentityParameters.

func (*OrchestratedVirtualMachineScaleSetIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetInitParameters

type OrchestratedVirtualMachineScaleSetInitParameters struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesInitParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// An automatic_instance_repair block as defined below.
	AutomaticInstanceRepair *OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairInitParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *OrchestratedVirtualMachineScaleSetBootDiagnosticsInitParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// One or more data_disk blocks as defined below.
	DataDisk []OrchestratedVirtualMachineScaleSetDataDiskInitParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []OrchestratedVirtualMachineScaleSetExtensionInitParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// An identity block as defined below.
	Identity *OrchestratedVirtualMachineScaleSetIdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Virtual Machine Scale Set.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *OrchestratedVirtualMachineScaleSetOsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// An os_profile block as defined below.
	OsProfile *OsProfileInitParameters `json:"osProfile,omitempty" tf:"os_profile,omitempty"`

	// A plan block as documented below. Changing this forces a new resource to be created.
	Plan *OrchestratedVirtualMachineScaleSetPlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// a priority_mix block as defined below
	PriorityMix *PriorityMixInitParameters `json:"priorityMix,omitempty" tf:"priority_mix,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are true or false.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	UserDataBase64SecretRef *v1.SecretKeySelector `json:"userDataBase64SecretRef,omitempty" tf:"-"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetInitParameters.

func (*OrchestratedVirtualMachineScaleSetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetList

type OrchestratedVirtualMachineScaleSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OrchestratedVirtualMachineScaleSet `json:"items"`
}

OrchestratedVirtualMachineScaleSetList contains a list of OrchestratedVirtualMachineScaleSets

func (*OrchestratedVirtualMachineScaleSetList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetList.

func (*OrchestratedVirtualMachineScaleSetList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OrchestratedVirtualMachineScaleSetList) DeepCopyObject

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OrchestratedVirtualMachineScaleSetList) GetItems

GetItems of this OrchestratedVirtualMachineScaleSetList.

type OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters

type OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []NetworkInterfaceIPConfigurationInitParameters `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters.

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation

type OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []NetworkInterfaceIPConfigurationObservation `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation.

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters

type OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	// +kubebuilder:validation:Optional
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	// +kubebuilder:validation:Optional
	IPConfiguration []NetworkInterfaceIPConfigurationParameters `json:"ipConfiguration" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	// +kubebuilder:validation:Optional
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters.

func (*OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetObservation

type OrchestratedVirtualMachineScaleSetObservation struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesObservation `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// An automatic_instance_repair block as defined below.
	AutomaticInstanceRepair *OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairObservation `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *OrchestratedVirtualMachineScaleSetBootDiagnosticsObservation `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// One or more data_disk blocks as defined below.
	DataDisk []OrchestratedVirtualMachineScaleSetDataDiskObservation `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []OrchestratedVirtualMachineScaleSetExtensionObservation `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// The ID of the Virtual Machine Scale Set.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below.
	Identity *OrchestratedVirtualMachineScaleSetIdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Virtual Machine Scale Set.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []OrchestratedVirtualMachineScaleSetNetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *OrchestratedVirtualMachineScaleSetOsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// An os_profile block as defined below.
	OsProfile *OsProfileObservation `json:"osProfile,omitempty" tf:"os_profile,omitempty"`

	// A plan block as documented below. Changing this forces a new resource to be created.
	Plan *OrchestratedVirtualMachineScaleSetPlanObservation `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// a priority_mix block as defined below
	PriorityMix *PriorityMixObservation `json:"priorityMix,omitempty" tf:"priority_mix,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are true or false.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *OrchestratedVirtualMachineScaleSetTerminationNotificationObservation `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Unique ID for the Virtual Machine Scale Set.
	UniqueID *string `json:"uniqueId,omitempty" tf:"unique_id,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetObservation.

func (*OrchestratedVirtualMachineScaleSetObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters.

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation.

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters

type OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Option *string `json:"option" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters.

func (*OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskInitParameters

type OrchestratedVirtualMachineScaleSetOsDiskInitParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskInitParameters.

func (*OrchestratedVirtualMachineScaleSetOsDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskObservation

type OrchestratedVirtualMachineScaleSetOsDiskObservation struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskObservation.

func (*OrchestratedVirtualMachineScaleSetOsDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetOsDiskParameters

type OrchestratedVirtualMachineScaleSetOsDiskParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiffDiskSettings *OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetOsDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetOsDiskParameters.

func (*OrchestratedVirtualMachineScaleSetOsDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetParameters

type OrchestratedVirtualMachineScaleSetParameters struct {

	// An additional_capabilities block as defined below.
	// +kubebuilder:validation:Optional
	AdditionalCapabilities *OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// An automatic_instance_repair block as defined below.
	// +kubebuilder:validation:Optional
	AutomaticInstanceRepair *OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// A boot_diagnostics block as defined below.
	// +kubebuilder:validation:Optional
	BootDiagnostics *OrchestratedVirtualMachineScaleSetBootDiagnosticsParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// One or more data_disk blocks as defined below.
	// +kubebuilder:validation:Optional
	DataDisk []OrchestratedVirtualMachineScaleSetDataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
	// +kubebuilder:validation:Optional
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	// +kubebuilder:validation:Optional
	Extension []OrchestratedVirtualMachineScaleSetExtensionParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	// +kubebuilder:validation:Optional
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// An identity block as defined below.
	// +kubebuilder:validation:Optional
	Identity *OrchestratedVirtualMachineScaleSetIdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	// +kubebuilder:validation:Optional
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	// +kubebuilder:validation:Optional
	NetworkInterface []OrchestratedVirtualMachineScaleSetNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	// +kubebuilder:validation:Optional
	OsDisk *OrchestratedVirtualMachineScaleSetOsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// An os_profile block as defined below.
	// +kubebuilder:validation:Optional
	OsProfile *OsProfileParameters `json:"osProfile,omitempty" tf:"os_profile,omitempty"`

	// A plan block as documented below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Plan *OrchestratedVirtualMachineScaleSetPlanParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Virtual Machine Scale Set. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// a priority_mix block as defined below
	// +kubebuilder:validation:Optional
	PriorityMix *PriorityMixParameters `json:"priorityMix,omitempty" tf:"priority_mix,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Possible values are true or false.
	// +kubebuilder:validation:Optional
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
	// +kubebuilder:validation:Optional
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	// +kubebuilder:validation:Optional
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	// +kubebuilder:validation:Optional
	SourceImageReference *OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminationNotification *OrchestratedVirtualMachineScaleSetTerminationNotificationParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	UserDataBase64SecretRef *v1.SecretKeySelector `json:"userDataBase64SecretRef,omitempty" tf:"-"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetParameters.

func (*OrchestratedVirtualMachineScaleSetParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetPlanInitParameters

type OrchestratedVirtualMachineScaleSetPlanInitParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetPlanInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetPlanInitParameters.

func (*OrchestratedVirtualMachineScaleSetPlanInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetPlanObservation

type OrchestratedVirtualMachineScaleSetPlanObservation struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetPlanObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetPlanObservation.

func (*OrchestratedVirtualMachineScaleSetPlanObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetPlanParameters

type OrchestratedVirtualMachineScaleSetPlanParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetPlanParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetPlanParameters.

func (*OrchestratedVirtualMachineScaleSetPlanParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters

type OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters.

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation

type OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation.

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters

type OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version" tf:"version,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters.

func (*OrchestratedVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetSpec

type OrchestratedVirtualMachineScaleSetSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     OrchestratedVirtualMachineScaleSetParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider OrchestratedVirtualMachineScaleSetInitParameters `json:"initProvider,omitempty"`
}

OrchestratedVirtualMachineScaleSetSpec defines the desired state of OrchestratedVirtualMachineScaleSet

func (*OrchestratedVirtualMachineScaleSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetSpec.

func (*OrchestratedVirtualMachineScaleSetSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetStatus

type OrchestratedVirtualMachineScaleSetStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        OrchestratedVirtualMachineScaleSetObservation `json:"atProvider,omitempty"`
}

OrchestratedVirtualMachineScaleSetStatus defines the observed state of OrchestratedVirtualMachineScaleSet.

func (*OrchestratedVirtualMachineScaleSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetStatus.

func (*OrchestratedVirtualMachineScaleSetStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters

type OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters.

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetTerminationNotificationObservation

type OrchestratedVirtualMachineScaleSetTerminationNotificationObservation struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetTerminationNotificationObservation.

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrchestratedVirtualMachineScaleSetTerminationNotificationParameters

type OrchestratedVirtualMachineScaleSetTerminationNotificationParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratedVirtualMachineScaleSetTerminationNotificationParameters.

func (*OrchestratedVirtualMachineScaleSetTerminationNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskDiffDiskSettingsInitParameters

type OsDiskDiffDiskSettingsInitParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OsDiskDiffDiskSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskDiffDiskSettingsInitParameters.

func (*OsDiskDiffDiskSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskDiffDiskSettingsObservation

type OsDiskDiffDiskSettingsObservation struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OsDiskDiffDiskSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskDiffDiskSettingsObservation.

func (*OsDiskDiffDiskSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskDiffDiskSettingsParameters

type OsDiskDiffDiskSettingsParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Option *string `json:"option" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*OsDiskDiffDiskSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskDiffDiskSettingsParameters.

func (*OsDiskDiffDiskSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskInitParameters

type OsDiskInitParameters struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image. Changing this forces a new resource to be created.
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. The default is None.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this image. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image.
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized. Possible values are Generalized and Specialized.
	OsState *string `json:"osState,omitempty" tf:"os_state,omitempty"`

	// Specifies the type of operating system contained in the virtual machine image. Possible values are: Windows or Linux.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies the size of the image to be created. Changing this forces a new resource to be created.
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*OsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskInitParameters.

func (*OsDiskInitParameters) DeepCopyInto

func (in *OsDiskInitParameters) DeepCopyInto(out *OsDiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskObservation

type OsDiskObservation struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image. Changing this forces a new resource to be created.
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. The default is None.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this image. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image.
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized. Possible values are Generalized and Specialized.
	OsState *string `json:"osState,omitempty" tf:"os_state,omitempty"`

	// Specifies the type of operating system contained in the virtual machine image. Possible values are: Windows or Linux.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies the size of the image to be created. Changing this forces a new resource to be created.
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*OsDiskObservation) DeepCopy

func (in *OsDiskObservation) DeepCopy() *OsDiskObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskObservation.

func (*OsDiskObservation) DeepCopyInto

func (in *OsDiskObservation) DeepCopyInto(out *OsDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsDiskParameters

type OsDiskParameters struct {

	// Specifies the URI in Azure storage of the blob that you want to use to create the image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	BlobURI *string `json:"blobUri,omitempty" tf:"blob_uri,omitempty"`

	// Specifies the caching mode as ReadWrite, ReadOnly, or None. The default is None.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the ID of the managed disk resource that you want to use to create the image.
	// +kubebuilder:validation:Optional
	ManagedDiskID *string `json:"managedDiskId,omitempty" tf:"managed_disk_id,omitempty"`

	// Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized. Possible values are Generalized and Specialized.
	// +kubebuilder:validation:Optional
	OsState *string `json:"osState,omitempty" tf:"os_state,omitempty"`

	// Specifies the type of operating system contained in the virtual machine image. Possible values are: Windows or Linux.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// Specifies the size of the image to be created. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SizeGb *float64 `json:"sizeGb,omitempty" tf:"size_gb,omitempty"`
}

func (*OsDiskParameters) DeepCopy

func (in *OsDiskParameters) DeepCopy() *OsDiskParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskParameters.

func (*OsDiskParameters) DeepCopyInto

func (in *OsDiskParameters) DeepCopyInto(out *OsDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsImageNotificationInitParameters

type OsImageNotificationInitParameters struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OsImageNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsImageNotificationInitParameters.

func (*OsImageNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsImageNotificationObservation

type OsImageNotificationObservation struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OsImageNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsImageNotificationObservation.

func (*OsImageNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsImageNotificationParameters

type OsImageNotificationParameters struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*OsImageNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsImageNotificationParameters.

func (*OsImageNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsProfileInitParameters

type OsProfileInitParameters struct {

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// A linux_configuration block as documented below.
	LinuxConfiguration *LinuxConfigurationInitParameters `json:"linuxConfiguration,omitempty" tf:"linux_configuration,omitempty"`

	// A windows_configuration block as documented below.
	WindowsConfiguration *WindowsConfigurationInitParameters `json:"windowsConfiguration,omitempty" tf:"windows_configuration,omitempty"`
}

func (*OsProfileInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsProfileInitParameters.

func (*OsProfileInitParameters) DeepCopyInto

func (in *OsProfileInitParameters) DeepCopyInto(out *OsProfileInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsProfileObservation

type OsProfileObservation struct {

	// A linux_configuration block as documented below.
	LinuxConfiguration *LinuxConfigurationObservation `json:"linuxConfiguration,omitempty" tf:"linux_configuration,omitempty"`

	// A windows_configuration block as documented below.
	WindowsConfiguration *WindowsConfigurationObservation `json:"windowsConfiguration,omitempty" tf:"windows_configuration,omitempty"`
}

func (*OsProfileObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsProfileObservation.

func (*OsProfileObservation) DeepCopyInto

func (in *OsProfileObservation) DeepCopyInto(out *OsProfileObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OsProfileParameters

type OsProfileParameters struct {

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// A linux_configuration block as documented below.
	// +kubebuilder:validation:Optional
	LinuxConfiguration *LinuxConfigurationParameters `json:"linuxConfiguration,omitempty" tf:"linux_configuration,omitempty"`

	// A windows_configuration block as documented below.
	// +kubebuilder:validation:Optional
	WindowsConfiguration *WindowsConfigurationParameters `json:"windowsConfiguration,omitempty" tf:"windows_configuration,omitempty"`
}

func (*OsProfileParameters) DeepCopy

func (in *OsProfileParameters) DeepCopy() *OsProfileParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsProfileParameters.

func (*OsProfileParameters) DeepCopyInto

func (in *OsProfileParameters) DeepCopyInto(out *OsProfileParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutputBlobManagedIdentityInitParameters

type OutputBlobManagedIdentityInitParameters struct {

	// The client ID of the managed identity.
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*OutputBlobManagedIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityInitParameters.

func (*OutputBlobManagedIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutputBlobManagedIdentityObservation

type OutputBlobManagedIdentityObservation struct {
}

func (*OutputBlobManagedIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityObservation.

func (*OutputBlobManagedIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutputBlobManagedIdentityParameters

type OutputBlobManagedIdentityParameters struct {

	// The client ID of the managed identity.
	// +kubebuilder:validation:Optional
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	// +kubebuilder:validation:Optional
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*OutputBlobManagedIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityParameters.

func (*OutputBlobManagedIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParameterInitParameters

type ParameterInitParameters struct {

	// The run parameter name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The run parameter value.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*ParameterInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterInitParameters.

func (*ParameterInitParameters) DeepCopyInto

func (in *ParameterInitParameters) DeepCopyInto(out *ParameterInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParameterObservation

type ParameterObservation struct {

	// The run parameter name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The run parameter value.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*ParameterObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterObservation.

func (*ParameterObservation) DeepCopyInto

func (in *ParameterObservation) DeepCopyInto(out *ParameterObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParameterParameters

type ParameterParameters struct {

	// The run parameter name.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The run parameter value.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*ParameterParameters) DeepCopy

func (in *ParameterParameters) DeepCopy() *ParameterParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterParameters.

func (*ParameterParameters) DeepCopyInto

func (in *ParameterParameters) DeepCopyInto(out *ParameterParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlanInitParameters

type PlanInitParameters struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*PlanInitParameters) DeepCopy

func (in *PlanInitParameters) DeepCopy() *PlanInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanInitParameters.

func (*PlanInitParameters) DeepCopyInto

func (in *PlanInitParameters) DeepCopyInto(out *PlanInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlanObservation

type PlanObservation struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*PlanObservation) DeepCopy

func (in *PlanObservation) DeepCopy() *PlanObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanObservation.

func (*PlanObservation) DeepCopyInto

func (in *PlanObservation) DeepCopyInto(out *PlanObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlanParameters

type PlanParameters struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`
}

func (*PlanParameters) DeepCopy

func (in *PlanParameters) DeepCopy() *PlanParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanParameters.

func (*PlanParameters) DeepCopyInto

func (in *PlanParameters) DeepCopyInto(out *PlanParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PriorityMixInitParameters

type PriorityMixInitParameters struct {

	// Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
	BaseRegularCount *float64 `json:"baseRegularCount,omitempty" tf:"base_regular_count,omitempty"`

	// Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
	RegularPercentageAboveBase *float64 `json:"regularPercentageAboveBase,omitempty" tf:"regular_percentage_above_base,omitempty"`
}

func (*PriorityMixInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityMixInitParameters.

func (*PriorityMixInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PriorityMixObservation

type PriorityMixObservation struct {

	// Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
	BaseRegularCount *float64 `json:"baseRegularCount,omitempty" tf:"base_regular_count,omitempty"`

	// Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
	RegularPercentageAboveBase *float64 `json:"regularPercentageAboveBase,omitempty" tf:"regular_percentage_above_base,omitempty"`
}

func (*PriorityMixObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityMixObservation.

func (*PriorityMixObservation) DeepCopyInto

func (in *PriorityMixObservation) DeepCopyInto(out *PriorityMixObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PriorityMixParameters

type PriorityMixParameters struct {

	// Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
	// +kubebuilder:validation:Optional
	BaseRegularCount *float64 `json:"baseRegularCount,omitempty" tf:"base_regular_count,omitempty"`

	// Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
	// +kubebuilder:validation:Optional
	RegularPercentageAboveBase *float64 `json:"regularPercentageAboveBase,omitempty" tf:"regular_percentage_above_base,omitempty"`
}

func (*PriorityMixParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityMixParameters.

func (*PriorityMixParameters) DeepCopyInto

func (in *PriorityMixParameters) DeepCopyInto(out *PriorityMixParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedParameterInitParameters

type ProtectedParameterInitParameters struct {

	// The run parameter name.
	NameSecretRef v1.SecretKeySelector `json:"nameSecretRef" tf:"-"`

	// The run parameter value.
	ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"`
}

func (*ProtectedParameterInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterInitParameters.

func (*ProtectedParameterInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedParameterObservation

type ProtectedParameterObservation struct {
}

func (*ProtectedParameterObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterObservation.

func (*ProtectedParameterObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedParameterParameters

type ProtectedParameterParameters struct {

	// The run parameter name.
	// +kubebuilder:validation:Optional
	NameSecretRef v1.SecretKeySelector `json:"nameSecretRef" tf:"-"`

	// The run parameter value.
	// +kubebuilder:validation:Optional
	ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"`
}

func (*ProtectedParameterParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterParameters.

func (*ProtectedParameterParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedSettingsFromKeyVaultInitParameters

type ProtectedSettingsFromKeyVaultInitParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*ProtectedSettingsFromKeyVaultInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedSettingsFromKeyVaultInitParameters.

func (*ProtectedSettingsFromKeyVaultInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedSettingsFromKeyVaultObservation

type ProtectedSettingsFromKeyVaultObservation struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*ProtectedSettingsFromKeyVaultObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedSettingsFromKeyVaultObservation.

func (*ProtectedSettingsFromKeyVaultObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedSettingsFromKeyVaultParameters

type ProtectedSettingsFromKeyVaultParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*ProtectedSettingsFromKeyVaultParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedSettingsFromKeyVaultParameters.

func (*ProtectedSettingsFromKeyVaultParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressIPTagInitParameters

type PublicIPAddressIPTagInitParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PublicIPAddressIPTagInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressIPTagInitParameters.

func (*PublicIPAddressIPTagInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressIPTagObservation

type PublicIPAddressIPTagObservation struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PublicIPAddressIPTagObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressIPTagObservation.

func (*PublicIPAddressIPTagObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressIPTagParameters

type PublicIPAddressIPTagParameters struct {

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag" tf:"tag,omitempty"`

	// The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*PublicIPAddressIPTagParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressIPTagParameters.

func (*PublicIPAddressIPTagParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressInitParameters

type PublicIPAddressInitParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []IPTagInitParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*PublicIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressInitParameters.

func (*PublicIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressObservation

type PublicIPAddressObservation struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	IPTag []IPTagObservation `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*PublicIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressObservation.

func (*PublicIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PublicIPAddressParameters

type PublicIPAddressParameters struct {

	// The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
	// +kubebuilder:validation:Optional
	DomainNameLabel *string `json:"domainNameLabel,omitempty" tf:"domain_name_label,omitempty"`

	// One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	IPTag []IPTagParameters `json:"ipTag,omitempty" tf:"ip_tag,omitempty"`

	// The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
	// +kubebuilder:validation:Optional
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicIPPrefixID *string `json:"publicIpPrefixId,omitempty" tf:"public_ip_prefix_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*PublicIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAddressParameters.

func (*PublicIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PurchasePlanInitParameters

type PurchasePlanInitParameters struct {

	// The Purchase Plan Name for this Shared Image. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Purchase Plan Product for this Gallery Image. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// The Purchase Plan Publisher for this Gallery Image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*PurchasePlanInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PurchasePlanInitParameters.

func (*PurchasePlanInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PurchasePlanObservation

type PurchasePlanObservation struct {

	// The Purchase Plan Name for this Shared Image. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Purchase Plan Product for this Gallery Image. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// The Purchase Plan Publisher for this Gallery Image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*PurchasePlanObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PurchasePlanObservation.

func (*PurchasePlanObservation) DeepCopyInto

func (in *PurchasePlanObservation) DeepCopyInto(out *PurchasePlanObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PurchasePlanParameters

type PurchasePlanParameters struct {

	// The Purchase Plan Name for this Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The Purchase Plan Product for this Gallery Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// The Purchase Plan Publisher for this Gallery Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*PurchasePlanParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PurchasePlanParameters.

func (*PurchasePlanParameters) DeepCopyInto

func (in *PurchasePlanParameters) DeepCopyInto(out *PurchasePlanParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RollingUpgradePolicyInitParameters

type RollingUpgradePolicyInitParameters struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent,omitempty" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent,omitempty" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent,omitempty" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*RollingUpgradePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpgradePolicyInitParameters.

func (*RollingUpgradePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RollingUpgradePolicyObservation

type RollingUpgradePolicyObservation struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent,omitempty" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent,omitempty" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent,omitempty" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*RollingUpgradePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpgradePolicyObservation.

func (*RollingUpgradePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RollingUpgradePolicyParameters

type RollingUpgradePolicyParameters struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	// +kubebuilder:validation:Optional
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	// +kubebuilder:validation:Optional
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	// +kubebuilder:validation:Optional
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	// +kubebuilder:validation:Optional
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	// +kubebuilder:validation:Optional
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	// +kubebuilder:validation:Optional
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	// +kubebuilder:validation:Optional
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*RollingUpgradePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpgradePolicyParameters.

func (*RollingUpgradePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInInitParameters

type ScaleInInitParameters struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*ScaleInInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInInitParameters.

func (*ScaleInInitParameters) DeepCopyInto

func (in *ScaleInInitParameters) DeepCopyInto(out *ScaleInInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInObservation

type ScaleInObservation struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*ScaleInObservation) DeepCopy

func (in *ScaleInObservation) DeepCopy() *ScaleInObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInObservation.

func (*ScaleInObservation) DeepCopyInto

func (in *ScaleInObservation) DeepCopyInto(out *ScaleInObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInParameters

type ScaleInParameters struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	// +kubebuilder:validation:Optional
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	// +kubebuilder:validation:Optional
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*ScaleInParameters) DeepCopy

func (in *ScaleInParameters) DeepCopy() *ScaleInParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInParameters.

func (*ScaleInParameters) DeepCopyInto

func (in *ScaleInParameters) DeepCopyInto(out *ScaleInParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScriptURIManagedIdentityInitParameters

type ScriptURIManagedIdentityInitParameters struct {

	// The client ID of the managed identity.
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*ScriptURIManagedIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityInitParameters.

func (*ScriptURIManagedIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScriptURIManagedIdentityObservation

type ScriptURIManagedIdentityObservation struct {
}

func (*ScriptURIManagedIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityObservation.

func (*ScriptURIManagedIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScriptURIManagedIdentityParameters

type ScriptURIManagedIdentityParameters struct {

	// The client ID of the managed identity.
	// +kubebuilder:validation:Optional
	ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"`

	// The object ID of the managed identity.
	// +kubebuilder:validation:Optional
	ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"`
}

func (*ScriptURIManagedIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityParameters.

func (*ScriptURIManagedIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretCertificateInitParameters

type SecretCertificateInitParameters struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*SecretCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateInitParameters.

func (*SecretCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretCertificateObservation

type SecretCertificateObservation struct {

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*SecretCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateObservation.

func (*SecretCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretCertificateParameters

type SecretCertificateParameters struct {

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*SecretCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateParameters.

func (*SecretCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretInitParameters

type SecretInitParameters struct {

	// One or more certificate blocks as defined above.
	Certificate []CertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*SecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretInitParameters.

func (*SecretInitParameters) DeepCopyInto

func (in *SecretInitParameters) DeepCopyInto(out *SecretInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretObservation

type SecretObservation struct {

	// One or more certificate blocks as defined above.
	Certificate []CertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*SecretObservation) DeepCopy

func (in *SecretObservation) DeepCopy() *SecretObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretObservation.

func (*SecretObservation) DeepCopyInto

func (in *SecretObservation) DeepCopyInto(out *SecretObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretParameters

type SecretParameters struct {

	// One or more certificate blocks as defined above.
	// +kubebuilder:validation:Optional
	Certificate []CertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*SecretParameters) DeepCopy

func (in *SecretParameters) DeepCopy() *SecretParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretParameters.

func (*SecretParameters) DeepCopyInto

func (in *SecretParameters) DeepCopyInto(out *SecretParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImage

type SharedImage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.identifier) || (has(self.initProvider) && has(self.initProvider.identifier))",message="spec.forProvider.identifier is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.osType) || (has(self.initProvider) && has(self.initProvider.osType))",message="spec.forProvider.osType is a required parameter"
	Spec   SharedImageSpec   `json:"spec"`
	Status SharedImageStatus `json:"status,omitempty"`
}

SharedImage is the Schema for the SharedImages API. Manages a Shared Image within a Shared Image Gallery. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*SharedImage) DeepCopy

func (in *SharedImage) DeepCopy() *SharedImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImage.

func (*SharedImage) DeepCopyInto

func (in *SharedImage) DeepCopyInto(out *SharedImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedImage) DeepCopyObject

func (in *SharedImage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SharedImage) GetCondition

func (mg *SharedImage) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SharedImage.

func (*SharedImage) GetConnectionDetailsMapping

func (tr *SharedImage) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SharedImage

func (*SharedImage) GetDeletionPolicy

func (mg *SharedImage) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SharedImage.

func (*SharedImage) GetID

func (tr *SharedImage) GetID() string

GetID returns ID of underlying Terraform resource of this SharedImage

func (*SharedImage) GetInitParameters

func (tr *SharedImage) GetInitParameters() (map[string]any, error)

GetInitParameters of this SharedImage

func (*SharedImage) GetManagementPolicies

func (mg *SharedImage) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SharedImage.

func (*SharedImage) GetMergedParameters

func (tr *SharedImage) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SharedImage

func (*SharedImage) GetObservation

func (tr *SharedImage) GetObservation() (map[string]any, error)

GetObservation of this SharedImage

func (*SharedImage) GetParameters

func (tr *SharedImage) GetParameters() (map[string]any, error)

GetParameters of this SharedImage

func (*SharedImage) GetProviderConfigReference

func (mg *SharedImage) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SharedImage.

func (*SharedImage) GetPublishConnectionDetailsTo

func (mg *SharedImage) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SharedImage.

func (*SharedImage) GetTerraformResourceType

func (mg *SharedImage) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SharedImage

func (*SharedImage) GetTerraformSchemaVersion

func (tr *SharedImage) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SharedImage) GetWriteConnectionSecretToReference

func (mg *SharedImage) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SharedImage.

func (*SharedImage) Hub

func (tr *SharedImage) Hub()

Hub marks this type as a conversion hub.

func (*SharedImage) LateInitialize

func (tr *SharedImage) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SharedImage using its observed tfState. returns True if there are any spec changes for the resource.

func (*SharedImage) ResolveReferences

func (mg *SharedImage) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this SharedImage.

func (*SharedImage) SetConditions

func (mg *SharedImage) SetConditions(c ...xpv1.Condition)

SetConditions of this SharedImage.

func (*SharedImage) SetDeletionPolicy

func (mg *SharedImage) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SharedImage.

func (*SharedImage) SetManagementPolicies

func (mg *SharedImage) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SharedImage.

func (*SharedImage) SetObservation

func (tr *SharedImage) SetObservation(obs map[string]any) error

SetObservation for this SharedImage

func (*SharedImage) SetParameters

func (tr *SharedImage) SetParameters(params map[string]any) error

SetParameters for this SharedImage

func (*SharedImage) SetProviderConfigReference

func (mg *SharedImage) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SharedImage.

func (*SharedImage) SetPublishConnectionDetailsTo

func (mg *SharedImage) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SharedImage.

func (*SharedImage) SetWriteConnectionSecretToReference

func (mg *SharedImage) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SharedImage.

type SharedImageGallery

type SharedImageGallery struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	Spec   SharedImageGallerySpec   `json:"spec"`
	Status SharedImageGalleryStatus `json:"status,omitempty"`
}

SharedImageGallery is the Schema for the SharedImageGallerys API. Manages a Shared Image Gallery. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*SharedImageGallery) DeepCopy

func (in *SharedImageGallery) DeepCopy() *SharedImageGallery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGallery.

func (*SharedImageGallery) DeepCopyInto

func (in *SharedImageGallery) DeepCopyInto(out *SharedImageGallery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedImageGallery) DeepCopyObject

func (in *SharedImageGallery) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SharedImageGallery) GetCondition

func (mg *SharedImageGallery) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SharedImageGallery.

func (*SharedImageGallery) GetConnectionDetailsMapping

func (tr *SharedImageGallery) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SharedImageGallery

func (*SharedImageGallery) GetDeletionPolicy

func (mg *SharedImageGallery) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SharedImageGallery.

func (*SharedImageGallery) GetID

func (tr *SharedImageGallery) GetID() string

GetID returns ID of underlying Terraform resource of this SharedImageGallery

func (*SharedImageGallery) GetInitParameters

func (tr *SharedImageGallery) GetInitParameters() (map[string]any, error)

GetInitParameters of this SharedImageGallery

func (*SharedImageGallery) GetManagementPolicies

func (mg *SharedImageGallery) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SharedImageGallery.

func (*SharedImageGallery) GetMergedParameters

func (tr *SharedImageGallery) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SharedImageGallery

func (*SharedImageGallery) GetObservation

func (tr *SharedImageGallery) GetObservation() (map[string]any, error)

GetObservation of this SharedImageGallery

func (*SharedImageGallery) GetParameters

func (tr *SharedImageGallery) GetParameters() (map[string]any, error)

GetParameters of this SharedImageGallery

func (*SharedImageGallery) GetProviderConfigReference

func (mg *SharedImageGallery) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SharedImageGallery.

func (*SharedImageGallery) GetPublishConnectionDetailsTo

func (mg *SharedImageGallery) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SharedImageGallery.

func (*SharedImageGallery) GetTerraformResourceType

func (mg *SharedImageGallery) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SharedImageGallery

func (*SharedImageGallery) GetTerraformSchemaVersion

func (tr *SharedImageGallery) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SharedImageGallery) GetWriteConnectionSecretToReference

func (mg *SharedImageGallery) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SharedImageGallery.

func (*SharedImageGallery) Hub

func (tr *SharedImageGallery) Hub()

Hub marks this type as a conversion hub.

func (*SharedImageGallery) LateInitialize

func (tr *SharedImageGallery) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SharedImageGallery using its observed tfState. returns True if there are any spec changes for the resource.

func (*SharedImageGallery) ResolveReferences

func (mg *SharedImageGallery) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this SharedImageGallery.

func (*SharedImageGallery) SetConditions

func (mg *SharedImageGallery) SetConditions(c ...xpv1.Condition)

SetConditions of this SharedImageGallery.

func (*SharedImageGallery) SetDeletionPolicy

func (mg *SharedImageGallery) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SharedImageGallery.

func (*SharedImageGallery) SetManagementPolicies

func (mg *SharedImageGallery) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SharedImageGallery.

func (*SharedImageGallery) SetObservation

func (tr *SharedImageGallery) SetObservation(obs map[string]any) error

SetObservation for this SharedImageGallery

func (*SharedImageGallery) SetParameters

func (tr *SharedImageGallery) SetParameters(params map[string]any) error

SetParameters for this SharedImageGallery

func (*SharedImageGallery) SetProviderConfigReference

func (mg *SharedImageGallery) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SharedImageGallery.

func (*SharedImageGallery) SetPublishConnectionDetailsTo

func (mg *SharedImageGallery) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SharedImageGallery.

func (*SharedImageGallery) SetWriteConnectionSecretToReference

func (mg *SharedImageGallery) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SharedImageGallery.

type SharedImageGalleryInitParameters

type SharedImageGalleryInitParameters struct {

	// A description for this Shared Image Gallery.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A sharing block as defined below. Changing this forces a new resource to be created.
	Sharing *SharingInitParameters `json:"sharing,omitempty" tf:"sharing,omitempty"`

	// A mapping of tags to assign to the Shared Image Gallery.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*SharedImageGalleryInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGalleryInitParameters.

func (*SharedImageGalleryInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageGalleryList

type SharedImageGalleryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SharedImageGallery `json:"items"`
}

SharedImageGalleryList contains a list of SharedImageGallerys

func (*SharedImageGalleryList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGalleryList.

func (*SharedImageGalleryList) DeepCopyInto

func (in *SharedImageGalleryList) DeepCopyInto(out *SharedImageGalleryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedImageGalleryList) DeepCopyObject

func (in *SharedImageGalleryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SharedImageGalleryList) GetItems

func (l *SharedImageGalleryList) GetItems() []resource.Managed

GetItems of this SharedImageGalleryList.

type SharedImageGalleryObservation

type SharedImageGalleryObservation struct {

	// A description for this Shared Image Gallery.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the Shared Image Gallery.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// A sharing block as defined below. Changing this forces a new resource to be created.
	Sharing *SharingObservation `json:"sharing,omitempty" tf:"sharing,omitempty"`

	// A mapping of tags to assign to the Shared Image Gallery.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The Unique Name for this Shared Image Gallery.
	UniqueName *string `json:"uniqueName,omitempty" tf:"unique_name,omitempty"`
}

func (*SharedImageGalleryObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGalleryObservation.

func (*SharedImageGalleryObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageGalleryParameters

type SharedImageGalleryParameters struct {

	// A description for this Shared Image Gallery.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// A sharing block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Sharing *SharingParameters `json:"sharing,omitempty" tf:"sharing,omitempty"`

	// A mapping of tags to assign to the Shared Image Gallery.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*SharedImageGalleryParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGalleryParameters.

func (*SharedImageGalleryParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageGallerySpec

type SharedImageGallerySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SharedImageGalleryParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SharedImageGalleryInitParameters `json:"initProvider,omitempty"`
}

SharedImageGallerySpec defines the desired state of SharedImageGallery

func (*SharedImageGallerySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGallerySpec.

func (*SharedImageGallerySpec) DeepCopyInto

func (in *SharedImageGallerySpec) DeepCopyInto(out *SharedImageGallerySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageGalleryStatus

type SharedImageGalleryStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SharedImageGalleryObservation `json:"atProvider,omitempty"`
}

SharedImageGalleryStatus defines the observed state of SharedImageGallery.

func (*SharedImageGalleryStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageGalleryStatus.

func (*SharedImageGalleryStatus) DeepCopyInto

func (in *SharedImageGalleryStatus) DeepCopyInto(out *SharedImageGalleryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageInitParameters

type SharedImageInitParameters struct {

	// Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.
	AcceleratedNetworkSupportEnabled *bool `json:"acceleratedNetworkSupportEnabled,omitempty" tf:"accelerated_network_support_enabled,omitempty"`

	// CPU architecture supported by an OS. Possible values are x64 and Arm64. Defaults to x64. Changing this forces a new resource to be created.
	Architecture *string `json:"architecture,omitempty" tf:"architecture,omitempty"`

	// Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.
	ConfidentialVMEnabled *bool `json:"confidentialVmEnabled,omitempty" tf:"confidential_vm_enabled,omitempty"`

	// Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.
	ConfidentialVMSupported *bool `json:"confidentialVmSupported,omitempty" tf:"confidential_vm_supported,omitempty"`

	// A description of this Shared Image.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// One or more Disk Types not allowed for the Image. Possible values include Standard_LRS and Premium_LRS.
	// +listType=set
	DiskTypesNotAllowed []*string `json:"diskTypesNotAllowed,omitempty" tf:"disk_types_not_allowed,omitempty"`

	// The end of life date in RFC3339 format of the Image.
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.
	Eula *string `json:"eula,omitempty" tf:"eula,omitempty"`

	// The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// An identifier block as defined below.
	Identifier *IdentifierInitParameters `json:"identifier,omitempty" tf:"identifier,omitempty"`

	// Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Maximum memory in GB recommended for the Image.
	MaxRecommendedMemoryInGb *float64 `json:"maxRecommendedMemoryInGb,omitempty" tf:"max_recommended_memory_in_gb,omitempty"`

	// Maximum count of vCPUs recommended for the Image.
	MaxRecommendedVcpuCount *float64 `json:"maxRecommendedVcpuCount,omitempty" tf:"max_recommended_vcpu_count,omitempty"`

	// Minimum memory in GB recommended for the Image.
	MinRecommendedMemoryInGb *float64 `json:"minRecommendedMemoryInGb,omitempty" tf:"min_recommended_memory_in_gb,omitempty"`

	// Minimum count of vCPUs recommended for the Image.
	MinRecommendedVcpuCount *float64 `json:"minRecommendedVcpuCount,omitempty" tf:"min_recommended_vcpu_count,omitempty"`

	// The type of Operating System present in this Shared Image. Possible values are Linux and Windows. Changing this forces a new resource to be created.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.
	PrivacyStatementURI *string `json:"privacyStatementUri,omitempty" tf:"privacy_statement_uri,omitempty"`

	// A purchase_plan block as defined below.
	PurchasePlan *PurchasePlanInitParameters `json:"purchasePlan,omitempty" tf:"purchase_plan,omitempty"`

	// The URI containing the Release Notes associated with this Shared Image.
	ReleaseNoteURI *string `json:"releaseNoteUri,omitempty" tf:"release_note_uri,omitempty"`

	// Specifies that the Operating System used inside this Image has not been Generalized (for example, sysprep on Windows has not been run). Changing this forces a new resource to be created.
	Specialized *bool `json:"specialized,omitempty" tf:"specialized,omitempty"`

	// A mapping of tags to assign to the Shared Image.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.
	TrustedLaunchSupported *bool `json:"trustedLaunchSupported,omitempty" tf:"trusted_launch_supported,omitempty"`
}

func (*SharedImageInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageInitParameters.

func (*SharedImageInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageList

type SharedImageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SharedImage `json:"items"`
}

SharedImageList contains a list of SharedImages

func (*SharedImageList) DeepCopy

func (in *SharedImageList) DeepCopy() *SharedImageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageList.

func (*SharedImageList) DeepCopyInto

func (in *SharedImageList) DeepCopyInto(out *SharedImageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SharedImageList) DeepCopyObject

func (in *SharedImageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SharedImageList) GetItems

func (l *SharedImageList) GetItems() []resource.Managed

GetItems of this SharedImageList.

type SharedImageObservation

type SharedImageObservation struct {

	// Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.
	AcceleratedNetworkSupportEnabled *bool `json:"acceleratedNetworkSupportEnabled,omitempty" tf:"accelerated_network_support_enabled,omitempty"`

	// CPU architecture supported by an OS. Possible values are x64 and Arm64. Defaults to x64. Changing this forces a new resource to be created.
	Architecture *string `json:"architecture,omitempty" tf:"architecture,omitempty"`

	// Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.
	ConfidentialVMEnabled *bool `json:"confidentialVmEnabled,omitempty" tf:"confidential_vm_enabled,omitempty"`

	// Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.
	ConfidentialVMSupported *bool `json:"confidentialVmSupported,omitempty" tf:"confidential_vm_supported,omitempty"`

	// A description of this Shared Image.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// One or more Disk Types not allowed for the Image. Possible values include Standard_LRS and Premium_LRS.
	// +listType=set
	DiskTypesNotAllowed []*string `json:"diskTypesNotAllowed,omitempty" tf:"disk_types_not_allowed,omitempty"`

	// The end of life date in RFC3339 format of the Image.
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.
	Eula *string `json:"eula,omitempty" tf:"eula,omitempty"`

	// Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.
	GalleryName *string `json:"galleryName,omitempty" tf:"gallery_name,omitempty"`

	// The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// The ID of the Shared Image.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identifier block as defined below.
	Identifier *IdentifierObservation `json:"identifier,omitempty" tf:"identifier,omitempty"`

	// Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Maximum memory in GB recommended for the Image.
	MaxRecommendedMemoryInGb *float64 `json:"maxRecommendedMemoryInGb,omitempty" tf:"max_recommended_memory_in_gb,omitempty"`

	// Maximum count of vCPUs recommended for the Image.
	MaxRecommendedVcpuCount *float64 `json:"maxRecommendedVcpuCount,omitempty" tf:"max_recommended_vcpu_count,omitempty"`

	// Minimum memory in GB recommended for the Image.
	MinRecommendedMemoryInGb *float64 `json:"minRecommendedMemoryInGb,omitempty" tf:"min_recommended_memory_in_gb,omitempty"`

	// Minimum count of vCPUs recommended for the Image.
	MinRecommendedVcpuCount *float64 `json:"minRecommendedVcpuCount,omitempty" tf:"min_recommended_vcpu_count,omitempty"`

	// The type of Operating System present in this Shared Image. Possible values are Linux and Windows. Changing this forces a new resource to be created.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.
	PrivacyStatementURI *string `json:"privacyStatementUri,omitempty" tf:"privacy_statement_uri,omitempty"`

	// A purchase_plan block as defined below.
	PurchasePlan *PurchasePlanObservation `json:"purchasePlan,omitempty" tf:"purchase_plan,omitempty"`

	// The URI containing the Release Notes associated with this Shared Image.
	ReleaseNoteURI *string `json:"releaseNoteUri,omitempty" tf:"release_note_uri,omitempty"`

	// The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Specifies that the Operating System used inside this Image has not been Generalized (for example, sysprep on Windows has not been run). Changing this forces a new resource to be created.
	Specialized *bool `json:"specialized,omitempty" tf:"specialized,omitempty"`

	// A mapping of tags to assign to the Shared Image.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.
	TrustedLaunchSupported *bool `json:"trustedLaunchSupported,omitempty" tf:"trusted_launch_supported,omitempty"`
}

func (*SharedImageObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageObservation.

func (*SharedImageObservation) DeepCopyInto

func (in *SharedImageObservation) DeepCopyInto(out *SharedImageObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageParameters

type SharedImageParameters struct {

	// Specifies if the Shared Image supports Accelerated Network. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AcceleratedNetworkSupportEnabled *bool `json:"acceleratedNetworkSupportEnabled,omitempty" tf:"accelerated_network_support_enabled,omitempty"`

	// CPU architecture supported by an OS. Possible values are x64 and Arm64. Defaults to x64. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Architecture *string `json:"architecture,omitempty" tf:"architecture,omitempty"`

	// Specifies if Confidential Virtual Machines enabled. It will enable all the features of trusted, with higher confidentiality features for isolate machines or encrypted data. Available for Gen2 machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ConfidentialVMEnabled *bool `json:"confidentialVmEnabled,omitempty" tf:"confidential_vm_enabled,omitempty"`

	// Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ConfidentialVMSupported *bool `json:"confidentialVmSupported,omitempty" tf:"confidential_vm_supported,omitempty"`

	// A description of this Shared Image.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// One or more Disk Types not allowed for the Image. Possible values include Standard_LRS and Premium_LRS.
	// +kubebuilder:validation:Optional
	// +listType=set
	DiskTypesNotAllowed []*string `json:"diskTypesNotAllowed,omitempty" tf:"disk_types_not_allowed,omitempty"`

	// The end of life date in RFC3339 format of the Image.
	// +kubebuilder:validation:Optional
	EndOfLifeDate *string `json:"endOfLifeDate,omitempty" tf:"end_of_life_date,omitempty"`

	// The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Eula *string `json:"eula,omitempty" tf:"eula,omitempty"`

	// Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.SharedImageGallery
	// +kubebuilder:validation:Optional
	GalleryName *string `json:"galleryName,omitempty" tf:"gallery_name,omitempty"`

	// Reference to a SharedImageGallery in compute to populate galleryName.
	// +kubebuilder:validation:Optional
	GalleryNameRef *v1.Reference `json:"galleryNameRef,omitempty" tf:"-"`

	// Selector for a SharedImageGallery in compute to populate galleryName.
	// +kubebuilder:validation:Optional
	GalleryNameSelector *v1.Selector `json:"galleryNameSelector,omitempty" tf:"-"`

	// The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HyperVGeneration *string `json:"hyperVGeneration,omitempty" tf:"hyper_v_generation,omitempty"`

	// An identifier block as defined below.
	// +kubebuilder:validation:Optional
	Identifier *IdentifierParameters `json:"identifier,omitempty" tf:"identifier,omitempty"`

	// Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Maximum memory in GB recommended for the Image.
	// +kubebuilder:validation:Optional
	MaxRecommendedMemoryInGb *float64 `json:"maxRecommendedMemoryInGb,omitempty" tf:"max_recommended_memory_in_gb,omitempty"`

	// Maximum count of vCPUs recommended for the Image.
	// +kubebuilder:validation:Optional
	MaxRecommendedVcpuCount *float64 `json:"maxRecommendedVcpuCount,omitempty" tf:"max_recommended_vcpu_count,omitempty"`

	// Minimum memory in GB recommended for the Image.
	// +kubebuilder:validation:Optional
	MinRecommendedMemoryInGb *float64 `json:"minRecommendedMemoryInGb,omitempty" tf:"min_recommended_memory_in_gb,omitempty"`

	// Minimum count of vCPUs recommended for the Image.
	// +kubebuilder:validation:Optional
	MinRecommendedVcpuCount *float64 `json:"minRecommendedVcpuCount,omitempty" tf:"min_recommended_vcpu_count,omitempty"`

	// The type of Operating System present in this Shared Image. Possible values are Linux and Windows. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The URI containing the Privacy Statement associated with this Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PrivacyStatementURI *string `json:"privacyStatementUri,omitempty" tf:"privacy_statement_uri,omitempty"`

	// A purchase_plan block as defined below.
	// +kubebuilder:validation:Optional
	PurchasePlan *PurchasePlanParameters `json:"purchasePlan,omitempty" tf:"purchase_plan,omitempty"`

	// The URI containing the Release Notes associated with this Shared Image.
	// +kubebuilder:validation:Optional
	ReleaseNoteURI *string `json:"releaseNoteUri,omitempty" tf:"release_note_uri,omitempty"`

	// The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// Specifies that the Operating System used inside this Image has not been Generalized (for example, sysprep on Windows has not been run). Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Specialized *bool `json:"specialized,omitempty" tf:"specialized,omitempty"`

	// A mapping of tags to assign to the Shared Image.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies if Trusted Launch has to be enabled for the Virtual Machine created from the Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`

	// Specifies if supports creation of both Trusted Launch virtual machines and Gen2 virtual machines with standard security created from the Shared Image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TrustedLaunchSupported *bool `json:"trustedLaunchSupported,omitempty" tf:"trusted_launch_supported,omitempty"`
}

func (*SharedImageParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageParameters.

func (*SharedImageParameters) DeepCopyInto

func (in *SharedImageParameters) DeepCopyInto(out *SharedImageParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageSpec

type SharedImageSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SharedImageParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SharedImageInitParameters `json:"initProvider,omitempty"`
}

SharedImageSpec defines the desired state of SharedImage

func (*SharedImageSpec) DeepCopy

func (in *SharedImageSpec) DeepCopy() *SharedImageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageSpec.

func (*SharedImageSpec) DeepCopyInto

func (in *SharedImageSpec) DeepCopyInto(out *SharedImageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedImageStatus

type SharedImageStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SharedImageObservation `json:"atProvider,omitempty"`
}

SharedImageStatus defines the observed state of SharedImage.

func (*SharedImageStatus) DeepCopy

func (in *SharedImageStatus) DeepCopy() *SharedImageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedImageStatus.

func (*SharedImageStatus) DeepCopyInto

func (in *SharedImageStatus) DeepCopyInto(out *SharedImageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharingInitParameters

type SharingInitParameters struct {

	// A community_gallery block as defined below. Changing this forces a new resource to be created.
	CommunityGallery *CommunityGalleryInitParameters `json:"communityGallery,omitempty" tf:"community_gallery,omitempty"`

	// The permission of the Shared Image Gallery when sharing. Possible values are Community, Groups and Private. Changing this forces a new resource to be created.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*SharingInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharingInitParameters.

func (*SharingInitParameters) DeepCopyInto

func (in *SharingInitParameters) DeepCopyInto(out *SharingInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharingObservation

type SharingObservation struct {

	// A community_gallery block as defined below. Changing this forces a new resource to be created.
	CommunityGallery *CommunityGalleryObservation `json:"communityGallery,omitempty" tf:"community_gallery,omitempty"`

	// The permission of the Shared Image Gallery when sharing. Possible values are Community, Groups and Private. Changing this forces a new resource to be created.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*SharingObservation) DeepCopy

func (in *SharingObservation) DeepCopy() *SharingObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharingObservation.

func (*SharingObservation) DeepCopyInto

func (in *SharingObservation) DeepCopyInto(out *SharingObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharingParameters

type SharingParameters struct {

	// A community_gallery block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CommunityGallery *CommunityGalleryParameters `json:"communityGallery,omitempty" tf:"community_gallery,omitempty"`

	// The permission of the Shared Image Gallery when sharing. Possible values are Community, Groups and Private. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Permission *string `json:"permission" tf:"permission,omitempty"`
}

func (*SharingParameters) DeepCopy

func (in *SharingParameters) DeepCopy() *SharingParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharingParameters.

func (*SharingParameters) DeepCopyInto

func (in *SharingParameters) DeepCopyInto(out *SharingParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SkuInitParameters

type SkuInitParameters struct {

	// Specifies the number of instances to be reserved. It must be greater than or equal to 0 and not exceed the quota in the subscription.
	Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`

	// Name of the sku, such as Standard_F2. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*SkuInitParameters) DeepCopy

func (in *SkuInitParameters) DeepCopy() *SkuInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SkuInitParameters.

func (*SkuInitParameters) DeepCopyInto

func (in *SkuInitParameters) DeepCopyInto(out *SkuInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SkuObservation

type SkuObservation struct {

	// Specifies the number of instances to be reserved. It must be greater than or equal to 0 and not exceed the quota in the subscription.
	Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`

	// Name of the sku, such as Standard_F2. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*SkuObservation) DeepCopy

func (in *SkuObservation) DeepCopy() *SkuObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SkuObservation.

func (*SkuObservation) DeepCopyInto

func (in *SkuObservation) DeepCopyInto(out *SkuObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SkuParameters

type SkuParameters struct {

	// Specifies the number of instances to be reserved. It must be greater than or equal to 0 and not exceed the quota in the subscription.
	// +kubebuilder:validation:Optional
	Capacity *float64 `json:"capacity" tf:"capacity,omitempty"`

	// Name of the sku, such as Standard_F2. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`
}

func (*SkuParameters) DeepCopy

func (in *SkuParameters) DeepCopy() *SkuParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SkuParameters.

func (*SkuParameters) DeepCopyInto

func (in *SkuParameters) DeepCopyInto(out *SkuParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Snapshot

type Snapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.createOption) || (has(self.initProvider) && has(self.initProvider.createOption))",message="spec.forProvider.createOption is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	Spec   SnapshotSpec   `json:"spec"`
	Status SnapshotStatus `json:"status,omitempty"`
}

Snapshot is the Schema for the Snapshots API. Manages a Disk Snapshot. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Snapshot) DeepCopyObject

func (in *Snapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Snapshot) GetCondition

func (mg *Snapshot) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Snapshot.

func (*Snapshot) GetConnectionDetailsMapping

func (tr *Snapshot) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Snapshot

func (*Snapshot) GetDeletionPolicy

func (mg *Snapshot) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Snapshot.

func (*Snapshot) GetID

func (tr *Snapshot) GetID() string

GetID returns ID of underlying Terraform resource of this Snapshot

func (*Snapshot) GetInitParameters

func (tr *Snapshot) GetInitParameters() (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetManagementPolicies

func (mg *Snapshot) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Snapshot.

func (*Snapshot) GetMergedParameters

func (tr *Snapshot) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetObservation

func (tr *Snapshot) GetObservation() (map[string]any, error)

GetObservation of this Snapshot

func (*Snapshot) GetParameters

func (tr *Snapshot) GetParameters() (map[string]any, error)

GetParameters of this Snapshot

func (*Snapshot) GetProviderConfigReference

func (mg *Snapshot) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Snapshot.

func (*Snapshot) GetPublishConnectionDetailsTo

func (mg *Snapshot) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) GetTerraformResourceType

func (mg *Snapshot) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Snapshot

func (*Snapshot) GetTerraformSchemaVersion

func (tr *Snapshot) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Snapshot) GetWriteConnectionSecretToReference

func (mg *Snapshot) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Snapshot.

func (*Snapshot) Hub

func (tr *Snapshot) Hub()

Hub marks this type as a conversion hub.

func (*Snapshot) LateInitialize

func (tr *Snapshot) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Snapshot using its observed tfState. returns True if there are any spec changes for the resource.

func (*Snapshot) ResolveReferences

func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Snapshot.

func (*Snapshot) SetConditions

func (mg *Snapshot) SetConditions(c ...xpv1.Condition)

SetConditions of this Snapshot.

func (*Snapshot) SetDeletionPolicy

func (mg *Snapshot) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Snapshot.

func (*Snapshot) SetManagementPolicies

func (mg *Snapshot) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Snapshot.

func (*Snapshot) SetObservation

func (tr *Snapshot) SetObservation(obs map[string]any) error

SetObservation for this Snapshot

func (*Snapshot) SetParameters

func (tr *Snapshot) SetParameters(params map[string]any) error

SetParameters for this Snapshot

func (*Snapshot) SetProviderConfigReference

func (mg *Snapshot) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Snapshot.

func (*Snapshot) SetPublishConnectionDetailsTo

func (mg *Snapshot) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) SetWriteConnectionSecretToReference

func (mg *Snapshot) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Snapshot.

type SnapshotEncryptionSettingsInitParameters

type SnapshotEncryptionSettingsInitParameters struct {

	// A disk_encryption_key block as defined below.
	DiskEncryptionKey *EncryptionSettingsDiskEncryptionKeyInitParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	KeyEncryptionKey *EncryptionSettingsKeyEncryptionKeyInitParameters `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*SnapshotEncryptionSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionSettingsInitParameters.

func (*SnapshotEncryptionSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotEncryptionSettingsObservation

type SnapshotEncryptionSettingsObservation struct {

	// A disk_encryption_key block as defined below.
	DiskEncryptionKey *EncryptionSettingsDiskEncryptionKeyObservation `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	KeyEncryptionKey *EncryptionSettingsKeyEncryptionKeyObservation `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*SnapshotEncryptionSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionSettingsObservation.

func (*SnapshotEncryptionSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotEncryptionSettingsParameters

type SnapshotEncryptionSettingsParameters struct {

	// A disk_encryption_key block as defined below.
	// +kubebuilder:validation:Optional
	DiskEncryptionKey *EncryptionSettingsDiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// A key_encryption_key block as defined below.
	// +kubebuilder:validation:Optional
	KeyEncryptionKey *EncryptionSettingsKeyEncryptionKeyParameters `json:"keyEncryptionKey,omitempty" tf:"key_encryption_key,omitempty"`
}

func (*SnapshotEncryptionSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionSettingsParameters.

func (*SnapshotEncryptionSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotInitParameters

type SnapshotInitParameters struct {

	// Indicates how the snapshot is to be created. Possible values are Copy or Import.
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting network_access_policy to AllowPrivate.
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The size of the Snapshotted Disk in GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// A encryption_settings block as defined below.
	EncryptionSettings *SnapshotEncryptionSettingsInitParameters `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.
	IncrementalEnabled *bool `json:"incrementalEnabled,omitempty" tf:"incremental_enabled,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Policy for accessing the disk via network. Possible values are AllowAll, AllowPrivate, or DenyAll. Defaults to AllowAll.
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Policy for controlling export on the disk. Possible values are true or false. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// Specifies a reference to an existing snapshot, when create_option is Copy. Changing this forces a new resource to be created.
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.ManagedDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// Reference to a ManagedDisk in compute to populate sourceUri.
	// +kubebuilder:validation:Optional
	SourceURIRef *v1.Reference `json:"sourceUriRef,omitempty" tf:"-"`

	// Selector for a ManagedDisk in compute to populate sourceUri.
	// +kubebuilder:validation:Optional
	SourceURISelector *v1.Selector `json:"sourceUriSelector,omitempty" tf:"-"`

	// Specifies the ID of an storage account. Used with source_uri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*SnapshotInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotInitParameters.

func (*SnapshotInitParameters) DeepCopyInto

func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotList

type SnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Snapshot `json:"items"`
}

SnapshotList contains a list of Snapshots

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList.

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SnapshotList) DeepCopyObject

func (in *SnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnapshotList) GetItems

func (l *SnapshotList) GetItems() []resource.Managed

GetItems of this SnapshotList.

type SnapshotObservation

type SnapshotObservation struct {

	// Indicates how the snapshot is to be created. Possible values are Copy or Import.
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting network_access_policy to AllowPrivate.
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The size of the Snapshotted Disk in GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// A encryption_settings block as defined below.
	EncryptionSettings *SnapshotEncryptionSettingsObservation `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// The Snapshot ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.
	IncrementalEnabled *bool `json:"incrementalEnabled,omitempty" tf:"incremental_enabled,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Policy for accessing the disk via network. Possible values are AllowAll, AllowPrivate, or DenyAll. Defaults to AllowAll.
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Policy for controlling export on the disk. Possible values are true or false. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Specifies a reference to an existing snapshot, when create_option is Copy. Changing this forces a new resource to be created.
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// Specifies the ID of an storage account. Used with source_uri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether Trusted Launch is enabled for the Snapshot.
	TrustedLaunchEnabled *bool `json:"trustedLaunchEnabled,omitempty" tf:"trusted_launch_enabled,omitempty"`
}

func (*SnapshotObservation) DeepCopy

func (in *SnapshotObservation) DeepCopy() *SnapshotObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotObservation.

func (*SnapshotObservation) DeepCopyInto

func (in *SnapshotObservation) DeepCopyInto(out *SnapshotObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotParameters

type SnapshotParameters struct {

	// Indicates how the snapshot is to be created. Possible values are Copy or Import.
	// +kubebuilder:validation:Optional
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// Specifies the ID of the Disk Access which should be used for this Snapshot. This is used in conjunction with setting network_access_policy to AllowPrivate.
	// +kubebuilder:validation:Optional
	DiskAccessID *string `json:"diskAccessId,omitempty" tf:"disk_access_id,omitempty"`

	// The size of the Snapshotted Disk in GB.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// A encryption_settings block as defined below.
	// +kubebuilder:validation:Optional
	EncryptionSettings *SnapshotEncryptionSettingsParameters `json:"encryptionSettings,omitempty" tf:"encryption_settings,omitempty"`

	// Specifies if the Snapshot is incremental. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	IncrementalEnabled *bool `json:"incrementalEnabled,omitempty" tf:"incremental_enabled,omitempty"`

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Policy for accessing the disk via network. Possible values are AllowAll, AllowPrivate, or DenyAll. Defaults to AllowAll.
	// +kubebuilder:validation:Optional
	NetworkAccessPolicy *string `json:"networkAccessPolicy,omitempty" tf:"network_access_policy,omitempty"`

	// Policy for controlling export on the disk. Possible values are true or false. Defaults to true.
	// +kubebuilder:validation:Optional
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// Specifies a reference to an existing snapshot, when create_option is Copy. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SourceResourceID *string `json:"sourceResourceId,omitempty" tf:"source_resource_id,omitempty"`

	// Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.ManagedDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SourceURI *string `json:"sourceUri,omitempty" tf:"source_uri,omitempty"`

	// Reference to a ManagedDisk in compute to populate sourceUri.
	// +kubebuilder:validation:Optional
	SourceURIRef *v1.Reference `json:"sourceUriRef,omitempty" tf:"-"`

	// Selector for a ManagedDisk in compute to populate sourceUri.
	// +kubebuilder:validation:Optional
	SourceURISelector *v1.Selector `json:"sourceUriSelector,omitempty" tf:"-"`

	// Specifies the ID of an storage account. Used with source_uri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountID *string `json:"storageAccountId,omitempty" tf:"storage_account_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*SnapshotParameters) DeepCopy

func (in *SnapshotParameters) DeepCopy() *SnapshotParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotParameters.

func (*SnapshotParameters) DeepCopyInto

func (in *SnapshotParameters) DeepCopyInto(out *SnapshotParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSpec

type SnapshotSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SnapshotParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SnapshotInitParameters `json:"initProvider,omitempty"`
}

SnapshotSpec defines the desired state of Snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec.

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotStatus

type SnapshotStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SnapshotObservation `json:"atProvider,omitempty"`
}

SnapshotStatus defines the observed state of Snapshot.

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus.

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageReferenceInitParameters

type SourceImageReferenceInitParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*SourceImageReferenceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageReferenceInitParameters.

func (*SourceImageReferenceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageReferenceObservation

type SourceImageReferenceObservation struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*SourceImageReferenceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageReferenceObservation.

func (*SourceImageReferenceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageReferenceParameters

type SourceImageReferenceParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Version *string `json:"version" tf:"version,omitempty"`
}

func (*SourceImageReferenceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageReferenceParameters.

func (*SourceImageReferenceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceInitParameters

type SourceInitParameters struct {

	// The Storage Blob URI of the default configuration. Changing this forces a new resource to be created.
	DefaultConfigurationLink *string `json:"defaultConfigurationLink,omitempty" tf:"default_configuration_link,omitempty"`

	// The Storage Blob URI of the source application package. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	MediaLink *string `json:"mediaLink,omitempty" tf:"media_link,omitempty"`

	// Reference to a Blob in storage to populate mediaLink.
	// +kubebuilder:validation:Optional
	MediaLinkRef *v1.Reference `json:"mediaLinkRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate mediaLink.
	// +kubebuilder:validation:Optional
	MediaLinkSelector *v1.Selector `json:"mediaLinkSelector,omitempty" tf:"-"`
}

func (*SourceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceInitParameters.

func (*SourceInitParameters) DeepCopyInto

func (in *SourceInitParameters) DeepCopyInto(out *SourceInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceObservation

type SourceObservation struct {

	// The Storage Blob URI of the default configuration. Changing this forces a new resource to be created.
	DefaultConfigurationLink *string `json:"defaultConfigurationLink,omitempty" tf:"default_configuration_link,omitempty"`

	// The Storage Blob URI of the source application package. Changing this forces a new resource to be created.
	MediaLink *string `json:"mediaLink,omitempty" tf:"media_link,omitempty"`
}

func (*SourceObservation) DeepCopy

func (in *SourceObservation) DeepCopy() *SourceObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceObservation.

func (*SourceObservation) DeepCopyInto

func (in *SourceObservation) DeepCopyInto(out *SourceObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceParameters

type SourceParameters struct {

	// The Storage Blob URI of the default configuration. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DefaultConfigurationLink *string `json:"defaultConfigurationLink,omitempty" tf:"default_configuration_link,omitempty"`

	// The Storage Blob URI of the source application package. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	MediaLink *string `json:"mediaLink,omitempty" tf:"media_link,omitempty"`

	// Reference to a Blob in storage to populate mediaLink.
	// +kubebuilder:validation:Optional
	MediaLinkRef *v1.Reference `json:"mediaLinkRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate mediaLink.
	// +kubebuilder:validation:Optional
	MediaLinkSelector *v1.Selector `json:"mediaLinkSelector,omitempty" tf:"-"`
}

func (*SourceParameters) DeepCopy

func (in *SourceParameters) DeepCopy() *SourceParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceParameters.

func (*SourceParameters) DeepCopyInto

func (in *SourceParameters) DeepCopyInto(out *SourceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotRestoreInitParameters

type SpotRestoreInitParameters struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*SpotRestoreInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotRestoreInitParameters.

func (*SpotRestoreInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotRestoreObservation

type SpotRestoreObservation struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*SpotRestoreObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotRestoreObservation.

func (*SpotRestoreObservation) DeepCopyInto

func (in *SpotRestoreObservation) DeepCopyInto(out *SpotRestoreObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotRestoreParameters

type SpotRestoreParameters struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*SpotRestoreParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotRestoreParameters.

func (*SpotRestoreParameters) DeepCopyInto

func (in *SpotRestoreParameters) DeepCopyInto(out *SpotRestoreParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetRegionInitParameters

type TargetRegionInitParameters struct {

	// Specifies whether this Gallery Application Version should be excluded from the latest filter. If set to true, this Gallery Application Version won't be returned for the latest version. Defaults to false.
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The Azure Region in which the Gallery Application Version exists.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.GalleryApplication
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false)
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a GalleryApplication in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a GalleryApplication in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// The number of replicas of the Gallery Application Version to be created per region. Possible values are between 1 and 10.
	RegionalReplicaCount *float64 `json:"regionalReplicaCount,omitempty" tf:"regional_replica_count,omitempty"`

	// The storage account type for the Gallery Application Version. Possible values are Standard_LRS, Premium_LRS and Standard_ZRS. Defaults to Standard_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`
}

func (*TargetRegionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetRegionInitParameters.

func (*TargetRegionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetRegionObservation

type TargetRegionObservation struct {

	// Specifies whether this Gallery Application Version should be excluded from the latest filter. If set to true, this Gallery Application Version won't be returned for the latest version. Defaults to false.
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The Azure Region in which the Gallery Application Version exists.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of replicas of the Gallery Application Version to be created per region. Possible values are between 1 and 10.
	RegionalReplicaCount *float64 `json:"regionalReplicaCount,omitempty" tf:"regional_replica_count,omitempty"`

	// The storage account type for the Gallery Application Version. Possible values are Standard_LRS, Premium_LRS and Standard_ZRS. Defaults to Standard_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`
}

func (*TargetRegionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetRegionObservation.

func (*TargetRegionObservation) DeepCopyInto

func (in *TargetRegionObservation) DeepCopyInto(out *TargetRegionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetRegionParameters

type TargetRegionParameters struct {

	// Specifies whether this Gallery Application Version should be excluded from the latest filter. If set to true, this Gallery Application Version won't be returned for the latest version. Defaults to false.
	// +kubebuilder:validation:Optional
	ExcludeFromLatest *bool `json:"excludeFromLatest,omitempty" tf:"exclude_from_latest,omitempty"`

	// The Azure Region in which the Gallery Application Version exists.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.GalleryApplication
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false)
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a GalleryApplication in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a GalleryApplication in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// The number of replicas of the Gallery Application Version to be created per region. Possible values are between 1 and 10.
	// +kubebuilder:validation:Optional
	RegionalReplicaCount *float64 `json:"regionalReplicaCount" tf:"regional_replica_count,omitempty"`

	// The storage account type for the Gallery Application Version. Possible values are Standard_LRS, Premium_LRS and Standard_ZRS. Defaults to Standard_LRS.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`
}

func (*TargetRegionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetRegionParameters.

func (*TargetRegionParameters) DeepCopyInto

func (in *TargetRegionParameters) DeepCopyInto(out *TargetRegionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminateNotificationInitParameters

type TerminateNotificationInitParameters struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminateNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminateNotificationInitParameters.

func (*TerminateNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminateNotificationObservation

type TerminateNotificationObservation struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminateNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminateNotificationObservation.

func (*TerminateNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminateNotificationParameters

type TerminateNotificationParameters struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminateNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminateNotificationParameters.

func (*TerminateNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminationNotificationInitParameters

type TerminationNotificationInitParameters struct {

	// Should the termination notification be enabled on this Virtual Machine?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminationNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminationNotificationInitParameters.

func (*TerminationNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminationNotificationObservation

type TerminationNotificationObservation struct {

	// Should the termination notification be enabled on this Virtual Machine?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminationNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminationNotificationObservation.

func (*TerminationNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminationNotificationParameters

type TerminationNotificationParameters struct {

	// Should the termination notification be enabled on this Virtual Machine?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*TerminationNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminationNotificationParameters.

func (*TerminationNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtension

type VirtualMachineExtension struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.publisher) || (has(self.initProvider) && has(self.initProvider.publisher))",message="spec.forProvider.publisher is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.type) || (has(self.initProvider) && has(self.initProvider.type))",message="spec.forProvider.type is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.typeHandlerVersion) || (has(self.initProvider) && has(self.initProvider.typeHandlerVersion))",message="spec.forProvider.typeHandlerVersion is a required parameter"
	Spec   VirtualMachineExtensionSpec   `json:"spec"`
	Status VirtualMachineExtensionStatus `json:"status,omitempty"`
}

VirtualMachineExtension is the Schema for the VirtualMachineExtensions API. Manages a Virtual Machine Extension to provide post deployment configuration and run automated tasks. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*VirtualMachineExtension) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtension.

func (*VirtualMachineExtension) DeepCopyInto

func (in *VirtualMachineExtension) DeepCopyInto(out *VirtualMachineExtension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualMachineExtension) DeepCopyObject

func (in *VirtualMachineExtension) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualMachineExtension) GetCondition

GetCondition of this VirtualMachineExtension.

func (*VirtualMachineExtension) GetConnectionDetailsMapping

func (tr *VirtualMachineExtension) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VirtualMachineExtension

func (*VirtualMachineExtension) GetDeletionPolicy

func (mg *VirtualMachineExtension) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VirtualMachineExtension.

func (*VirtualMachineExtension) GetID

func (tr *VirtualMachineExtension) GetID() string

GetID returns ID of underlying Terraform resource of this VirtualMachineExtension

func (*VirtualMachineExtension) GetInitParameters

func (tr *VirtualMachineExtension) GetInitParameters() (map[string]any, error)

GetInitParameters of this VirtualMachineExtension

func (*VirtualMachineExtension) GetManagementPolicies

func (mg *VirtualMachineExtension) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VirtualMachineExtension.

func (*VirtualMachineExtension) GetMergedParameters

func (tr *VirtualMachineExtension) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VirtualMachineExtension

func (*VirtualMachineExtension) GetObservation

func (tr *VirtualMachineExtension) GetObservation() (map[string]any, error)

GetObservation of this VirtualMachineExtension

func (*VirtualMachineExtension) GetParameters

func (tr *VirtualMachineExtension) GetParameters() (map[string]any, error)

GetParameters of this VirtualMachineExtension

func (*VirtualMachineExtension) GetProviderConfigReference

func (mg *VirtualMachineExtension) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VirtualMachineExtension.

func (*VirtualMachineExtension) GetPublishConnectionDetailsTo

func (mg *VirtualMachineExtension) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VirtualMachineExtension.

func (*VirtualMachineExtension) GetTerraformResourceType

func (mg *VirtualMachineExtension) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VirtualMachineExtension

func (*VirtualMachineExtension) GetTerraformSchemaVersion

func (tr *VirtualMachineExtension) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VirtualMachineExtension) GetWriteConnectionSecretToReference

func (mg *VirtualMachineExtension) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VirtualMachineExtension.

func (*VirtualMachineExtension) Hub

func (tr *VirtualMachineExtension) Hub()

Hub marks this type as a conversion hub.

func (*VirtualMachineExtension) LateInitialize

func (tr *VirtualMachineExtension) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VirtualMachineExtension using its observed tfState. returns True if there are any spec changes for the resource.

func (*VirtualMachineExtension) ResolveReferences

func (mg *VirtualMachineExtension) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetConditions

func (mg *VirtualMachineExtension) SetConditions(c ...xpv1.Condition)

SetConditions of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetDeletionPolicy

func (mg *VirtualMachineExtension) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetManagementPolicies

func (mg *VirtualMachineExtension) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetObservation

func (tr *VirtualMachineExtension) SetObservation(obs map[string]any) error

SetObservation for this VirtualMachineExtension

func (*VirtualMachineExtension) SetParameters

func (tr *VirtualMachineExtension) SetParameters(params map[string]any) error

SetParameters for this VirtualMachineExtension

func (*VirtualMachineExtension) SetProviderConfigReference

func (mg *VirtualMachineExtension) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetPublishConnectionDetailsTo

func (mg *VirtualMachineExtension) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VirtualMachineExtension.

func (*VirtualMachineExtension) SetWriteConnectionSecretToReference

func (mg *VirtualMachineExtension) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VirtualMachineExtension.

type VirtualMachineExtensionInitParameters

type VirtualMachineExtensionInitParameters struct {

	// Specifies if the platform deploys the latest minor version update to the type_handler_version specified.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// Specifies the collection of extension names after which this extension needs to be provisioned.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// The settings passed to the extension, these are specified as a JSON object in a string.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The type of extension, available types for a publisher can be found using the Azure CLI.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*VirtualMachineExtensionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionInitParameters.

func (*VirtualMachineExtensionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionList

type VirtualMachineExtensionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineExtension `json:"items"`
}

VirtualMachineExtensionList contains a list of VirtualMachineExtensions

func (*VirtualMachineExtensionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionList.

func (*VirtualMachineExtensionList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualMachineExtensionList) DeepCopyObject

func (in *VirtualMachineExtensionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualMachineExtensionList) GetItems

GetItems of this VirtualMachineExtensionList.

type VirtualMachineExtensionObservation

type VirtualMachineExtensionObservation struct {

	// Specifies if the platform deploys the latest minor version update to the type_handler_version specified.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// The ID of the Virtual Machine Extension.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// Specifies the collection of extension names after which this extension needs to be provisioned.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// The settings passed to the extension, these are specified as a JSON object in a string.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The type of extension, available types for a publisher can be found using the Azure CLI.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`

	// The ID of the Virtual Machine. Changing this forces a new resource to be created
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`
}

func (*VirtualMachineExtensionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionObservation.

func (*VirtualMachineExtensionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionParameters

type VirtualMachineExtensionParameters struct {

	// Specifies if the platform deploys the latest minor version update to the type_handler_version specified.
	// +kubebuilder:validation:Optional
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	// +kubebuilder:validation:Optional
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.
	// +kubebuilder:validation:Optional
	FailureSuppressionEnabled *bool `json:"failureSuppressionEnabled,omitempty" tf:"failure_suppression_enabled,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	// +kubebuilder:validation:Optional
	ProtectedSettingsFromKeyVault *VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
	// +kubebuilder:validation:Optional
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// Specifies the collection of extension names after which this extension needs to be provisioned.
	// +kubebuilder:validation:Optional
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// The publisher of the extension, available publishers can be found by using the Azure CLI. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// The settings passed to the extension, these are specified as a JSON object in a string.
	// +kubebuilder:validation:Optional
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The type of extension, available types for a publisher can be found using the Azure CLI.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	// +kubebuilder:validation:Optional
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`

	// The ID of the Virtual Machine. Changing this forces a new resource to be created
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.LinuxVirtualMachine
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`

	// Reference to a LinuxVirtualMachine in compute to populate virtualMachineId.
	// +kubebuilder:validation:Optional
	VirtualMachineIDRef *v1.Reference `json:"virtualMachineIdRef,omitempty" tf:"-"`

	// Selector for a LinuxVirtualMachine in compute to populate virtualMachineId.
	// +kubebuilder:validation:Optional
	VirtualMachineIDSelector *v1.Selector `json:"virtualMachineIdSelector,omitempty" tf:"-"`
}

func (*VirtualMachineExtensionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionParameters.

func (*VirtualMachineExtensionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters

type VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters.

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation

type VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation.

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters

type VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters.

func (*VirtualMachineExtensionProtectedSettingsFromKeyVaultParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionSpec

type VirtualMachineExtensionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VirtualMachineExtensionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VirtualMachineExtensionInitParameters `json:"initProvider,omitempty"`
}

VirtualMachineExtensionSpec defines the desired state of VirtualMachineExtension

func (*VirtualMachineExtensionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionSpec.

func (*VirtualMachineExtensionSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineExtensionStatus

type VirtualMachineExtensionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VirtualMachineExtensionObservation `json:"atProvider,omitempty"`
}

VirtualMachineExtensionStatus defines the observed state of VirtualMachineExtension.

func (*VirtualMachineExtensionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineExtensionStatus.

func (*VirtualMachineExtensionStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommand

type VirtualMachineRunCommand struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.source) || (has(self.initProvider) && has(self.initProvider.source))",message="spec.forProvider.source is a required parameter"
	Spec   VirtualMachineRunCommandSpec   `json:"spec"`
	Status VirtualMachineRunCommandStatus `json:"status,omitempty"`
}

VirtualMachineRunCommand is the Schema for the VirtualMachineRunCommands API. Manages a Virtual Machine Run Command. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*VirtualMachineRunCommand) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) DeepCopyInto

func (in *VirtualMachineRunCommand) DeepCopyInto(out *VirtualMachineRunCommand)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualMachineRunCommand) DeepCopyObject

func (in *VirtualMachineRunCommand) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualMachineRunCommand) GetCondition

GetCondition of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) GetConnectionDetailsMapping

func (tr *VirtualMachineRunCommand) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetDeletionPolicy

func (mg *VirtualMachineRunCommand) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) GetID

func (tr *VirtualMachineRunCommand) GetID() string

GetID returns ID of underlying Terraform resource of this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetInitParameters

func (tr *VirtualMachineRunCommand) GetInitParameters() (map[string]any, error)

GetInitParameters of this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetManagementPolicies

func (mg *VirtualMachineRunCommand) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) GetMergedParameters

func (tr *VirtualMachineRunCommand) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetObservation

func (tr *VirtualMachineRunCommand) GetObservation() (map[string]any, error)

GetObservation of this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetParameters

func (tr *VirtualMachineRunCommand) GetParameters() (map[string]any, error)

GetParameters of this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetProviderConfigReference

func (mg *VirtualMachineRunCommand) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) GetPublishConnectionDetailsTo

func (mg *VirtualMachineRunCommand) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) GetTerraformResourceType

func (mg *VirtualMachineRunCommand) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) GetTerraformSchemaVersion

func (tr *VirtualMachineRunCommand) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VirtualMachineRunCommand) GetWriteConnectionSecretToReference

func (mg *VirtualMachineRunCommand) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) Hub

func (tr *VirtualMachineRunCommand) Hub()

Hub marks this type as a conversion hub.

func (*VirtualMachineRunCommand) LateInitialize

func (tr *VirtualMachineRunCommand) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VirtualMachineRunCommand using its observed tfState. returns True if there are any spec changes for the resource.

func (*VirtualMachineRunCommand) ResolveReferences

func (mg *VirtualMachineRunCommand) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetConditions

func (mg *VirtualMachineRunCommand) SetConditions(c ...xpv1.Condition)

SetConditions of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetDeletionPolicy

func (mg *VirtualMachineRunCommand) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetManagementPolicies

func (mg *VirtualMachineRunCommand) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetObservation

func (tr *VirtualMachineRunCommand) SetObservation(obs map[string]any) error

SetObservation for this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) SetParameters

func (tr *VirtualMachineRunCommand) SetParameters(params map[string]any) error

SetParameters for this VirtualMachineRunCommand

func (*VirtualMachineRunCommand) SetProviderConfigReference

func (mg *VirtualMachineRunCommand) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetPublishConnectionDetailsTo

func (mg *VirtualMachineRunCommand) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VirtualMachineRunCommand.

func (*VirtualMachineRunCommand) SetWriteConnectionSecretToReference

func (mg *VirtualMachineRunCommand) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VirtualMachineRunCommand.

type VirtualMachineRunCommandInitParameters

type VirtualMachineRunCommandInitParameters struct {

	// An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.
	ErrorBlobManagedIdentity *ErrorBlobManagedIdentityInitParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script error stream will be uploaded.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"`

	// Reference to a Blob in storage to populate errorBlobUri.
	// +kubebuilder:validation:Optional
	ErrorBlobURIRef *v1.Reference `json:"errorBlobUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate errorBlobUri.
	// +kubebuilder:validation:Optional
	ErrorBlobURISelector *v1.Selector `json:"errorBlobUriSelector,omitempty" tf:"-"`

	// The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.
	OutputBlobManagedIdentity *OutputBlobManagedIdentityInitParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"`

	// Reference to a Blob in storage to populate outputBlobUri.
	// +kubebuilder:validation:Optional
	OutputBlobURIRef *v1.Reference `json:"outputBlobUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate outputBlobUri.
	// +kubebuilder:validation:Optional
	OutputBlobURISelector *v1.Selector `json:"outputBlobUriSelector,omitempty" tf:"-"`

	// A list of parameter blocks as defined below. The parameters used by the script.
	Parameter []ParameterInitParameters `json:"parameter,omitempty" tf:"parameter,omitempty"`

	// A list of protected_parameter blocks as defined below. The protected parameters used by the script.
	ProtectedParameter []ProtectedParameterInitParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"`

	// Specifies the user account password on the VM when executing the Virtual Machine Run Command.
	RunAsPasswordSecretRef *v1.SecretKeySelector `json:"runAsPasswordSecretRef,omitempty" tf:"-"`

	// Specifies the user account on the VM when executing the Virtual Machine Run Command.
	RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"`

	// A source block as defined below. The source of the run command script.
	Source *VirtualMachineRunCommandSourceInitParameters `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags which should be assigned to the Virtual Machine Run Command.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*VirtualMachineRunCommandInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandInitParameters.

func (*VirtualMachineRunCommandInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandList

type VirtualMachineRunCommandList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineRunCommand `json:"items"`
}

VirtualMachineRunCommandList contains a list of VirtualMachineRunCommands

func (*VirtualMachineRunCommandList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandList.

func (*VirtualMachineRunCommandList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VirtualMachineRunCommandList) DeepCopyObject

func (in *VirtualMachineRunCommandList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VirtualMachineRunCommandList) GetItems

GetItems of this VirtualMachineRunCommandList.

type VirtualMachineRunCommandObservation

type VirtualMachineRunCommandObservation struct {

	// An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.
	ErrorBlobManagedIdentity *ErrorBlobManagedIdentityParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script error stream will be uploaded.
	ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"`

	// The ID of the Virtual Machine Run Command.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	InstanceView []InstanceViewObservation `json:"instanceView,omitempty" tf:"instance_view,omitempty"`

	// The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.
	OutputBlobManagedIdentity *OutputBlobManagedIdentityParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.
	OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"`

	// A list of parameter blocks as defined below. The parameters used by the script.
	Parameter []ParameterObservation `json:"parameter,omitempty" tf:"parameter,omitempty"`

	// A list of protected_parameter blocks as defined below. The protected parameters used by the script.
	ProtectedParameter []ProtectedParameterParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"`

	// Specifies the user account on the VM when executing the Virtual Machine Run Command.
	RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"`

	// A source block as defined below. The source of the run command script.
	Source *VirtualMachineRunCommandSourceObservation `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags which should be assigned to the Virtual Machine Run Command.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`
}

func (*VirtualMachineRunCommandObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandObservation.

func (*VirtualMachineRunCommandObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandParameters

type VirtualMachineRunCommandParameters struct {

	// An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.
	// +kubebuilder:validation:Optional
	ErrorBlobManagedIdentity *ErrorBlobManagedIdentityParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script error stream will be uploaded.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"`

	// Reference to a Blob in storage to populate errorBlobUri.
	// +kubebuilder:validation:Optional
	ErrorBlobURIRef *v1.Reference `json:"errorBlobUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate errorBlobUri.
	// +kubebuilder:validation:Optional
	ErrorBlobURISelector *v1.Selector `json:"errorBlobUriSelector,omitempty" tf:"-"`

	// The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.
	// +kubebuilder:validation:Optional
	OutputBlobManagedIdentity *OutputBlobManagedIdentityParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"`

	// Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"`

	// Reference to a Blob in storage to populate outputBlobUri.
	// +kubebuilder:validation:Optional
	OutputBlobURIRef *v1.Reference `json:"outputBlobUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate outputBlobUri.
	// +kubebuilder:validation:Optional
	OutputBlobURISelector *v1.Selector `json:"outputBlobUriSelector,omitempty" tf:"-"`

	// A list of parameter blocks as defined below. The parameters used by the script.
	// +kubebuilder:validation:Optional
	Parameter []ParameterParameters `json:"parameter,omitempty" tf:"parameter,omitempty"`

	// A list of protected_parameter blocks as defined below. The protected parameters used by the script.
	// +kubebuilder:validation:Optional
	ProtectedParameter []ProtectedParameterParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"`

	// Specifies the user account password on the VM when executing the Virtual Machine Run Command.
	// +kubebuilder:validation:Optional
	RunAsPasswordSecretRef *v1.SecretKeySelector `json:"runAsPasswordSecretRef,omitempty" tf:"-"`

	// Specifies the user account on the VM when executing the Virtual Machine Run Command.
	// +kubebuilder:validation:Optional
	RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"`

	// A source block as defined below. The source of the run command script.
	// +kubebuilder:validation:Optional
	Source *VirtualMachineRunCommandSourceParameters `json:"source,omitempty" tf:"source,omitempty"`

	// A mapping of tags which should be assigned to the Virtual Machine Run Command.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta2.LinuxVirtualMachine
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`

	// Reference to a LinuxVirtualMachine in compute to populate virtualMachineId.
	// +kubebuilder:validation:Optional
	VirtualMachineIDRef *v1.Reference `json:"virtualMachineIdRef,omitempty" tf:"-"`

	// Selector for a LinuxVirtualMachine in compute to populate virtualMachineId.
	// +kubebuilder:validation:Optional
	VirtualMachineIDSelector *v1.Selector `json:"virtualMachineIdSelector,omitempty" tf:"-"`
}

func (*VirtualMachineRunCommandParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandParameters.

func (*VirtualMachineRunCommandParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandSourceInitParameters

type VirtualMachineRunCommandSourceInitParameters struct {
	CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"`

	Script *string `json:"script,omitempty" tf:"script,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"`

	// A script_uri_managed_identity block as defined above.
	ScriptURIManagedIdentity *ScriptURIManagedIdentityInitParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"`

	// Reference to a Blob in storage to populate scriptUri.
	// +kubebuilder:validation:Optional
	ScriptURIRef *v1.Reference `json:"scriptUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate scriptUri.
	// +kubebuilder:validation:Optional
	ScriptURISelector *v1.Selector `json:"scriptUriSelector,omitempty" tf:"-"`
}

func (*VirtualMachineRunCommandSourceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceInitParameters.

func (*VirtualMachineRunCommandSourceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandSourceObservation

type VirtualMachineRunCommandSourceObservation struct {
	CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"`

	Script *string `json:"script,omitempty" tf:"script,omitempty"`

	ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"`

	// A script_uri_managed_identity block as defined above.
	ScriptURIManagedIdentity *ScriptURIManagedIdentityParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"`
}

func (*VirtualMachineRunCommandSourceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceObservation.

func (*VirtualMachineRunCommandSourceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandSourceParameters

type VirtualMachineRunCommandSourceParameters struct {

	// +kubebuilder:validation:Optional
	CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"`

	// +kubebuilder:validation:Optional
	Script *string `json:"script,omitempty" tf:"script,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"`

	// A script_uri_managed_identity block as defined above.
	// +kubebuilder:validation:Optional
	ScriptURIManagedIdentity *ScriptURIManagedIdentityParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"`

	// Reference to a Blob in storage to populate scriptUri.
	// +kubebuilder:validation:Optional
	ScriptURIRef *v1.Reference `json:"scriptUriRef,omitempty" tf:"-"`

	// Selector for a Blob in storage to populate scriptUri.
	// +kubebuilder:validation:Optional
	ScriptURISelector *v1.Selector `json:"scriptUriSelector,omitempty" tf:"-"`
}

func (*VirtualMachineRunCommandSourceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceParameters.

func (*VirtualMachineRunCommandSourceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandSpec

type VirtualMachineRunCommandSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VirtualMachineRunCommandParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VirtualMachineRunCommandInitParameters `json:"initProvider,omitempty"`
}

VirtualMachineRunCommandSpec defines the desired state of VirtualMachineRunCommand

func (*VirtualMachineRunCommandSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSpec.

func (*VirtualMachineRunCommandSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VirtualMachineRunCommandStatus

type VirtualMachineRunCommandStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VirtualMachineRunCommandObservation `json:"atProvider,omitempty"`
}

VirtualMachineRunCommandStatus defines the observed state of VirtualMachineRunCommand.

func (*VirtualMachineRunCommandStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandStatus.

func (*VirtualMachineRunCommandStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationInitParameters

type WindowsConfigurationInitParameters struct {

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []AdditionalUnattendContentInitParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsConfigurationSecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WinrmListenerInitParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`
}

func (*WindowsConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationInitParameters.

func (*WindowsConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationObservation

type WindowsConfigurationObservation struct {

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []AdditionalUnattendContentObservation `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsConfigurationSecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WinrmListenerObservation `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`
}

func (*WindowsConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationObservation.

func (*WindowsConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationParameters

type WindowsConfigurationParameters struct {

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdditionalUnattendContent []AdditionalUnattendContentParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername" tf:"admin_username,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	// +kubebuilder:validation:Optional
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	// +kubebuilder:validation:Optional
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	// +kubebuilder:validation:Optional
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	// +kubebuilder:validation:Optional
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []WindowsConfigurationSecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	// +kubebuilder:validation:Optional
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	WinrmListener []WinrmListenerParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`
}

func (*WindowsConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationParameters.

func (*WindowsConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretCertificateInitParameters

type WindowsConfigurationSecretCertificateInitParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsConfigurationSecretCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretCertificateInitParameters.

func (*WindowsConfigurationSecretCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretCertificateObservation

type WindowsConfigurationSecretCertificateObservation struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsConfigurationSecretCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretCertificateObservation.

func (*WindowsConfigurationSecretCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretCertificateParameters

type WindowsConfigurationSecretCertificateParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	// +kubebuilder:validation:Optional
	Store *string `json:"store" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*WindowsConfigurationSecretCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretCertificateParameters.

func (*WindowsConfigurationSecretCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretInitParameters

type WindowsConfigurationSecretInitParameters struct {

	// One or more certificate blocks as defined below.
	Certificate []WindowsConfigurationSecretCertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsConfigurationSecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretInitParameters.

func (*WindowsConfigurationSecretInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretObservation

type WindowsConfigurationSecretObservation struct {

	// One or more certificate blocks as defined below.
	Certificate []WindowsConfigurationSecretCertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsConfigurationSecretObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretObservation.

func (*WindowsConfigurationSecretObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsConfigurationSecretParameters

type WindowsConfigurationSecretParameters struct {

	// One or more certificate blocks as defined below.
	// +kubebuilder:validation:Optional
	Certificate []WindowsConfigurationSecretCertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*WindowsConfigurationSecretParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsConfigurationSecretParameters.

func (*WindowsConfigurationSecretParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachine

type WindowsVirtualMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminPasswordSecretRef)",message="spec.forProvider.adminPasswordSecretRef is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminUsername) || (has(self.initProvider) && has(self.initProvider.adminUsername))",message="spec.forProvider.adminUsername is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.osDisk) || (has(self.initProvider) && has(self.initProvider.osDisk))",message="spec.forProvider.osDisk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.size) || (has(self.initProvider) && has(self.initProvider.size))",message="spec.forProvider.size is a required parameter"
	Spec   WindowsVirtualMachineSpec   `json:"spec"`
	Status WindowsVirtualMachineStatus `json:"status,omitempty"`
}

WindowsVirtualMachine is the Schema for the WindowsVirtualMachines API. Manages a Windows Virtual Machine. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*WindowsVirtualMachine) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachine.

func (*WindowsVirtualMachine) DeepCopyInto

func (in *WindowsVirtualMachine) DeepCopyInto(out *WindowsVirtualMachine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WindowsVirtualMachine) DeepCopyObject

func (in *WindowsVirtualMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WindowsVirtualMachine) GetCondition

func (mg *WindowsVirtualMachine) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) GetConnectionDetailsMapping

func (tr *WindowsVirtualMachine) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetDeletionPolicy

func (mg *WindowsVirtualMachine) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) GetID

func (tr *WindowsVirtualMachine) GetID() string

GetID returns ID of underlying Terraform resource of this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetInitParameters

func (tr *WindowsVirtualMachine) GetInitParameters() (map[string]any, error)

GetInitParameters of this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetManagementPolicies

func (mg *WindowsVirtualMachine) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) GetMergedParameters

func (tr *WindowsVirtualMachine) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetObservation

func (tr *WindowsVirtualMachine) GetObservation() (map[string]any, error)

GetObservation of this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetParameters

func (tr *WindowsVirtualMachine) GetParameters() (map[string]any, error)

GetParameters of this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetProviderConfigReference

func (mg *WindowsVirtualMachine) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) GetPublishConnectionDetailsTo

func (mg *WindowsVirtualMachine) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) GetTerraformResourceType

func (mg *WindowsVirtualMachine) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this WindowsVirtualMachine

func (*WindowsVirtualMachine) GetTerraformSchemaVersion

func (tr *WindowsVirtualMachine) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*WindowsVirtualMachine) GetWriteConnectionSecretToReference

func (mg *WindowsVirtualMachine) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) Hub

func (tr *WindowsVirtualMachine) Hub()

Hub marks this type as a conversion hub.

func (*WindowsVirtualMachine) LateInitialize

func (tr *WindowsVirtualMachine) LateInitialize(attrs []byte) (bool, error)

LateInitialize this WindowsVirtualMachine using its observed tfState. returns True if there are any spec changes for the resource.

func (*WindowsVirtualMachine) ResolveReferences

func (mg *WindowsVirtualMachine) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetConditions

func (mg *WindowsVirtualMachine) SetConditions(c ...xpv1.Condition)

SetConditions of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetDeletionPolicy

func (mg *WindowsVirtualMachine) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetManagementPolicies

func (mg *WindowsVirtualMachine) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetObservation

func (tr *WindowsVirtualMachine) SetObservation(obs map[string]any) error

SetObservation for this WindowsVirtualMachine

func (*WindowsVirtualMachine) SetParameters

func (tr *WindowsVirtualMachine) SetParameters(params map[string]any) error

SetParameters for this WindowsVirtualMachine

func (*WindowsVirtualMachine) SetProviderConfigReference

func (mg *WindowsVirtualMachine) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetPublishConnectionDetailsTo

func (mg *WindowsVirtualMachine) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this WindowsVirtualMachine.

func (*WindowsVirtualMachine) SetWriteConnectionSecretToReference

func (mg *WindowsVirtualMachine) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this WindowsVirtualMachine.

type WindowsVirtualMachineAdditionalCapabilitiesInitParameters

type WindowsVirtualMachineAdditionalCapabilitiesInitParameters struct {

	// Whether to enable the hibernation capability or not.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineAdditionalCapabilitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalCapabilitiesInitParameters.

func (*WindowsVirtualMachineAdditionalCapabilitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineAdditionalCapabilitiesObservation

type WindowsVirtualMachineAdditionalCapabilitiesObservation struct {

	// Whether to enable the hibernation capability or not.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineAdditionalCapabilitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalCapabilitiesObservation.

func (*WindowsVirtualMachineAdditionalCapabilitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineAdditionalCapabilitiesParameters

type WindowsVirtualMachineAdditionalCapabilitiesParameters struct {

	// Whether to enable the hibernation capability or not.
	// +kubebuilder:validation:Optional
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty" tf:"hibernation_enabled,omitempty"`

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineAdditionalCapabilitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalCapabilitiesParameters.

func (*WindowsVirtualMachineAdditionalCapabilitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineAdditionalUnattendContentInitParameters

type WindowsVirtualMachineAdditionalUnattendContentInitParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineAdditionalUnattendContentInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalUnattendContentInitParameters.

func (*WindowsVirtualMachineAdditionalUnattendContentInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineAdditionalUnattendContentObservation

type WindowsVirtualMachineAdditionalUnattendContentObservation struct {

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineAdditionalUnattendContentObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalUnattendContentObservation.

func (*WindowsVirtualMachineAdditionalUnattendContentObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineAdditionalUnattendContentParameters

type WindowsVirtualMachineAdditionalUnattendContentParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Setting *string `json:"setting" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineAdditionalUnattendContentParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineAdditionalUnattendContentParameters.

func (*WindowsVirtualMachineAdditionalUnattendContentParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineBootDiagnosticsInitParameters

type WindowsVirtualMachineBootDiagnosticsInitParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineBootDiagnosticsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineBootDiagnosticsInitParameters.

func (*WindowsVirtualMachineBootDiagnosticsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineBootDiagnosticsObservation

type WindowsVirtualMachineBootDiagnosticsObservation struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineBootDiagnosticsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineBootDiagnosticsObservation.

func (*WindowsVirtualMachineBootDiagnosticsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineBootDiagnosticsParameters

type WindowsVirtualMachineBootDiagnosticsParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	// +kubebuilder:validation:Optional
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineBootDiagnosticsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineBootDiagnosticsParameters.

func (*WindowsVirtualMachineBootDiagnosticsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineGalleryApplicationInitParameters

type WindowsVirtualMachineGalleryApplicationInitParameters struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineGalleryApplicationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineGalleryApplicationInitParameters.

func (*WindowsVirtualMachineGalleryApplicationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineGalleryApplicationObservation

type WindowsVirtualMachineGalleryApplicationObservation struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineGalleryApplicationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineGalleryApplicationObservation.

func (*WindowsVirtualMachineGalleryApplicationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineGalleryApplicationParameters

type WindowsVirtualMachineGalleryApplicationParameters struct {

	// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
	// +kubebuilder:validation:Optional
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
	// +kubebuilder:validation:Optional
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
	// +kubebuilder:validation:Optional
	TreatFailureAsDeploymentFailureEnabled *bool `json:"treatFailureAsDeploymentFailureEnabled,omitempty" tf:"treat_failure_as_deployment_failure_enabled,omitempty"`

	// Specifies the Gallery Application Version resource ID.
	// +kubebuilder:validation:Optional
	VersionID *string `json:"versionId" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineGalleryApplicationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineGalleryApplicationParameters.

func (*WindowsVirtualMachineGalleryApplicationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineIdentityInitParameters

type WindowsVirtualMachineIdentityInitParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineIdentityInitParameters.

func (*WindowsVirtualMachineIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineIdentityObservation

type WindowsVirtualMachineIdentityObservation struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Principal ID associated with this Managed Service Identity.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Tenant ID associated with this Managed Service Identity.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineIdentityObservation.

func (*WindowsVirtualMachineIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineIdentityParameters

type WindowsVirtualMachineIdentityParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineIdentityParameters.

func (*WindowsVirtualMachineIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineInitParameters

type WindowsVirtualMachineInitParameters struct {

	// A additional_capabilities block as defined below.
	AdditionalCapabilities *WindowsVirtualMachineAdditionalCapabilitiesInitParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []WindowsVirtualMachineAdditionalUnattendContentInitParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *WindowsVirtualMachineBootDiagnosticsInitParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []WindowsVirtualMachineGalleryApplicationInitParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// An identity block as documented below.
	Identity *WindowsVirtualMachineIdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.NetworkInterface
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// References to NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsRefs []v1.Reference `json:"networkInterfaceIdsRefs,omitempty" tf:"-"`

	// Selector for a list of NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsSelector *v1.Selector `json:"networkInterfaceIdsSelector,omitempty" tf:"-"`

	// A os_disk block as defined below.
	OsDisk *WindowsVirtualMachineOsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	OsImageNotification *WindowsVirtualMachineOsImageNotificationInitParameters `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *WindowsVirtualMachinePlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsVirtualMachineSecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	SourceImageReference *WindowsVirtualMachineSourceImageReferenceInitParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *WindowsVirtualMachineTerminationNotificationInitParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here. Changing this forces a new resource to be created.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WindowsVirtualMachineWinrmListenerInitParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// * zones -  Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*WindowsVirtualMachineInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineInitParameters.

func (*WindowsVirtualMachineInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineList

type WindowsVirtualMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WindowsVirtualMachine `json:"items"`
}

WindowsVirtualMachineList contains a list of WindowsVirtualMachines

func (*WindowsVirtualMachineList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineList.

func (*WindowsVirtualMachineList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WindowsVirtualMachineList) DeepCopyObject

func (in *WindowsVirtualMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WindowsVirtualMachineList) GetItems

func (l *WindowsVirtualMachineList) GetItems() []resource.Managed

GetItems of this WindowsVirtualMachineList.

type WindowsVirtualMachineObservation

type WindowsVirtualMachineObservation struct {

	// A additional_capabilities block as defined below.
	AdditionalCapabilities *WindowsVirtualMachineAdditionalCapabilitiesObservation `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []WindowsVirtualMachineAdditionalUnattendContentObservation `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *WindowsVirtualMachineBootDiagnosticsObservation `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []WindowsVirtualMachineGalleryApplicationObservation `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// The ID of the Windows Virtual Machine.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as documented below.
	Identity *WindowsVirtualMachineIdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// A os_disk block as defined below.
	OsDisk *WindowsVirtualMachineOsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	OsImageNotification *WindowsVirtualMachineOsImageNotificationObservation `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *WindowsVirtualMachinePlanObservation `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// The Primary Private IP Address assigned to this Virtual Machine.
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// A list of Private IP Addresses assigned to this Virtual Machine.
	PrivateIPAddresses []*string `json:"privateIpAddresses,omitempty" tf:"private_ip_addresses,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The Primary Public IP Address assigned to this Virtual Machine.
	PublicIPAddress *string `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// A list of the Public IP Addresses assigned to this Virtual Machine.
	PublicIPAddresses []*string `json:"publicIpAddresses,omitempty" tf:"public_ip_addresses,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsVirtualMachineSecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	SourceImageReference *WindowsVirtualMachineSourceImageReferenceObservation `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *WindowsVirtualMachineTerminationNotificationObservation `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here. Changing this forces a new resource to be created.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// A 128-bit identifier which uniquely identifies this Virtual Machine.
	VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WindowsVirtualMachineWinrmListenerObservation `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// * zones -  Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*WindowsVirtualMachineObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineObservation.

func (*WindowsVirtualMachineObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters

type WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters.

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskDiffDiskSettingsObservation

type WindowsVirtualMachineOsDiskDiffDiskSettingsObservation struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskDiffDiskSettingsObservation.

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskDiffDiskSettingsParameters

type WindowsVirtualMachineOsDiskDiffDiskSettingsParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Option *string `json:"option" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskDiffDiskSettingsParameters.

func (*WindowsVirtualMachineOsDiskDiffDiskSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskInitParameters

type WindowsVirtualMachineOsDiskInitParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *WindowsVirtualMachineOsDiskDiffDiskSettingsInitParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineOsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskInitParameters.

func (*WindowsVirtualMachineOsDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskObservation

type WindowsVirtualMachineOsDiskObservation struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *WindowsVirtualMachineOsDiskDiffDiskSettingsObservation `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineOsDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskObservation.

func (*WindowsVirtualMachineOsDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsDiskParameters

type WindowsVirtualMachineOsDiskParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiffDiskSettings *WindowsVirtualMachineOsDiskDiffDiskSettingsParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine is a Confidential VM. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineOsDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsDiskParameters.

func (*WindowsVirtualMachineOsDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsImageNotificationInitParameters

type WindowsVirtualMachineOsImageNotificationInitParameters struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineOsImageNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsImageNotificationInitParameters.

func (*WindowsVirtualMachineOsImageNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsImageNotificationObservation

type WindowsVirtualMachineOsImageNotificationObservation struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineOsImageNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsImageNotificationObservation.

func (*WindowsVirtualMachineOsImageNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineOsImageNotificationParameters

type WindowsVirtualMachineOsImageNotificationParameters struct {

	// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults to PT15M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineOsImageNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineOsImageNotificationParameters.

func (*WindowsVirtualMachineOsImageNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineParameters

type WindowsVirtualMachineParameters struct {

	// A additional_capabilities block as defined below.
	// +kubebuilder:validation:Optional
	AdditionalCapabilities *WindowsVirtualMachineAdditionalCapabilitiesParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdditionalUnattendContent []WindowsVirtualMachineAdditionalUnattendContentParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
	// +kubebuilder:validation:Optional
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty" tf:"allow_extension_operations,omitempty"`

	// Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AvailabilitySetID *string `json:"availabilitySetId,omitempty" tf:"availability_set_id,omitempty"`

	// A boot_diagnostics block as defined below.
	// +kubebuilder:validation:Optional
	BootDiagnostics *WindowsVirtualMachineBootDiagnosticsParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to false.
	// +kubebuilder:validation:Optional
	BypassPlatformSafetyChecksOnUserScheduleEnabled *bool `` /* 134-byte string literal not displayed */

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
	// +kubebuilder:validation:Optional
	DedicatedHostGroupID *string `json:"dedicatedHostGroupId,omitempty" tf:"dedicated_host_group_id,omitempty"`

	// The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
	// +kubebuilder:validation:Optional
	DedicatedHostID *string `json:"dedicatedHostId,omitempty" tf:"dedicated_host_id,omitempty"`

	// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSI and NVMe.
	// +kubebuilder:validation:Optional
	DiskControllerType *string `json:"diskControllerType,omitempty" tf:"disk_controller_type,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to true.
	// +kubebuilder:validation:Optional
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	// +kubebuilder:validation:Optional
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	// +kubebuilder:validation:Optional
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	// +kubebuilder:validation:Optional
	GalleryApplication []WindowsVirtualMachineGalleryApplicationParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
	// +kubebuilder:validation:Optional
	HotpatchingEnabled *bool `json:"hotpatchingEnabled,omitempty" tf:"hotpatching_enabled,omitempty"`

	// An identity block as documented below.
	// +kubebuilder:validation:Optional
	Identity *WindowsVirtualMachineIdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None, Windows_Client and Windows_Server.
	// +kubebuilder:validation:Optional
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.NetworkInterface
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// References to NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsRefs []v1.Reference `json:"networkInterfaceIdsRefs,omitempty" tf:"-"`

	// Selector for a list of NetworkInterface in network to populate networkInterfaceIds.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIdsSelector *v1.Selector `json:"networkInterfaceIdsSelector,omitempty" tf:"-"`

	// A os_disk block as defined below.
	// +kubebuilder:validation:Optional
	OsDisk *WindowsVirtualMachineOsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// A os_image_notification block as defined below.
	// +kubebuilder:validation:Optional
	OsImageNotification *WindowsVirtualMachineOsImageNotificationParameters `json:"osImageNotification,omitempty" tf:"os_image_notification,omitempty"`

	// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.
	// +kubebuilder:validation:Optional
	PatchAssessmentMode *string `json:"patchAssessmentMode,omitempty" tf:"patch_assessment_mode,omitempty"`

	// Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.
	// +kubebuilder:validation:Optional
	PatchMode *string `json:"patchMode,omitempty" tf:"patch_mode,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Plan *WindowsVirtualMachinePlanParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	PlatformFaultDomain *float64 `json:"platformFaultDomain,omitempty" tf:"platform_fault_domain,omitempty"`

	// Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the reboot setting for platform scheduled patching. Possible values are Always, IfRequired and Never.
	// +kubebuilder:validation:Optional
	RebootSetting *string `json:"rebootSetting,omitempty" tf:"reboot_setting,omitempty"`

	// The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []WindowsVirtualMachineSecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// The SKU which should be used for this Virtual Machine, such as Standard_F2.
	// +kubebuilder:validation:Optional
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
	// +kubebuilder:validation:Optional
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SourceImageReference *WindowsVirtualMachineSourceImageReferenceParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A termination_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminationNotification *WindowsVirtualMachineTerminationNotificationParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
	// +kubebuilder:validation:Optional
	VMAgentPlatformUpdatesEnabled *bool `json:"vmAgentPlatformUpdatesEnabled,omitempty" tf:"vm_agent_platform_updates_enabled,omitempty"`

	// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.
	// +kubebuilder:validation:Optional
	VirtualMachineScaleSetID *string `json:"virtualMachineScaleSetId,omitempty" tf:"virtual_machine_scale_set_id,omitempty"`

	// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	WinrmListener []WindowsVirtualMachineWinrmListenerParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// * zones -  Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*WindowsVirtualMachineParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineParameters.

func (*WindowsVirtualMachineParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachinePlanInitParameters

type WindowsVirtualMachinePlanInitParameters struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachinePlanInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachinePlanInitParameters.

func (*WindowsVirtualMachinePlanInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachinePlanObservation

type WindowsVirtualMachinePlanObservation struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachinePlanObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachinePlanObservation.

func (*WindowsVirtualMachinePlanObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachinePlanParameters

type WindowsVirtualMachinePlanParameters struct {

	// Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product" tf:"product,omitempty"`

	// Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachinePlanParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachinePlanParameters.

func (*WindowsVirtualMachinePlanParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSet

type WindowsVirtualMachineScaleSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminPasswordSecretRef)",message="spec.forProvider.adminPasswordSecretRef is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.adminUsername) || (has(self.initProvider) && has(self.initProvider.adminUsername))",message="spec.forProvider.adminUsername is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instances) || (has(self.initProvider) && has(self.initProvider.instances))",message="spec.forProvider.instances is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.networkInterface) || (has(self.initProvider) && has(self.initProvider.networkInterface))",message="spec.forProvider.networkInterface is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.osDisk) || (has(self.initProvider) && has(self.initProvider.osDisk))",message="spec.forProvider.osDisk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sku) || (has(self.initProvider) && has(self.initProvider.sku))",message="spec.forProvider.sku is a required parameter"
	Spec   WindowsVirtualMachineScaleSetSpec   `json:"spec"`
	Status WindowsVirtualMachineScaleSetStatus `json:"status,omitempty"`
}

WindowsVirtualMachineScaleSet is the Schema for the WindowsVirtualMachineScaleSets API. Manages a Windows Virtual Machine Scale Set. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*WindowsVirtualMachineScaleSet) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WindowsVirtualMachineScaleSet) DeepCopyObject

func (in *WindowsVirtualMachineScaleSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WindowsVirtualMachineScaleSet) GetCondition

GetCondition of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) GetConnectionDetailsMapping

func (tr *WindowsVirtualMachineScaleSet) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetDeletionPolicy

func (mg *WindowsVirtualMachineScaleSet) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) GetID

GetID returns ID of underlying Terraform resource of this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetInitParameters

func (tr *WindowsVirtualMachineScaleSet) GetInitParameters() (map[string]any, error)

GetInitParameters of this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetManagementPolicies

func (mg *WindowsVirtualMachineScaleSet) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) GetMergedParameters

func (tr *WindowsVirtualMachineScaleSet) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetObservation

func (tr *WindowsVirtualMachineScaleSet) GetObservation() (map[string]any, error)

GetObservation of this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetParameters

func (tr *WindowsVirtualMachineScaleSet) GetParameters() (map[string]any, error)

GetParameters of this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetProviderConfigReference

func (mg *WindowsVirtualMachineScaleSet) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) GetPublishConnectionDetailsTo

func (mg *WindowsVirtualMachineScaleSet) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) GetTerraformResourceType

func (mg *WindowsVirtualMachineScaleSet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) GetTerraformSchemaVersion

func (tr *WindowsVirtualMachineScaleSet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*WindowsVirtualMachineScaleSet) GetWriteConnectionSecretToReference

func (mg *WindowsVirtualMachineScaleSet) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) Hub

Hub marks this type as a conversion hub.

func (*WindowsVirtualMachineScaleSet) LateInitialize

func (tr *WindowsVirtualMachineScaleSet) LateInitialize(attrs []byte) (bool, error)

LateInitialize this WindowsVirtualMachineScaleSet using its observed tfState. returns True if there are any spec changes for the resource.

func (*WindowsVirtualMachineScaleSet) ResolveReferences

func (mg *WindowsVirtualMachineScaleSet) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetConditions

func (mg *WindowsVirtualMachineScaleSet) SetConditions(c ...xpv1.Condition)

SetConditions of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetDeletionPolicy

func (mg *WindowsVirtualMachineScaleSet) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetManagementPolicies

func (mg *WindowsVirtualMachineScaleSet) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetObservation

func (tr *WindowsVirtualMachineScaleSet) SetObservation(obs map[string]any) error

SetObservation for this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) SetParameters

func (tr *WindowsVirtualMachineScaleSet) SetParameters(params map[string]any) error

SetParameters for this WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSet) SetProviderConfigReference

func (mg *WindowsVirtualMachineScaleSet) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetPublishConnectionDetailsTo

func (mg *WindowsVirtualMachineScaleSet) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSet) SetWriteConnectionSecretToReference

func (mg *WindowsVirtualMachineScaleSet) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this WindowsVirtualMachineScaleSet.

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters.

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation.

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters

type WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters struct {

	// Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters.

func (*WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters

type WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters.

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation

type WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation struct {

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	Setting *string `json:"setting,omitempty" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation.

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters

type WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters struct {

	// The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ContentSecretRef v1.SecretKeySelector `json:"contentSecretRef" tf:"-"`

	// The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Setting *string `json:"setting" tf:"setting,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters.

func (*WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters.

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation.

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters

type WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters struct {

	// The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.
	// +kubebuilder:validation:Optional
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).
	// +kubebuilder:validation:Optional
	GracePeriod *string `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters.

func (*WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters struct {

	// Should automatic rollbacks be disabled?
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade,omitempty" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters.

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation struct {

	// Should automatic rollbacks be disabled?
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade,omitempty" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation.

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters

type WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters struct {

	// Should automatic rollbacks be disabled?
	// +kubebuilder:validation:Optional
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback" tf:"disable_automatic_rollback,omitempty"`

	// Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
	// +kubebuilder:validation:Optional
	EnableAutomaticOsUpgrade *bool `json:"enableAutomaticOsUpgrade" tf:"enable_automatic_os_upgrade,omitempty"`
}

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters.

func (*WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters

type WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters.

func (*WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetBootDiagnosticsObservation

type WindowsVirtualMachineScaleSetBootDiagnosticsObservation struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetBootDiagnosticsObservation.

func (*WindowsVirtualMachineScaleSetBootDiagnosticsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetBootDiagnosticsParameters

type WindowsVirtualMachineScaleSetBootDiagnosticsParameters struct {

	// The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
	// +kubebuilder:validation:Optional
	StorageAccountURI *string `json:"storageAccountUri,omitempty" tf:"storage_account_uri,omitempty"`
}

func (*WindowsVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetBootDiagnosticsParameters.

func (*WindowsVirtualMachineScaleSetBootDiagnosticsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetDataDiskInitParameters

type WindowsVirtualMachineScaleSetDataDiskInitParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The name of the Data Disk.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetDataDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetDataDiskInitParameters.

func (*WindowsVirtualMachineScaleSetDataDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetDataDiskObservation

type WindowsVirtualMachineScaleSetDataDiskObservation struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	Lun *float64 `json:"lun,omitempty" tf:"lun,omitempty"`

	// The name of the Data Disk.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetDataDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetDataDiskObservation.

func (*WindowsVirtualMachineScaleSetDataDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetDataDiskParameters

type WindowsVirtualMachineScaleSetDataDiskParameters struct {

	// The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
	// +kubebuilder:validation:Optional
	CreateOption *string `json:"createOption,omitempty" tf:"create_option,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The size of the Data Disk which should be created.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb" tf:"disk_size_gb,omitempty"`

	// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
	// +kubebuilder:validation:Optional
	Lun *float64 `json:"lun" tf:"lun,omitempty"`

	// The name of the Data Disk.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskIopsReadWrite *float64 `json:"ultraSsdDiskIopsReadWrite,omitempty" tf:"ultra_ssd_disk_iops_read_write,omitempty"`

	// Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
	// +kubebuilder:validation:Optional
	UltraSsdDiskMbpsReadWrite *float64 `json:"ultraSsdDiskMbpsReadWrite,omitempty" tf:"ultra_ssd_disk_mbps_read_write,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetDataDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetDataDiskParameters.

func (*WindowsVirtualMachineScaleSetDataDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionInitParameters

type WindowsVirtualMachineScaleSetExtensionInitParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// An ordered list of Extension names which this should be provisioned after.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionInitParameters.

func (*WindowsVirtualMachineScaleSetExtensionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionObservation

type WindowsVirtualMachineScaleSetExtensionObservation struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	ProtectedSettingsFromKeyVault *WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// An ordered list of Extension names which this should be provisioned after.
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty" tf:"type_handler_version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionObservation.

func (*WindowsVirtualMachineScaleSetExtensionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionParameters

type WindowsVirtualMachineScaleSetExtensionParameters struct {

	// Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
	// +kubebuilder:validation:Optional
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty" tf:"auto_upgrade_minor_version,omitempty"`

	// Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
	// +kubebuilder:validation:Optional
	AutomaticUpgradeEnabled *bool `json:"automaticUpgradeEnabled,omitempty" tf:"automatic_upgrade_enabled,omitempty"`

	// A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
	// +kubebuilder:validation:Optional
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty" tf:"force_update_tag,omitempty"`

	// The name for the Virtual Machine Scale Set Extension.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// A protected_settings_from_key_vault block as defined below.
	// +kubebuilder:validation:Optional
	ProtectedSettingsFromKeyVault *WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters `json:"protectedSettingsFromKeyVault,omitempty" tf:"protected_settings_from_key_vault,omitempty"`

	// A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
	// +kubebuilder:validation:Optional
	ProtectedSettingsSecretRef *v1.SecretKeySelector `json:"protectedSettingsSecretRef,omitempty" tf:"-"`

	// An ordered list of Extension names which this should be provisioned after.
	// +kubebuilder:validation:Optional
	ProvisionAfterExtensions []*string `json:"provisionAfterExtensions,omitempty" tf:"provision_after_extensions,omitempty"`

	// Specifies the Publisher of the Extension.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// A JSON String which specifies Settings for the Extension.
	// +kubebuilder:validation:Optional
	Settings *string `json:"settings,omitempty" tf:"settings,omitempty"`

	// Specifies the Type of the Extension.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`

	// Specifies the version of the extension to use, available versions can be found using the Azure CLI.
	// +kubebuilder:validation:Optional
	TypeHandlerVersion *string `json:"typeHandlerVersion" tf:"type_handler_version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionParameters.

func (*WindowsVirtualMachineScaleSetExtensionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters.

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	SecretURL *string `json:"secretUrl,omitempty" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	SourceVaultID *string `json:"sourceVaultId,omitempty" tf:"source_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation.

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters

type WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters struct {

	// The URL to the Key Vault Secret which stores the protected settings.
	// +kubebuilder:validation:Optional
	SecretURL *string `json:"secretUrl" tf:"secret_url,omitempty"`

	// The ID of the source Key Vault.
	// +kubebuilder:validation:Optional
	SourceVaultID *string `json:"sourceVaultId" tf:"source_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters.

func (*WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationInitParameters

type WindowsVirtualMachineScaleSetGalleryApplicationInitParameters struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationInitParameters.

func (*WindowsVirtualMachineScaleSetGalleryApplicationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationObservation

type WindowsVirtualMachineScaleSetGalleryApplicationObservation struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationObservation.

func (*WindowsVirtualMachineScaleSetGalleryApplicationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationParameters

type WindowsVirtualMachineScaleSetGalleryApplicationParameters struct {

	// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ConfigurationBlobURI *string `json:"configurationBlobUri,omitempty" tf:"configuration_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VersionID *string `json:"versionId" tf:"version_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationParameters.

func (*WindowsVirtualMachineScaleSetGalleryApplicationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters

type WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters struct {
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Windows Virtual Machine Scale Set.
	PackageReferenceID *string `json:"packageReferenceId,omitempty" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters.

func (*WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationsObservation

type WindowsVirtualMachineScaleSetGalleryApplicationsObservation struct {
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Windows Virtual Machine Scale Set.
	PackageReferenceID *string `json:"packageReferenceId,omitempty" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationsObservation.

func (*WindowsVirtualMachineScaleSetGalleryApplicationsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetGalleryApplicationsParameters

type WindowsVirtualMachineScaleSetGalleryApplicationsParameters struct {

	// +kubebuilder:validation:Optional
	ConfigurationReferenceBlobURI *string `json:"configurationReferenceBlobUri,omitempty" tf:"configuration_reference_blob_uri,omitempty"`

	// Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Order *float64 `json:"order,omitempty" tf:"order,omitempty"`

	// The ID of the Windows Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	PackageReferenceID *string `json:"packageReferenceId" tf:"package_reference_id,omitempty"`

	// The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}

func (*WindowsVirtualMachineScaleSetGalleryApplicationsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetGalleryApplicationsParameters.

func (*WindowsVirtualMachineScaleSetGalleryApplicationsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetIdentityInitParameters

type WindowsVirtualMachineScaleSetIdentityInitParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineScaleSetIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetIdentityInitParameters.

func (*WindowsVirtualMachineScaleSetIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetIdentityObservation

type WindowsVirtualMachineScaleSetIdentityObservation struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Principal ID associated with this Managed Service Identity.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Tenant ID associated with this Managed Service Identity.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineScaleSetIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetIdentityObservation.

func (*WindowsVirtualMachineScaleSetIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetIdentityParameters

type WindowsVirtualMachineScaleSetIdentityParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*WindowsVirtualMachineScaleSetIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetIdentityParameters.

func (*WindowsVirtualMachineScaleSetIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetInitParameters

type WindowsVirtualMachineScaleSetInitParameters struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *WindowsVirtualMachineScaleSetAdditionalCapabilitiesInitParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []WindowsVirtualMachineScaleSetAdditionalUnattendContentInitParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	AutomaticInstanceRepair *WindowsVirtualMachineScaleSetAutomaticInstanceRepairInitParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	AutomaticOsUpgradePolicy *WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyInitParameters `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *WindowsVirtualMachineScaleSetBootDiagnosticsInitParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// One or more data_disk blocks as defined below.
	DataDisk []WindowsVirtualMachineScaleSetDataDiskInitParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []WindowsVirtualMachineScaleSetExtensionInitParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []WindowsVirtualMachineScaleSetGalleryApplicationInitParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationsInitParameters `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// An identity block as defined below.
	Identity *WindowsVirtualMachineScaleSetIdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *WindowsVirtualMachineScaleSetOsDiskInitParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *WindowsVirtualMachineScaleSetPlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	RollingUpgradePolicy *WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	ScaleIn *WindowsVirtualMachineScaleSetScaleInInitParameters `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	// Deprecated: scaleInPolicy will be removed in favour of the scaleIn code block.
	ScaleInPolicy *string `json:"scaleInPolicy,omitempty" tf:"scale_in_policy,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsVirtualMachineScaleSetSecretInitParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	SpotRestore *WindowsVirtualMachineScaleSetSpotRestoreInitParameters `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	TerminateNotification *WindowsVirtualMachineScaleSetTerminateNotificationInitParameters `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *WindowsVirtualMachineScaleSetTerminationNotificationInitParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WindowsVirtualMachineScaleSetWinrmListenerInitParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*WindowsVirtualMachineScaleSetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetInitParameters.

func (*WindowsVirtualMachineScaleSetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetList

type WindowsVirtualMachineScaleSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WindowsVirtualMachineScaleSet `json:"items"`
}

WindowsVirtualMachineScaleSetList contains a list of WindowsVirtualMachineScaleSets

func (*WindowsVirtualMachineScaleSetList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetList.

func (*WindowsVirtualMachineScaleSetList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WindowsVirtualMachineScaleSetList) DeepCopyObject

func (in *WindowsVirtualMachineScaleSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WindowsVirtualMachineScaleSetList) GetItems

GetItems of this WindowsVirtualMachineScaleSetList.

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []NetworkInterfaceIPConfigurationPublicIPAddressInitParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	PublicIPAddress []NetworkInterfaceIPConfigurationPublicIPAddressObservation `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters

type WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters struct {

	// A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationGatewayBackendAddressPoolIds []*string `json:"applicationGatewayBackendAddressPoolIds,omitempty" tf:"application_gateway_backend_address_pool_ids,omitempty"`

	// A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancerBackendAddressPoolIds []*string `json:"loadBalancerBackendAddressPoolIds,omitempty" tf:"load_balancer_backend_address_pool_ids,omitempty"`

	// A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancerInboundNATRulesIds []*string `json:"loadBalancerInboundNatRulesIds,omitempty" tf:"load_balancer_inbound_nat_rules_ids,omitempty"`

	// The Name of the Public IP Address Configuration.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Is this the Primary IP Configuration?
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`

	// A public_ip_address block as defined below.
	// +kubebuilder:validation:Optional
	PublicIPAddress []NetworkInterfaceIPConfigurationPublicIPAddressParameters `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`

	// The ID of the Subnet which this IP Configuration should be connected to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters

type WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationInitParameters `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetNetworkInterfaceObservation

type WindowsVirtualMachineScaleSetNetworkInterfaceObservation struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	IPConfiguration []WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationObservation `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceObservation.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetNetworkInterfaceParameters

type WindowsVirtualMachineScaleSetNetworkInterfaceParameters struct {

	// A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
	// +kubebuilder:validation:Optional
	DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`

	// Does this Network Interface support Accelerated Networking? Defaults to false.
	// +kubebuilder:validation:Optional
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty" tf:"enable_accelerated_networking,omitempty"`

	// Does this Network Interface support IP Forwarding? Defaults to false.
	// +kubebuilder:validation:Optional
	EnableIPForwarding *bool `json:"enableIpForwarding,omitempty" tf:"enable_ip_forwarding,omitempty"`

	// One or more ip_configuration blocks as defined above.
	// +kubebuilder:validation:Optional
	IPConfiguration []WindowsVirtualMachineScaleSetNetworkInterfaceIPConfigurationParameters `json:"ipConfiguration" tf:"ip_configuration,omitempty"`

	// The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The ID of a Network Security Group which should be assigned to this Network Interface.
	// +kubebuilder:validation:Optional
	NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty" tf:"network_security_group_id,omitempty"`

	// Is this the Primary IP Configuration?
	// +kubebuilder:validation:Optional
	Primary *bool `json:"primary,omitempty" tf:"primary,omitempty"`
}

func (*WindowsVirtualMachineScaleSetNetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetNetworkInterfaceParameters.

func (*WindowsVirtualMachineScaleSetNetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetObservation

type WindowsVirtualMachineScaleSetObservation struct {

	// An additional_capabilities block as defined below.
	AdditionalCapabilities *WindowsVirtualMachineScaleSetAdditionalCapabilitiesObservation `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	AdditionalUnattendContent []WindowsVirtualMachineScaleSetAdditionalUnattendContentObservation `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	AutomaticInstanceRepair *WindowsVirtualMachineScaleSetAutomaticInstanceRepairObservation `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	AutomaticOsUpgradePolicy *WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyObservation `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	BootDiagnostics *WindowsVirtualMachineScaleSetBootDiagnosticsObservation `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// One or more data_disk blocks as defined below.
	DataDisk []WindowsVirtualMachineScaleSetDataDiskObservation `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	Extension []WindowsVirtualMachineScaleSetExtensionObservation `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	GalleryApplication []WindowsVirtualMachineScaleSetGalleryApplicationObservation `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationsObservation `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// The ID of the Windows Virtual Machine Scale Set.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below.
	Identity *WindowsVirtualMachineScaleSetIdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set.
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	NetworkInterface []WindowsVirtualMachineScaleSetNetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	OsDisk *WindowsVirtualMachineScaleSetOsDiskObservation `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	Plan *WindowsVirtualMachineScaleSetPlanObservation `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	RollingUpgradePolicy *WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	ScaleIn *WindowsVirtualMachineScaleSetScaleInObservation `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	// Deprecated: scaleInPolicy will be removed in favour of the scaleIn code block.
	ScaleInPolicy *string `json:"scaleInPolicy,omitempty" tf:"scale_in_policy,omitempty"`

	// One or more secret blocks as defined below.
	Secret []WindowsVirtualMachineScaleSetSecretObservation `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	SourceImageReference *WindowsVirtualMachineScaleSetSourceImageReferenceObservation `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	SpotRestore *WindowsVirtualMachineScaleSetSpotRestoreObservation `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	TerminateNotification *WindowsVirtualMachineScaleSetTerminateNotificationObservation `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	TerminationNotification *WindowsVirtualMachineScaleSetTerminationNotificationObservation `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// The Unique ID for this Windows Virtual Machine Scale Set.
	UniqueID *string `json:"uniqueId,omitempty" tf:"unique_id,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	WinrmListener []WindowsVirtualMachineScaleSetWinrmListenerObservation `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*WindowsVirtualMachineScaleSetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetObservation.

func (*WindowsVirtualMachineScaleSetObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters.

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	Option *string `json:"option,omitempty" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation.

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters

type WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters struct {

	// Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Option *string `json:"option" tf:"option,omitempty"`

	// Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Placement *string `json:"placement,omitempty" tf:"placement,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters.

func (*WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskInitParameters

type WindowsVirtualMachineScaleSetOsDiskInitParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsInitParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskInitParameters.

func (*WindowsVirtualMachineScaleSetOsDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskObservation

type WindowsVirtualMachineScaleSetOsDiskObservation struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	Caching *string `json:"caching,omitempty" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	DiffDiskSettings *WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsObservation `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	StorageAccountType *string `json:"storageAccountType,omitempty" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskObservation.

func (*WindowsVirtualMachineScaleSetOsDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetOsDiskParameters

type WindowsVirtualMachineScaleSetOsDiskParameters struct {

	// The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
	// +kubebuilder:validation:Optional
	Caching *string `json:"caching" tf:"caching,omitempty"`

	// A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiffDiskSettings *WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsParameters `json:"diffDiskSettings,omitempty" tf:"diff_disk_settings,omitempty"`

	// The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureVMDiskEncryptionSetID *string `json:"secureVmDiskEncryptionSetId,omitempty" tf:"secure_vm_disk_encryption_set_id,omitempty"`

	// Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecurityEncryptionType *string `json:"securityEncryptionType,omitempty" tf:"security_encryption_type,omitempty"`

	// The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	StorageAccountType *string `json:"storageAccountType" tf:"storage_account_type,omitempty"`

	// Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
	// +kubebuilder:validation:Optional
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty" tf:"write_accelerator_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetOsDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetOsDiskParameters.

func (*WindowsVirtualMachineScaleSetOsDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetParameters

type WindowsVirtualMachineScaleSetParameters struct {

	// An additional_capabilities block as defined below.
	// +kubebuilder:validation:Optional
	AdditionalCapabilities *WindowsVirtualMachineScaleSetAdditionalCapabilitiesParameters `json:"additionalCapabilities,omitempty" tf:"additional_capabilities,omitempty"`

	// One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdditionalUnattendContent []WindowsVirtualMachineScaleSetAdditionalUnattendContentParameters `json:"additionalUnattendContent,omitempty" tf:"additional_unattend_content,omitempty"`

	// The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef v1.SecretKeySelector `json:"adminPasswordSecretRef" tf:"-"`

	// The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
	// +kubebuilder:validation:Optional
	AutomaticInstanceRepair *WindowsVirtualMachineScaleSetAutomaticInstanceRepairParameters `json:"automaticInstanceRepair,omitempty" tf:"automatic_instance_repair,omitempty"`

	// An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
	// +kubebuilder:validation:Optional
	AutomaticOsUpgradePolicy *WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyParameters `json:"automaticOsUpgradePolicy,omitempty" tf:"automatic_os_upgrade_policy,omitempty"`

	// A boot_diagnostics block as defined below.
	// +kubebuilder:validation:Optional
	BootDiagnostics *WindowsVirtualMachineScaleSetBootDiagnosticsParameters `json:"bootDiagnostics,omitempty" tf:"boot_diagnostics,omitempty"`

	// Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty" tf:"computer_name_prefix,omitempty"`

	// The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	CustomDataSecretRef *v1.SecretKeySelector `json:"customDataSecretRef,omitempty" tf:"-"`

	// One or more data_disk blocks as defined below.
	// +kubebuilder:validation:Optional
	DataDisk []WindowsVirtualMachineScaleSetDataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`

	// Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
	// +kubebuilder:validation:Optional
	DoNotRunExtensionsOnOverprovisionedMachines *bool `json:"doNotRunExtensionsOnOverprovisionedMachines,omitempty" tf:"do_not_run_extensions_on_overprovisioned_machines,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// Are automatic updates enabled for this Virtual Machine? Defaults to true.
	// +kubebuilder:validation:Optional
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty" tf:"enable_automatic_updates,omitempty"`

	// Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
	// +kubebuilder:validation:Optional
	EncryptionAtHostEnabled *bool `json:"encryptionAtHostEnabled,omitempty" tf:"encryption_at_host_enabled,omitempty"`

	// Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// One or more extension blocks as defined below
	// +kubebuilder:validation:Optional
	Extension []WindowsVirtualMachineScaleSetExtensionParameters `json:"extension,omitempty" tf:"extension,omitempty"`

	// Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	ExtensionOperationsEnabled *bool `json:"extensionOperationsEnabled,omitempty" tf:"extension_operations_enabled,omitempty"`

	// Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
	// +kubebuilder:validation:Optional
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty" tf:"extensions_time_budget,omitempty"`

	// One or more gallery_application blocks as defined below.
	// +kubebuilder:validation:Optional
	GalleryApplication []WindowsVirtualMachineScaleSetGalleryApplicationParameters `json:"galleryApplication,omitempty" tf:"gallery_application,omitempty"`

	// +kubebuilder:validation:Optional
	GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationsParameters `json:"galleryApplications,omitempty" tf:"gallery_applications,omitempty"`

	// The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
	// +kubebuilder:validation:Optional
	HealthProbeID *string `json:"healthProbeId,omitempty" tf:"health_probe_id,omitempty"`

	// Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// An identity block as defined below.
	// +kubebuilder:validation:Optional
	Identity *WindowsVirtualMachineScaleSetIdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The number of Virtual Machines in the Scale Set.
	// +kubebuilder:validation:Optional
	Instances *float64 `json:"instances,omitempty" tf:"instances,omitempty"`

	// Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
	// +kubebuilder:validation:Optional
	LicenseType *string `json:"licenseType,omitempty" tf:"license_type,omitempty"`

	// The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
	// +kubebuilder:validation:Optional
	MaxBidPrice *float64 `json:"maxBidPrice,omitempty" tf:"max_bid_price,omitempty"`

	// One or more network_interface blocks as defined below.
	// +kubebuilder:validation:Optional
	NetworkInterface []WindowsVirtualMachineScaleSetNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// An os_disk block as defined below.
	// +kubebuilder:validation:Optional
	OsDisk *WindowsVirtualMachineScaleSetOsDiskParameters `json:"osDisk,omitempty" tf:"os_disk,omitempty"`

	// Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
	// +kubebuilder:validation:Optional
	Overprovision *bool `json:"overprovision,omitempty" tf:"overprovision,omitempty"`

	// A plan block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Plan *WindowsVirtualMachineScaleSetPlanParameters `json:"plan,omitempty" tf:"plan,omitempty"`

	// Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PlatformFaultDomainCount *float64 `json:"platformFaultDomainCount,omitempty" tf:"platform_fault_domain_count,omitempty"`

	// The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProvisionVMAgent *bool `json:"provisionVmAgent,omitempty" tf:"provision_vm_agent,omitempty"`

	// The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	RollingUpgradePolicy *WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters `json:"rollingUpgradePolicy,omitempty" tf:"rolling_upgrade_policy,omitempty"`

	// A scale_in block as defined below.
	// +kubebuilder:validation:Optional
	ScaleIn *WindowsVirtualMachineScaleSetScaleInParameters `json:"scaleIn,omitempty" tf:"scale_in,omitempty"`

	// Deprecated: scaleInPolicy will be removed in favour of the scaleIn code block.
	// +kubebuilder:validation:Optional
	ScaleInPolicy *string `json:"scaleInPolicy,omitempty" tf:"scale_in_policy,omitempty"`

	// One or more secret blocks as defined below.
	// +kubebuilder:validation:Optional
	Secret []WindowsVirtualMachineScaleSetSecretParameters `json:"secret,omitempty" tf:"secret,omitempty"`

	// Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty" tf:"secure_boot_enabled,omitempty"`

	// Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
	// +kubebuilder:validation:Optional
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty" tf:"single_placement_group,omitempty"`

	// The Virtual Machine SKU for the Scale Set, such as Standard_F2.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.
	// +kubebuilder:validation:Optional
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// A source_image_reference block as defined below.
	// +kubebuilder:validation:Optional
	SourceImageReference *WindowsVirtualMachineScaleSetSourceImageReferenceParameters `json:"sourceImageReference,omitempty" tf:"source_image_reference,omitempty"`

	// A spot_restore block as defined below.
	// +kubebuilder:validation:Optional
	SpotRestore *WindowsVirtualMachineScaleSetSpotRestoreParameters `json:"spotRestore,omitempty" tf:"spot_restore,omitempty"`

	// A mapping of tags which should be assigned to this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A terminate_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminateNotification *WindowsVirtualMachineScaleSetTerminateNotificationParameters `json:"terminateNotification,omitempty" tf:"terminate_notification,omitempty"`

	// A termination_notification block as defined below.
	// +kubebuilder:validation:Optional
	TerminationNotification *WindowsVirtualMachineScaleSetTerminationNotificationParameters `json:"terminationNotification,omitempty" tf:"termination_notification,omitempty"`

	// Specifies the time zone of the virtual machine, the possible values are defined here.
	// +kubebuilder:validation:Optional
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UpgradeMode *string `json:"upgradeMode,omitempty" tf:"upgrade_mode,omitempty"`

	// The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VtpmEnabled *bool `json:"vtpmEnabled,omitempty" tf:"vtpm_enabled,omitempty"`

	// One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	WinrmListener []WindowsVirtualMachineScaleSetWinrmListenerParameters `json:"winrmListener,omitempty" tf:"winrm_listener,omitempty"`

	// Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ZoneBalance *bool `json:"zoneBalance,omitempty" tf:"zone_balance,omitempty"`

	// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*WindowsVirtualMachineScaleSetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetParameters.

func (*WindowsVirtualMachineScaleSetParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetPlanInitParameters

type WindowsVirtualMachineScaleSetPlanInitParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachineScaleSetPlanInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetPlanInitParameters.

func (*WindowsVirtualMachineScaleSetPlanInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetPlanObservation

type WindowsVirtualMachineScaleSetPlanObservation struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	Product *string `json:"product,omitempty" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachineScaleSetPlanObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetPlanObservation.

func (*WindowsVirtualMachineScaleSetPlanObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetPlanParameters

type WindowsVirtualMachineScaleSetPlanParameters struct {

	// Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Product *string `json:"product" tf:"product,omitempty"`

	// Specifies the publisher of the image. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`
}

func (*WindowsVirtualMachineScaleSetPlanParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetPlanParameters.

func (*WindowsVirtualMachineScaleSetPlanParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters

type WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent,omitempty" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent,omitempty" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent,omitempty" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters.

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation

type WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent,omitempty" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent,omitempty" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent,omitempty" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation.

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters

type WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters struct {

	// Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
	// +kubebuilder:validation:Optional
	CrossZoneUpgradesEnabled *bool `json:"crossZoneUpgradesEnabled,omitempty" tf:"cross_zone_upgrades_enabled,omitempty"`

	// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
	// +kubebuilder:validation:Optional
	MaxBatchInstancePercent *float64 `json:"maxBatchInstancePercent" tf:"max_batch_instance_percent,omitempty"`

	// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
	// +kubebuilder:validation:Optional
	MaxUnhealthyInstancePercent *float64 `json:"maxUnhealthyInstancePercent" tf:"max_unhealthy_instance_percent,omitempty"`

	// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
	// +kubebuilder:validation:Optional
	MaxUnhealthyUpgradedInstancePercent *float64 `json:"maxUnhealthyUpgradedInstancePercent" tf:"max_unhealthy_upgraded_instance_percent,omitempty"`

	// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.
	// +kubebuilder:validation:Optional
	MaximumSurgeInstancesEnabled *bool `json:"maximumSurgeInstancesEnabled,omitempty" tf:"maximum_surge_instances_enabled,omitempty"`

	// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
	// +kubebuilder:validation:Optional
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches" tf:"pause_time_between_batches,omitempty"`

	// Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
	// +kubebuilder:validation:Optional
	PrioritizeUnhealthyInstancesEnabled *bool `json:"prioritizeUnhealthyInstancesEnabled,omitempty" tf:"prioritize_unhealthy_instances_enabled,omitempty"`
}

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters.

func (*WindowsVirtualMachineScaleSetRollingUpgradePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetScaleInInitParameters

type WindowsVirtualMachineScaleSetScaleInInitParameters struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*WindowsVirtualMachineScaleSetScaleInInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetScaleInInitParameters.

func (*WindowsVirtualMachineScaleSetScaleInInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetScaleInObservation

type WindowsVirtualMachineScaleSetScaleInObservation struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*WindowsVirtualMachineScaleSetScaleInObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetScaleInObservation.

func (*WindowsVirtualMachineScaleSetScaleInObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetScaleInParameters

type WindowsVirtualMachineScaleSetScaleInParameters struct {

	// Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
	// +kubebuilder:validation:Optional
	ForceDeletionEnabled *bool `json:"forceDeletionEnabled,omitempty" tf:"force_deletion_enabled,omitempty"`

	// The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
	// +kubebuilder:validation:Optional
	Rule *string `json:"rule,omitempty" tf:"rule,omitempty"`
}

func (*WindowsVirtualMachineScaleSetScaleInParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetScaleInParameters.

func (*WindowsVirtualMachineScaleSetScaleInParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretCertificateInitParameters

type WindowsVirtualMachineScaleSetSecretCertificateInitParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretCertificateInitParameters.

func (*WindowsVirtualMachineScaleSetSecretCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretCertificateObservation

type WindowsVirtualMachineScaleSetSecretCertificateObservation struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretCertificateObservation.

func (*WindowsVirtualMachineScaleSetSecretCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretCertificateParameters

type WindowsVirtualMachineScaleSetSecretCertificateParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	// +kubebuilder:validation:Optional
	Store *string `json:"store" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretCertificateParameters.

func (*WindowsVirtualMachineScaleSetSecretCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretInitParameters

type WindowsVirtualMachineScaleSetSecretInitParameters struct {

	// One or more certificate blocks as defined above.
	Certificate []WindowsVirtualMachineScaleSetSecretCertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretInitParameters.

func (*WindowsVirtualMachineScaleSetSecretInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretObservation

type WindowsVirtualMachineScaleSetSecretObservation struct {

	// One or more certificate blocks as defined above.
	Certificate []WindowsVirtualMachineScaleSetSecretCertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretObservation.

func (*WindowsVirtualMachineScaleSetSecretObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSecretParameters

type WindowsVirtualMachineScaleSetSecretParameters struct {

	// One or more certificate blocks as defined above.
	// +kubebuilder:validation:Optional
	Certificate []WindowsVirtualMachineScaleSetSecretCertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSecretParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSecretParameters.

func (*WindowsVirtualMachineScaleSetSecretParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters

type WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters.

func (*WindowsVirtualMachineScaleSetSourceImageReferenceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSourceImageReferenceObservation

type WindowsVirtualMachineScaleSetSourceImageReferenceObservation struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSourceImageReferenceObservation.

func (*WindowsVirtualMachineScaleSetSourceImageReferenceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSourceImageReferenceParameters

type WindowsVirtualMachineScaleSetSourceImageReferenceParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines.
	// +kubebuilder:validation:Optional
	Version *string `json:"version" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSourceImageReferenceParameters.

func (*WindowsVirtualMachineScaleSetSourceImageReferenceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSpec

type WindowsVirtualMachineScaleSetSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     WindowsVirtualMachineScaleSetParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider WindowsVirtualMachineScaleSetInitParameters `json:"initProvider,omitempty"`
}

WindowsVirtualMachineScaleSetSpec defines the desired state of WindowsVirtualMachineScaleSet

func (*WindowsVirtualMachineScaleSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSpec.

func (*WindowsVirtualMachineScaleSetSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSpotRestoreInitParameters

type WindowsVirtualMachineScaleSetSpotRestoreInitParameters struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSpotRestoreInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSpotRestoreInitParameters.

func (*WindowsVirtualMachineScaleSetSpotRestoreInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSpotRestoreObservation

type WindowsVirtualMachineScaleSetSpotRestoreObservation struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSpotRestoreObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSpotRestoreObservation.

func (*WindowsVirtualMachineScaleSetSpotRestoreObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetSpotRestoreParameters

type WindowsVirtualMachineScaleSetSpotRestoreParameters struct {

	// Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetSpotRestoreParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetSpotRestoreParameters.

func (*WindowsVirtualMachineScaleSetSpotRestoreParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetStatus

type WindowsVirtualMachineScaleSetStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        WindowsVirtualMachineScaleSetObservation `json:"atProvider,omitempty"`
}

WindowsVirtualMachineScaleSetStatus defines the observed state of WindowsVirtualMachineScaleSet.

func (*WindowsVirtualMachineScaleSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetStatus.

func (*WindowsVirtualMachineScaleSetStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminateNotificationInitParameters

type WindowsVirtualMachineScaleSetTerminateNotificationInitParameters struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminateNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminateNotificationInitParameters.

func (*WindowsVirtualMachineScaleSetTerminateNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminateNotificationObservation

type WindowsVirtualMachineScaleSetTerminateNotificationObservation struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminateNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminateNotificationObservation.

func (*WindowsVirtualMachineScaleSetTerminateNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminateNotificationParameters

type WindowsVirtualMachineScaleSetTerminateNotificationParameters struct {

	// Should the terminate notification be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminateNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminateNotificationParameters.

func (*WindowsVirtualMachineScaleSetTerminateNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminationNotificationInitParameters

type WindowsVirtualMachineScaleSetTerminationNotificationInitParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminationNotificationInitParameters.

func (*WindowsVirtualMachineScaleSetTerminationNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminationNotificationObservation

type WindowsVirtualMachineScaleSetTerminationNotificationObservation struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminationNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminationNotificationObservation.

func (*WindowsVirtualMachineScaleSetTerminationNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetTerminationNotificationParameters

type WindowsVirtualMachineScaleSetTerminationNotificationParameters struct {

	// Should the termination notification be enabled on this Virtual Machine Scale Set?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineScaleSetTerminationNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetTerminationNotificationParameters.

func (*WindowsVirtualMachineScaleSetTerminationNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetWinrmListenerInitParameters

type WindowsVirtualMachineScaleSetWinrmListenerInitParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineScaleSetWinrmListenerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetWinrmListenerInitParameters.

func (*WindowsVirtualMachineScaleSetWinrmListenerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetWinrmListenerObservation

type WindowsVirtualMachineScaleSetWinrmListenerObservation struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineScaleSetWinrmListenerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetWinrmListenerObservation.

func (*WindowsVirtualMachineScaleSetWinrmListenerObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineScaleSetWinrmListenerParameters

type WindowsVirtualMachineScaleSetWinrmListenerParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineScaleSetWinrmListenerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineScaleSetWinrmListenerParameters.

func (*WindowsVirtualMachineScaleSetWinrmListenerParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretCertificateInitParameters

type WindowsVirtualMachineSecretCertificateInitParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineSecretCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretCertificateInitParameters.

func (*WindowsVirtualMachineSecretCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretCertificateObservation

type WindowsVirtualMachineSecretCertificateObservation struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	Store *string `json:"store,omitempty" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineSecretCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretCertificateObservation.

func (*WindowsVirtualMachineSecretCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretCertificateParameters

type WindowsVirtualMachineSecretCertificateParameters struct {

	// The certificate store on the Virtual Machine where the certificate should be added.
	// +kubebuilder:validation:Optional
	Store *string `json:"store" tf:"store,omitempty"`

	// The Secret URL of a Key Vault Certificate.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*WindowsVirtualMachineSecretCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretCertificateParameters.

func (*WindowsVirtualMachineSecretCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretInitParameters

type WindowsVirtualMachineSecretInitParameters struct {

	// One or more certificate blocks as defined above.
	Certificate []WindowsVirtualMachineSecretCertificateInitParameters `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineSecretInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretInitParameters.

func (*WindowsVirtualMachineSecretInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretObservation

type WindowsVirtualMachineSecretObservation struct {

	// One or more certificate blocks as defined above.
	Certificate []WindowsVirtualMachineSecretCertificateObservation `json:"certificate,omitempty" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	KeyVaultID *string `json:"keyVaultId,omitempty" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineSecretObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretObservation.

func (*WindowsVirtualMachineSecretObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSecretParameters

type WindowsVirtualMachineSecretParameters struct {

	// One or more certificate blocks as defined above.
	// +kubebuilder:validation:Optional
	Certificate []WindowsVirtualMachineSecretCertificateParameters `json:"certificate" tf:"certificate,omitempty"`

	// The ID of the Key Vault from which all Secrets should be sourced.
	// +kubebuilder:validation:Optional
	KeyVaultID *string `json:"keyVaultId" tf:"key_vault_id,omitempty"`
}

func (*WindowsVirtualMachineSecretParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSecretParameters.

func (*WindowsVirtualMachineSecretParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSourceImageReferenceInitParameters

type WindowsVirtualMachineSourceImageReferenceInitParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineSourceImageReferenceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSourceImageReferenceInitParameters.

func (*WindowsVirtualMachineSourceImageReferenceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSourceImageReferenceObservation

type WindowsVirtualMachineSourceImageReferenceObservation struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Offer *string `json:"offer,omitempty" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Publisher *string `json:"publisher,omitempty" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Sku *string `json:"sku,omitempty" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineSourceImageReferenceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSourceImageReferenceObservation.

func (*WindowsVirtualMachineSourceImageReferenceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSourceImageReferenceParameters

type WindowsVirtualMachineSourceImageReferenceParameters struct {

	// Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Offer *string `json:"offer" tf:"offer,omitempty"`

	// Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Publisher *string `json:"publisher" tf:"publisher,omitempty"`

	// Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Sku *string `json:"sku" tf:"sku,omitempty"`

	// Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Version *string `json:"version" tf:"version,omitempty"`
}

func (*WindowsVirtualMachineSourceImageReferenceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSourceImageReferenceParameters.

func (*WindowsVirtualMachineSourceImageReferenceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineSpec

type WindowsVirtualMachineSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     WindowsVirtualMachineParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider WindowsVirtualMachineInitParameters `json:"initProvider,omitempty"`
}

WindowsVirtualMachineSpec defines the desired state of WindowsVirtualMachine

func (*WindowsVirtualMachineSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineSpec.

func (*WindowsVirtualMachineSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineStatus

type WindowsVirtualMachineStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        WindowsVirtualMachineObservation `json:"atProvider,omitempty"`
}

WindowsVirtualMachineStatus defines the observed state of WindowsVirtualMachine.

func (*WindowsVirtualMachineStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineStatus.

func (*WindowsVirtualMachineStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineTerminationNotificationInitParameters

type WindowsVirtualMachineTerminationNotificationInitParameters struct {

	// Should the termination notification be enabled on this Virtual Machine?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineTerminationNotificationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineTerminationNotificationInitParameters.

func (*WindowsVirtualMachineTerminationNotificationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineTerminationNotificationObservation

type WindowsVirtualMachineTerminationNotificationObservation struct {

	// Should the termination notification be enabled on this Virtual Machine?
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineTerminationNotificationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineTerminationNotificationObservation.

func (*WindowsVirtualMachineTerminationNotificationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineTerminationNotificationParameters

type WindowsVirtualMachineTerminationNotificationParameters struct {

	// Should the termination notification be enabled on this Virtual Machine?
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
	// +kubebuilder:validation:Optional
	Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}

func (*WindowsVirtualMachineTerminationNotificationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineTerminationNotificationParameters.

func (*WindowsVirtualMachineTerminationNotificationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineWinrmListenerInitParameters

type WindowsVirtualMachineWinrmListenerInitParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineWinrmListenerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineWinrmListenerInitParameters.

func (*WindowsVirtualMachineWinrmListenerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineWinrmListenerObservation

type WindowsVirtualMachineWinrmListenerObservation struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineWinrmListenerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineWinrmListenerObservation.

func (*WindowsVirtualMachineWinrmListenerObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WindowsVirtualMachineWinrmListenerParameters

type WindowsVirtualMachineWinrmListenerParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`
}

func (*WindowsVirtualMachineWinrmListenerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsVirtualMachineWinrmListenerParameters.

func (*WindowsVirtualMachineWinrmListenerParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WinrmListenerInitParameters

type WinrmListenerInitParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WinrmListenerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WinrmListenerInitParameters.

func (*WinrmListenerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WinrmListenerObservation

type WinrmListenerObservation struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*WinrmListenerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WinrmListenerObservation.

func (*WinrmListenerObservation) DeepCopyInto

func (in *WinrmListenerObservation) DeepCopyInto(out *WinrmListenerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WinrmListenerParameters

type WinrmListenerParameters struct {

	// The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CertificateURL *string `json:"certificateUrl,omitempty" tf:"certificate_url,omitempty"`

	// Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`
}

func (*WinrmListenerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WinrmListenerParameters.

func (*WinrmListenerParameters) DeepCopyInto

func (in *WinrmListenerParameters) DeepCopyInto(out *WinrmListenerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL