arm

package
v2.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

View Source
const (
	HyperVGenerationType_V1 = HyperVGenerationType("V1")
	HyperVGenerationType_V2 = HyperVGenerationType("V2")
)
View Source
const (
	ImageDataDisk_Caching_None      = ImageDataDisk_Caching("None")
	ImageDataDisk_Caching_ReadOnly  = ImageDataDisk_Caching("ReadOnly")
	ImageDataDisk_Caching_ReadWrite = ImageDataDisk_Caching("ReadWrite")
)
View Source
const (
	ImageOSDisk_Caching_None      = ImageOSDisk_Caching("None")
	ImageOSDisk_Caching_ReadOnly  = ImageOSDisk_Caching("ReadOnly")
	ImageOSDisk_Caching_ReadWrite = ImageOSDisk_Caching("ReadWrite")
)
View Source
const (
	ImageOSDisk_OsState_Generalized = ImageOSDisk_OsState("Generalized")
	ImageOSDisk_OsState_Specialized = ImageOSDisk_OsState("Specialized")
)
View Source
const (
	ImageOSDisk_OsType_Linux   = ImageOSDisk_OsType("Linux")
	ImageOSDisk_OsType_Windows = ImageOSDisk_OsType("Windows")
)
View Source
const (
	StorageAccountType_PremiumV2_LRS   = StorageAccountType("PremiumV2_LRS")
	StorageAccountType_Premium_LRS     = StorageAccountType("Premium_LRS")
	StorageAccountType_Premium_ZRS     = StorageAccountType("Premium_ZRS")
	StorageAccountType_StandardSSD_LRS = StorageAccountType("StandardSSD_LRS")
	StorageAccountType_StandardSSD_ZRS = StorageAccountType("StandardSSD_ZRS")
	StorageAccountType_Standard_LRS    = StorageAccountType("Standard_LRS")
	StorageAccountType_UltraSSD_LRS    = StorageAccountType("UltraSSD_LRS")
)
View Source
const (
	HyperVGenerationType_STATUS_V1 = HyperVGenerationType_STATUS("V1")
	HyperVGenerationType_STATUS_V2 = HyperVGenerationType_STATUS("V2")
)
View Source
const (
	ImageDataDisk_Caching_STATUS_None      = ImageDataDisk_Caching_STATUS("None")
	ImageDataDisk_Caching_STATUS_ReadOnly  = ImageDataDisk_Caching_STATUS("ReadOnly")
	ImageDataDisk_Caching_STATUS_ReadWrite = ImageDataDisk_Caching_STATUS("ReadWrite")
)
View Source
const (
	ImageOSDisk_Caching_STATUS_None      = ImageOSDisk_Caching_STATUS("None")
	ImageOSDisk_Caching_STATUS_ReadOnly  = ImageOSDisk_Caching_STATUS("ReadOnly")
	ImageOSDisk_Caching_STATUS_ReadWrite = ImageOSDisk_Caching_STATUS("ReadWrite")
)
View Source
const (
	ImageOSDisk_OsState_STATUS_Generalized = ImageOSDisk_OsState_STATUS("Generalized")
	ImageOSDisk_OsState_STATUS_Specialized = ImageOSDisk_OsState_STATUS("Specialized")
)
View Source
const (
	ImageOSDisk_OsType_STATUS_Linux   = ImageOSDisk_OsType_STATUS("Linux")
	ImageOSDisk_OsType_STATUS_Windows = ImageOSDisk_OsType_STATUS("Windows")
)
View Source
const (
	StorageAccountType_STATUS_PremiumV2_LRS   = StorageAccountType_STATUS("PremiumV2_LRS")
	StorageAccountType_STATUS_Premium_LRS     = StorageAccountType_STATUS("Premium_LRS")
	StorageAccountType_STATUS_Premium_ZRS     = StorageAccountType_STATUS("Premium_ZRS")
	StorageAccountType_STATUS_StandardSSD_LRS = StorageAccountType_STATUS("StandardSSD_LRS")
	StorageAccountType_STATUS_StandardSSD_ZRS = StorageAccountType_STATUS("StandardSSD_ZRS")
	StorageAccountType_STATUS_Standard_LRS    = StorageAccountType_STATUS("Standard_LRS")
	StorageAccountType_STATUS_UltraSSD_LRS    = StorageAccountType_STATUS("UltraSSD_LRS")
)
View Source
const (
	OrchestrationMode_Flexible = OrchestrationMode("Flexible")
	OrchestrationMode_Uniform  = OrchestrationMode("Uniform")
)
View Source
const (
	VirtualMachineScaleSetIdentity_Type_None                       = VirtualMachineScaleSetIdentity_Type("None")
	VirtualMachineScaleSetIdentity_Type_SystemAssigned             = VirtualMachineScaleSetIdentity_Type("SystemAssigned")
	VirtualMachineScaleSetIdentity_Type_SystemAssignedUserAssigned = VirtualMachineScaleSetIdentity_Type("SystemAssigned, UserAssigned")
	VirtualMachineScaleSetIdentity_Type_UserAssigned               = VirtualMachineScaleSetIdentity_Type("UserAssigned")
)
View Source
const (
	AutomaticRepairsPolicy_RepairAction_Reimage = AutomaticRepairsPolicy_RepairAction("Reimage")
	AutomaticRepairsPolicy_RepairAction_Replace = AutomaticRepairsPolicy_RepairAction("Replace")
	AutomaticRepairsPolicy_RepairAction_Restart = AutomaticRepairsPolicy_RepairAction("Restart")
)
View Source
const (
	ScaleInPolicy_Rules_Default  = ScaleInPolicy_Rules("Default")
	ScaleInPolicy_Rules_NewestVM = ScaleInPolicy_Rules("NewestVM")
	ScaleInPolicy_Rules_OldestVM = ScaleInPolicy_Rules("OldestVM")
)
View Source
const (
	UpgradePolicy_Mode_Automatic = UpgradePolicy_Mode("Automatic")
	UpgradePolicy_Mode_Manual    = UpgradePolicy_Mode("Manual")
	UpgradePolicy_Mode_Rolling   = UpgradePolicy_Mode("Rolling")
)
View Source
const (
	VirtualMachineScaleSetOSDisk_OsType_Linux   = VirtualMachineScaleSetOSDisk_OsType("Linux")
	VirtualMachineScaleSetOSDisk_OsType_Windows = VirtualMachineScaleSetOSDisk_OsType("Windows")
)
View Source
const (
	VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_Delete = VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption("Delete")
	VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_Detach = VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption("Detach")
)
View Source
const (
	VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_IPv4 = VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion("IPv4")
	VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_IPv6 = VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion("IPv6")
)
View Source
const (
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_Delete = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption("Delete")
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_Detach = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption("Detach")
)
View Source
const (
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_IPv4 = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion("IPv4")
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_IPv6 = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion("IPv6")
)
View Source
const (
	OrchestrationMode_STATUS_Flexible = OrchestrationMode_STATUS("Flexible")
	OrchestrationMode_STATUS_Uniform  = OrchestrationMode_STATUS("Uniform")
)
View Source
const (
	VirtualMachineScaleSetIdentity_Type_STATUS_None                       = VirtualMachineScaleSetIdentity_Type_STATUS("None")
	VirtualMachineScaleSetIdentity_Type_STATUS_SystemAssigned             = VirtualMachineScaleSetIdentity_Type_STATUS("SystemAssigned")
	VirtualMachineScaleSetIdentity_Type_STATUS_SystemAssignedUserAssigned = VirtualMachineScaleSetIdentity_Type_STATUS("SystemAssigned, UserAssigned")
	VirtualMachineScaleSetIdentity_Type_STATUS_UserAssigned               = VirtualMachineScaleSetIdentity_Type_STATUS("UserAssigned")
)
View Source
const (
	AutomaticRepairsPolicy_RepairAction_STATUS_Reimage = AutomaticRepairsPolicy_RepairAction_STATUS("Reimage")
	AutomaticRepairsPolicy_RepairAction_STATUS_Replace = AutomaticRepairsPolicy_RepairAction_STATUS("Replace")
	AutomaticRepairsPolicy_RepairAction_STATUS_Restart = AutomaticRepairsPolicy_RepairAction_STATUS("Restart")
)
View Source
const (
	ScaleInPolicy_Rules_STATUS_Default  = ScaleInPolicy_Rules_STATUS("Default")
	ScaleInPolicy_Rules_STATUS_NewestVM = ScaleInPolicy_Rules_STATUS("NewestVM")
	ScaleInPolicy_Rules_STATUS_OldestVM = ScaleInPolicy_Rules_STATUS("OldestVM")
)
View Source
const (
	UpgradePolicy_Mode_STATUS_Automatic = UpgradePolicy_Mode_STATUS("Automatic")
	UpgradePolicy_Mode_STATUS_Manual    = UpgradePolicy_Mode_STATUS("Manual")
	UpgradePolicy_Mode_STATUS_Rolling   = UpgradePolicy_Mode_STATUS("Rolling")
)
View Source
const (
	VirtualMachineScaleSetOSDisk_OsType_STATUS_Linux   = VirtualMachineScaleSetOSDisk_OsType_STATUS("Linux")
	VirtualMachineScaleSetOSDisk_OsType_STATUS_Windows = VirtualMachineScaleSetOSDisk_OsType_STATUS("Windows")
)
View Source
const (
	VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS_Delete = VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS("Delete")
	VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS_Detach = VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS("Detach")
)
View Source
const (
	VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS_IPv4 = VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS("IPv4")
	VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS_IPv6 = VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS("IPv6")
)
View Source
const (
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS_Delete = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS("Delete")
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS_Detach = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS("Detach")
)
View Source
const (
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS_IPv4 = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS("IPv4")
	VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS_IPv6 = VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS("IPv6")
)
View Source
const (
	EvictionPolicy_Deallocate = EvictionPolicy("Deallocate")
	EvictionPolicy_Delete     = EvictionPolicy("Delete")
)
View Source
const (
	Priority_Low     = Priority("Low")
	Priority_Regular = Priority("Regular")
	Priority_Spot    = Priority("Spot")
)
View Source
const (
	VirtualMachineIdentity_Type_None                       = VirtualMachineIdentity_Type("None")
	VirtualMachineIdentity_Type_SystemAssigned             = VirtualMachineIdentity_Type("SystemAssigned")
	VirtualMachineIdentity_Type_SystemAssignedUserAssigned = VirtualMachineIdentity_Type("SystemAssigned, UserAssigned")
	VirtualMachineIdentity_Type_UserAssigned               = VirtualMachineIdentity_Type("UserAssigned")
)
View Source
const (
	SecurityProfile_SecurityType_ConfidentialVM = SecurityProfile_SecurityType("ConfidentialVM")
	SecurityProfile_SecurityType_TrustedLaunch  = SecurityProfile_SecurityType("TrustedLaunch")
)
View Source
const (
	Caching_None      = Caching("None")
	Caching_ReadOnly  = Caching("ReadOnly")
	Caching_ReadWrite = Caching("ReadWrite")
)
View Source
const (
	CreateOption_Attach    = CreateOption("Attach")
	CreateOption_Empty     = CreateOption("Empty")
	CreateOption_FromImage = CreateOption("FromImage")
)
View Source
const (
	DeleteOption_Delete = DeleteOption("Delete")
	DeleteOption_Detach = DeleteOption("Detach")
)
View Source
const (
	OSDisk_OsType_Linux   = OSDisk_OsType("Linux")
	OSDisk_OsType_Windows = OSDisk_OsType("Windows")
)
View Source
const (
	AdditionalUnattendContent_SettingName_AutoLogon          = AdditionalUnattendContent_SettingName("AutoLogon")
	AdditionalUnattendContent_SettingName_FirstLogonCommands = AdditionalUnattendContent_SettingName("FirstLogonCommands")
)
View Source
const (
	DiffDiskPlacement_CacheDisk    = DiffDiskPlacement("CacheDisk")
	DiffDiskPlacement_ResourceDisk = DiffDiskPlacement("ResourceDisk")
)
View Source
const (
	LinuxPatchSettings_AssessmentMode_AutomaticByPlatform = LinuxPatchSettings_AssessmentMode("AutomaticByPlatform")
	LinuxPatchSettings_AssessmentMode_ImageDefault        = LinuxPatchSettings_AssessmentMode("ImageDefault")
)
View Source
const (
	LinuxPatchSettings_PatchMode_AutomaticByPlatform = LinuxPatchSettings_PatchMode("AutomaticByPlatform")
	LinuxPatchSettings_PatchMode_ImageDefault        = LinuxPatchSettings_PatchMode("ImageDefault")
)
View Source
const (
	NetworkInterfaceReferenceProperties_DeleteOption_Delete = NetworkInterfaceReferenceProperties_DeleteOption("Delete")
	NetworkInterfaceReferenceProperties_DeleteOption_Detach = NetworkInterfaceReferenceProperties_DeleteOption("Detach")
)
View Source
const (
	PatchSettings_AssessmentMode_AutomaticByPlatform = PatchSettings_AssessmentMode("AutomaticByPlatform")
	PatchSettings_AssessmentMode_ImageDefault        = PatchSettings_AssessmentMode("ImageDefault")
)
View Source
const (
	PatchSettings_PatchMode_AutomaticByOS       = PatchSettings_PatchMode("AutomaticByOS")
	PatchSettings_PatchMode_AutomaticByPlatform = PatchSettings_PatchMode("AutomaticByPlatform")
	PatchSettings_PatchMode_Manual              = PatchSettings_PatchMode("Manual")
)
View Source
const (
	VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_Delete = VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption("Delete")
	VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_Detach = VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption("Detach")
)
View Source
const (
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Always     = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Always")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_IfRequired = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting("IfRequired")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Never      = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Never")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Unknown    = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Unknown")
)
View Source
const (
	VMDiskSecurityProfile_SecurityEncryptionType_DiskWithVMGuestState = VMDiskSecurityProfile_SecurityEncryptionType("DiskWithVMGuestState")
	VMDiskSecurityProfile_SecurityEncryptionType_VMGuestStateOnly     = VMDiskSecurityProfile_SecurityEncryptionType("VMGuestStateOnly")
)
View Source
const (
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Always     = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Always")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_IfRequired = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting("IfRequired")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Never      = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Never")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_Unknown    = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting("Unknown")
)
View Source
const (
	WinRMListener_Protocol_Http  = WinRMListener_Protocol("Http")
	WinRMListener_Protocol_Https = WinRMListener_Protocol("Https")
)
View Source
const (
	VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_IPv4 = VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion("IPv4")
	VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_IPv6 = VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion("IPv6")
)
View Source
const (
	PublicIPAddressSku_Name_Basic    = PublicIPAddressSku_Name("Basic")
	PublicIPAddressSku_Name_Standard = PublicIPAddressSku_Name("Standard")
)
View Source
const (
	PublicIPAddressSku_Tier_Global   = PublicIPAddressSku_Tier("Global")
	PublicIPAddressSku_Tier_Regional = PublicIPAddressSku_Tier("Regional")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_Delete = VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption("Delete")
	VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_Detach = VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption("Detach")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_IPv4 = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion("IPv4")
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_IPv6 = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion("IPv6")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_Dynamic = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod("Dynamic")
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_Static  = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod("Static")
)
View Source
const (
	EvictionPolicy_STATUS_Deallocate = EvictionPolicy_STATUS("Deallocate")
	EvictionPolicy_STATUS_Delete     = EvictionPolicy_STATUS("Delete")
)
View Source
const (
	Priority_STATUS_Low     = Priority_STATUS("Low")
	Priority_STATUS_Regular = Priority_STATUS("Regular")
	Priority_STATUS_Spot    = Priority_STATUS("Spot")
)
View Source
const (
	VirtualMachineIdentity_Type_STATUS_None                       = VirtualMachineIdentity_Type_STATUS("None")
	VirtualMachineIdentity_Type_STATUS_SystemAssigned             = VirtualMachineIdentity_Type_STATUS("SystemAssigned")
	VirtualMachineIdentity_Type_STATUS_SystemAssignedUserAssigned = VirtualMachineIdentity_Type_STATUS("SystemAssigned, UserAssigned")
	VirtualMachineIdentity_Type_STATUS_UserAssigned               = VirtualMachineIdentity_Type_STATUS("UserAssigned")
)
View Source
const (
	HardwareProfile_VmSize_STATUS_Basic_A0           = HardwareProfile_VmSize_STATUS("Basic_A0")
	HardwareProfile_VmSize_STATUS_Basic_A1           = HardwareProfile_VmSize_STATUS("Basic_A1")
	HardwareProfile_VmSize_STATUS_Basic_A2           = HardwareProfile_VmSize_STATUS("Basic_A2")
	HardwareProfile_VmSize_STATUS_Basic_A3           = HardwareProfile_VmSize_STATUS("Basic_A3")
	HardwareProfile_VmSize_STATUS_Basic_A4           = HardwareProfile_VmSize_STATUS("Basic_A4")
	HardwareProfile_VmSize_STATUS_Standard_A0        = HardwareProfile_VmSize_STATUS("Standard_A0")
	HardwareProfile_VmSize_STATUS_Standard_A1        = HardwareProfile_VmSize_STATUS("Standard_A1")
	HardwareProfile_VmSize_STATUS_Standard_A10       = HardwareProfile_VmSize_STATUS("Standard_A10")
	HardwareProfile_VmSize_STATUS_Standard_A11       = HardwareProfile_VmSize_STATUS("Standard_A11")
	HardwareProfile_VmSize_STATUS_Standard_A1_V2     = HardwareProfile_VmSize_STATUS("Standard_A1_v2")
	HardwareProfile_VmSize_STATUS_Standard_A2        = HardwareProfile_VmSize_STATUS("Standard_A2")
	HardwareProfile_VmSize_STATUS_Standard_A2M_V2    = HardwareProfile_VmSize_STATUS("Standard_A2m_v2")
	HardwareProfile_VmSize_STATUS_Standard_A2_V2     = HardwareProfile_VmSize_STATUS("Standard_A2_v2")
	HardwareProfile_VmSize_STATUS_Standard_A3        = HardwareProfile_VmSize_STATUS("Standard_A3")
	HardwareProfile_VmSize_STATUS_Standard_A4        = HardwareProfile_VmSize_STATUS("Standard_A4")
	HardwareProfile_VmSize_STATUS_Standard_A4M_V2    = HardwareProfile_VmSize_STATUS("Standard_A4m_v2")
	HardwareProfile_VmSize_STATUS_Standard_A4_V2     = HardwareProfile_VmSize_STATUS("Standard_A4_v2")
	HardwareProfile_VmSize_STATUS_Standard_A5        = HardwareProfile_VmSize_STATUS("Standard_A5")
	HardwareProfile_VmSize_STATUS_Standard_A6        = HardwareProfile_VmSize_STATUS("Standard_A6")
	HardwareProfile_VmSize_STATUS_Standard_A7        = HardwareProfile_VmSize_STATUS("Standard_A7")
	HardwareProfile_VmSize_STATUS_Standard_A8        = HardwareProfile_VmSize_STATUS("Standard_A8")
	HardwareProfile_VmSize_STATUS_Standard_A8M_V2    = HardwareProfile_VmSize_STATUS("Standard_A8m_v2")
	HardwareProfile_VmSize_STATUS_Standard_A8_V2     = HardwareProfile_VmSize_STATUS("Standard_A8_v2")
	HardwareProfile_VmSize_STATUS_Standard_A9        = HardwareProfile_VmSize_STATUS("Standard_A9")
	HardwareProfile_VmSize_STATUS_Standard_B1Ms      = HardwareProfile_VmSize_STATUS("Standard_B1ms")
	HardwareProfile_VmSize_STATUS_Standard_B1S       = HardwareProfile_VmSize_STATUS("Standard_B1s")
	HardwareProfile_VmSize_STATUS_Standard_B2Ms      = HardwareProfile_VmSize_STATUS("Standard_B2ms")
	HardwareProfile_VmSize_STATUS_Standard_B2S       = HardwareProfile_VmSize_STATUS("Standard_B2s")
	HardwareProfile_VmSize_STATUS_Standard_B4Ms      = HardwareProfile_VmSize_STATUS("Standard_B4ms")
	HardwareProfile_VmSize_STATUS_Standard_B8Ms      = HardwareProfile_VmSize_STATUS("Standard_B8ms")
	HardwareProfile_VmSize_STATUS_Standard_D1        = HardwareProfile_VmSize_STATUS("Standard_D1")
	HardwareProfile_VmSize_STATUS_Standard_D11       = HardwareProfile_VmSize_STATUS("Standard_D11")
	HardwareProfile_VmSize_STATUS_Standard_D11_V2    = HardwareProfile_VmSize_STATUS("Standard_D11_v2")
	HardwareProfile_VmSize_STATUS_Standard_D12       = HardwareProfile_VmSize_STATUS("Standard_D12")
	HardwareProfile_VmSize_STATUS_Standard_D12_V2    = HardwareProfile_VmSize_STATUS("Standard_D12_v2")
	HardwareProfile_VmSize_STATUS_Standard_D13       = HardwareProfile_VmSize_STATUS("Standard_D13")
	HardwareProfile_VmSize_STATUS_Standard_D13_V2    = HardwareProfile_VmSize_STATUS("Standard_D13_v2")
	HardwareProfile_VmSize_STATUS_Standard_D14       = HardwareProfile_VmSize_STATUS("Standard_D14")
	HardwareProfile_VmSize_STATUS_Standard_D14_V2    = HardwareProfile_VmSize_STATUS("Standard_D14_v2")
	HardwareProfile_VmSize_STATUS_Standard_D15_V2    = HardwareProfile_VmSize_STATUS("Standard_D15_v2")
	HardwareProfile_VmSize_STATUS_Standard_D16S_V3   = HardwareProfile_VmSize_STATUS("Standard_D16s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D16_V3    = HardwareProfile_VmSize_STATUS("Standard_D16_v3")
	HardwareProfile_VmSize_STATUS_Standard_D1_V2     = HardwareProfile_VmSize_STATUS("Standard_D1_v2")
	HardwareProfile_VmSize_STATUS_Standard_D2        = HardwareProfile_VmSize_STATUS("Standard_D2")
	HardwareProfile_VmSize_STATUS_Standard_D2S_V3    = HardwareProfile_VmSize_STATUS("Standard_D2s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D2_V2     = HardwareProfile_VmSize_STATUS("Standard_D2_v2")
	HardwareProfile_VmSize_STATUS_Standard_D2_V3     = HardwareProfile_VmSize_STATUS("Standard_D2_v3")
	HardwareProfile_VmSize_STATUS_Standard_D3        = HardwareProfile_VmSize_STATUS("Standard_D3")
	HardwareProfile_VmSize_STATUS_Standard_D32S_V3   = HardwareProfile_VmSize_STATUS("Standard_D32s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D32_V3    = HardwareProfile_VmSize_STATUS("Standard_D32_v3")
	HardwareProfile_VmSize_STATUS_Standard_D3_V2     = HardwareProfile_VmSize_STATUS("Standard_D3_v2")
	HardwareProfile_VmSize_STATUS_Standard_D4        = HardwareProfile_VmSize_STATUS("Standard_D4")
	HardwareProfile_VmSize_STATUS_Standard_D4S_V3    = HardwareProfile_VmSize_STATUS("Standard_D4s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D4_V2     = HardwareProfile_VmSize_STATUS("Standard_D4_v2")
	HardwareProfile_VmSize_STATUS_Standard_D4_V3     = HardwareProfile_VmSize_STATUS("Standard_D4_v3")
	HardwareProfile_VmSize_STATUS_Standard_D5_V2     = HardwareProfile_VmSize_STATUS("Standard_D5_v2")
	HardwareProfile_VmSize_STATUS_Standard_D64S_V3   = HardwareProfile_VmSize_STATUS("Standard_D64s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D64_V3    = HardwareProfile_VmSize_STATUS("Standard_D64_v3")
	HardwareProfile_VmSize_STATUS_Standard_D8S_V3    = HardwareProfile_VmSize_STATUS("Standard_D8s_v3")
	HardwareProfile_VmSize_STATUS_Standard_D8_V3     = HardwareProfile_VmSize_STATUS("Standard_D8_v3")
	HardwareProfile_VmSize_STATUS_Standard_DS1       = HardwareProfile_VmSize_STATUS("Standard_DS1")
	HardwareProfile_VmSize_STATUS_Standard_DS11      = HardwareProfile_VmSize_STATUS("Standard_DS11")
	HardwareProfile_VmSize_STATUS_Standard_DS11_V2   = HardwareProfile_VmSize_STATUS("Standard_DS11_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS12      = HardwareProfile_VmSize_STATUS("Standard_DS12")
	HardwareProfile_VmSize_STATUS_Standard_DS12_V2   = HardwareProfile_VmSize_STATUS("Standard_DS12_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS13      = HardwareProfile_VmSize_STATUS("Standard_DS13")
	HardwareProfile_VmSize_STATUS_Standard_DS132_V2  = HardwareProfile_VmSize_STATUS("Standard_DS13-2_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS134_V2  = HardwareProfile_VmSize_STATUS("Standard_DS13-4_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS13_V2   = HardwareProfile_VmSize_STATUS("Standard_DS13_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS14      = HardwareProfile_VmSize_STATUS("Standard_DS14")
	HardwareProfile_VmSize_STATUS_Standard_DS144_V2  = HardwareProfile_VmSize_STATUS("Standard_DS14-4_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS148_V2  = HardwareProfile_VmSize_STATUS("Standard_DS14-8_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS14_V2   = HardwareProfile_VmSize_STATUS("Standard_DS14_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS15_V2   = HardwareProfile_VmSize_STATUS("Standard_DS15_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS1_V2    = HardwareProfile_VmSize_STATUS("Standard_DS1_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS2       = HardwareProfile_VmSize_STATUS("Standard_DS2")
	HardwareProfile_VmSize_STATUS_Standard_DS2_V2    = HardwareProfile_VmSize_STATUS("Standard_DS2_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS3       = HardwareProfile_VmSize_STATUS("Standard_DS3")
	HardwareProfile_VmSize_STATUS_Standard_DS3_V2    = HardwareProfile_VmSize_STATUS("Standard_DS3_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS4       = HardwareProfile_VmSize_STATUS("Standard_DS4")
	HardwareProfile_VmSize_STATUS_Standard_DS4_V2    = HardwareProfile_VmSize_STATUS("Standard_DS4_v2")
	HardwareProfile_VmSize_STATUS_Standard_DS5_V2    = HardwareProfile_VmSize_STATUS("Standard_DS5_v2")
	HardwareProfile_VmSize_STATUS_Standard_E16S_V3   = HardwareProfile_VmSize_STATUS("Standard_E16s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E16_V3    = HardwareProfile_VmSize_STATUS("Standard_E16_v3")
	HardwareProfile_VmSize_STATUS_Standard_E2S_V3    = HardwareProfile_VmSize_STATUS("Standard_E2s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E2_V3     = HardwareProfile_VmSize_STATUS("Standard_E2_v3")
	HardwareProfile_VmSize_STATUS_Standard_E3216_V3  = HardwareProfile_VmSize_STATUS("Standard_E32-16_v3")
	HardwareProfile_VmSize_STATUS_Standard_E328S_V3  = HardwareProfile_VmSize_STATUS("Standard_E32-8s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E32S_V3   = HardwareProfile_VmSize_STATUS("Standard_E32s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E32_V3    = HardwareProfile_VmSize_STATUS("Standard_E32_v3")
	HardwareProfile_VmSize_STATUS_Standard_E4S_V3    = HardwareProfile_VmSize_STATUS("Standard_E4s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E4_V3     = HardwareProfile_VmSize_STATUS("Standard_E4_v3")
	HardwareProfile_VmSize_STATUS_Standard_E6416S_V3 = HardwareProfile_VmSize_STATUS("Standard_E64-16s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E6432S_V3 = HardwareProfile_VmSize_STATUS("Standard_E64-32s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E64S_V3   = HardwareProfile_VmSize_STATUS("Standard_E64s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E64_V3    = HardwareProfile_VmSize_STATUS("Standard_E64_v3")
	HardwareProfile_VmSize_STATUS_Standard_E8S_V3    = HardwareProfile_VmSize_STATUS("Standard_E8s_v3")
	HardwareProfile_VmSize_STATUS_Standard_E8_V3     = HardwareProfile_VmSize_STATUS("Standard_E8_v3")
	HardwareProfile_VmSize_STATUS_Standard_F1        = HardwareProfile_VmSize_STATUS("Standard_F1")
	HardwareProfile_VmSize_STATUS_Standard_F16       = HardwareProfile_VmSize_STATUS("Standard_F16")
	HardwareProfile_VmSize_STATUS_Standard_F16S      = HardwareProfile_VmSize_STATUS("Standard_F16s")
	HardwareProfile_VmSize_STATUS_Standard_F16S_V2   = HardwareProfile_VmSize_STATUS("Standard_F16s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F1S       = HardwareProfile_VmSize_STATUS("Standard_F1s")
	HardwareProfile_VmSize_STATUS_Standard_F2        = HardwareProfile_VmSize_STATUS("Standard_F2")
	HardwareProfile_VmSize_STATUS_Standard_F2S       = HardwareProfile_VmSize_STATUS("Standard_F2s")
	HardwareProfile_VmSize_STATUS_Standard_F2S_V2    = HardwareProfile_VmSize_STATUS("Standard_F2s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F32S_V2   = HardwareProfile_VmSize_STATUS("Standard_F32s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F4        = HardwareProfile_VmSize_STATUS("Standard_F4")
	HardwareProfile_VmSize_STATUS_Standard_F4S       = HardwareProfile_VmSize_STATUS("Standard_F4s")
	HardwareProfile_VmSize_STATUS_Standard_F4S_V2    = HardwareProfile_VmSize_STATUS("Standard_F4s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F64S_V2   = HardwareProfile_VmSize_STATUS("Standard_F64s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F72S_V2   = HardwareProfile_VmSize_STATUS("Standard_F72s_v2")
	HardwareProfile_VmSize_STATUS_Standard_F8        = HardwareProfile_VmSize_STATUS("Standard_F8")
	HardwareProfile_VmSize_STATUS_Standard_F8S       = HardwareProfile_VmSize_STATUS("Standard_F8s")
	HardwareProfile_VmSize_STATUS_Standard_F8S_V2    = HardwareProfile_VmSize_STATUS("Standard_F8s_v2")
	HardwareProfile_VmSize_STATUS_Standard_G1        = HardwareProfile_VmSize_STATUS("Standard_G1")
	HardwareProfile_VmSize_STATUS_Standard_G2        = HardwareProfile_VmSize_STATUS("Standard_G2")
	HardwareProfile_VmSize_STATUS_Standard_G3        = HardwareProfile_VmSize_STATUS("Standard_G3")
	HardwareProfile_VmSize_STATUS_Standard_G4        = HardwareProfile_VmSize_STATUS("Standard_G4")
	HardwareProfile_VmSize_STATUS_Standard_G5        = HardwareProfile_VmSize_STATUS("Standard_G5")
	HardwareProfile_VmSize_STATUS_Standard_GS1       = HardwareProfile_VmSize_STATUS("Standard_GS1")
	HardwareProfile_VmSize_STATUS_Standard_GS2       = HardwareProfile_VmSize_STATUS("Standard_GS2")
	HardwareProfile_VmSize_STATUS_Standard_GS3       = HardwareProfile_VmSize_STATUS("Standard_GS3")
	HardwareProfile_VmSize_STATUS_Standard_GS4       = HardwareProfile_VmSize_STATUS("Standard_GS4")
	HardwareProfile_VmSize_STATUS_Standard_GS44      = HardwareProfile_VmSize_STATUS("Standard_GS4-4")
	HardwareProfile_VmSize_STATUS_Standard_GS48      = HardwareProfile_VmSize_STATUS("Standard_GS4-8")
	HardwareProfile_VmSize_STATUS_Standard_GS5       = HardwareProfile_VmSize_STATUS("Standard_GS5")
	HardwareProfile_VmSize_STATUS_Standard_GS516     = HardwareProfile_VmSize_STATUS("Standard_GS5-16")
	HardwareProfile_VmSize_STATUS_Standard_GS58      = HardwareProfile_VmSize_STATUS("Standard_GS5-8")
	HardwareProfile_VmSize_STATUS_Standard_H16       = HardwareProfile_VmSize_STATUS("Standard_H16")
	HardwareProfile_VmSize_STATUS_Standard_H16M      = HardwareProfile_VmSize_STATUS("Standard_H16m")
	HardwareProfile_VmSize_STATUS_Standard_H16Mr     = HardwareProfile_VmSize_STATUS("Standard_H16mr")
	HardwareProfile_VmSize_STATUS_Standard_H16R      = HardwareProfile_VmSize_STATUS("Standard_H16r")
	HardwareProfile_VmSize_STATUS_Standard_H8        = HardwareProfile_VmSize_STATUS("Standard_H8")
	HardwareProfile_VmSize_STATUS_Standard_H8M       = HardwareProfile_VmSize_STATUS("Standard_H8m")
	HardwareProfile_VmSize_STATUS_Standard_L16S      = HardwareProfile_VmSize_STATUS("Standard_L16s")
	HardwareProfile_VmSize_STATUS_Standard_L32S      = HardwareProfile_VmSize_STATUS("Standard_L32s")
	HardwareProfile_VmSize_STATUS_Standard_L4S       = HardwareProfile_VmSize_STATUS("Standard_L4s")
	HardwareProfile_VmSize_STATUS_Standard_L8S       = HardwareProfile_VmSize_STATUS("Standard_L8s")
	HardwareProfile_VmSize_STATUS_Standard_M12832Ms  = HardwareProfile_VmSize_STATUS("Standard_M128-32ms")
	HardwareProfile_VmSize_STATUS_Standard_M12864Ms  = HardwareProfile_VmSize_STATUS("Standard_M128-64ms")
	HardwareProfile_VmSize_STATUS_Standard_M128Ms    = HardwareProfile_VmSize_STATUS("Standard_M128ms")
	HardwareProfile_VmSize_STATUS_Standard_M128S     = HardwareProfile_VmSize_STATUS("Standard_M128s")
	HardwareProfile_VmSize_STATUS_Standard_M6416Ms   = HardwareProfile_VmSize_STATUS("Standard_M64-16ms")
	HardwareProfile_VmSize_STATUS_Standard_M6432Ms   = HardwareProfile_VmSize_STATUS("Standard_M64-32ms")
	HardwareProfile_VmSize_STATUS_Standard_M64Ms     = HardwareProfile_VmSize_STATUS("Standard_M64ms")
	HardwareProfile_VmSize_STATUS_Standard_M64S      = HardwareProfile_VmSize_STATUS("Standard_M64s")
	HardwareProfile_VmSize_STATUS_Standard_NC12      = HardwareProfile_VmSize_STATUS("Standard_NC12")
	HardwareProfile_VmSize_STATUS_Standard_NC12S_V2  = HardwareProfile_VmSize_STATUS("Standard_NC12s_v2")
	HardwareProfile_VmSize_STATUS_Standard_NC12S_V3  = HardwareProfile_VmSize_STATUS("Standard_NC12s_v3")
	HardwareProfile_VmSize_STATUS_Standard_NC24      = HardwareProfile_VmSize_STATUS("Standard_NC24")
	HardwareProfile_VmSize_STATUS_Standard_NC24R     = HardwareProfile_VmSize_STATUS("Standard_NC24r")
	HardwareProfile_VmSize_STATUS_Standard_NC24Rs_V2 = HardwareProfile_VmSize_STATUS("Standard_NC24rs_v2")
	HardwareProfile_VmSize_STATUS_Standard_NC24Rs_V3 = HardwareProfile_VmSize_STATUS("Standard_NC24rs_v3")
	HardwareProfile_VmSize_STATUS_Standard_NC24S_V2  = HardwareProfile_VmSize_STATUS("Standard_NC24s_v2")
	HardwareProfile_VmSize_STATUS_Standard_NC24S_V3  = HardwareProfile_VmSize_STATUS("Standard_NC24s_v3")
	HardwareProfile_VmSize_STATUS_Standard_NC6       = HardwareProfile_VmSize_STATUS("Standard_NC6")
	HardwareProfile_VmSize_STATUS_Standard_NC6S_V2   = HardwareProfile_VmSize_STATUS("Standard_NC6s_v2")
	HardwareProfile_VmSize_STATUS_Standard_NC6S_V3   = HardwareProfile_VmSize_STATUS("Standard_NC6s_v3")
	HardwareProfile_VmSize_STATUS_Standard_ND12S     = HardwareProfile_VmSize_STATUS("Standard_ND12s")
	HardwareProfile_VmSize_STATUS_Standard_ND24Rs    = HardwareProfile_VmSize_STATUS("Standard_ND24rs")
	HardwareProfile_VmSize_STATUS_Standard_ND24S     = HardwareProfile_VmSize_STATUS("Standard_ND24s")
	HardwareProfile_VmSize_STATUS_Standard_ND6S      = HardwareProfile_VmSize_STATUS("Standard_ND6s")
	HardwareProfile_VmSize_STATUS_Standard_NV12      = HardwareProfile_VmSize_STATUS("Standard_NV12")
	HardwareProfile_VmSize_STATUS_Standard_NV24      = HardwareProfile_VmSize_STATUS("Standard_NV24")
	HardwareProfile_VmSize_STATUS_Standard_NV6       = HardwareProfile_VmSize_STATUS("Standard_NV6")
)
View Source
const (
	SecurityProfile_SecurityType_STATUS_ConfidentialVM = SecurityProfile_SecurityType_STATUS("ConfidentialVM")
	SecurityProfile_SecurityType_STATUS_TrustedLaunch  = SecurityProfile_SecurityType_STATUS("TrustedLaunch")
)
View Source
const (
	VirtualMachineInstanceView_HyperVGeneration_STATUS_V1 = VirtualMachineInstanceView_HyperVGeneration_STATUS("V1")
	VirtualMachineInstanceView_HyperVGeneration_STATUS_V2 = VirtualMachineInstanceView_HyperVGeneration_STATUS("V2")
)
View Source
const (
	Caching_STATUS_None      = Caching_STATUS("None")
	Caching_STATUS_ReadOnly  = Caching_STATUS("ReadOnly")
	Caching_STATUS_ReadWrite = Caching_STATUS("ReadWrite")
)
View Source
const (
	CreateOption_STATUS_Attach    = CreateOption_STATUS("Attach")
	CreateOption_STATUS_Empty     = CreateOption_STATUS("Empty")
	CreateOption_STATUS_FromImage = CreateOption_STATUS("FromImage")
)
View Source
const (
	DeleteOption_STATUS_Delete = DeleteOption_STATUS("Delete")
	DeleteOption_STATUS_Detach = DeleteOption_STATUS("Detach")
)
View Source
const (
	InstanceViewStatus_Level_STATUS_Error   = InstanceViewStatus_Level_STATUS("Error")
	InstanceViewStatus_Level_STATUS_Info    = InstanceViewStatus_Level_STATUS("Info")
	InstanceViewStatus_Level_STATUS_Warning = InstanceViewStatus_Level_STATUS("Warning")
)
View Source
const (
	MaintenanceRedeployStatus_LastOperationResultCode_STATUS_MaintenanceAborted   = MaintenanceRedeployStatus_LastOperationResultCode_STATUS("MaintenanceAborted")
	MaintenanceRedeployStatus_LastOperationResultCode_STATUS_MaintenanceCompleted = MaintenanceRedeployStatus_LastOperationResultCode_STATUS("MaintenanceCompleted")
	MaintenanceRedeployStatus_LastOperationResultCode_STATUS_None                 = MaintenanceRedeployStatus_LastOperationResultCode_STATUS("None")
	MaintenanceRedeployStatus_LastOperationResultCode_STATUS_RetryLater           = MaintenanceRedeployStatus_LastOperationResultCode_STATUS("RetryLater")
)
View Source
const (
	OSDisk_OsType_STATUS_Linux   = OSDisk_OsType_STATUS("Linux")
	OSDisk_OsType_STATUS_Windows = OSDisk_OsType_STATUS("Windows")
)
View Source
const (
	AdditionalUnattendContent_SettingName_STATUS_AutoLogon          = AdditionalUnattendContent_SettingName_STATUS("AutoLogon")
	AdditionalUnattendContent_SettingName_STATUS_FirstLogonCommands = AdditionalUnattendContent_SettingName_STATUS("FirstLogonCommands")
)
View Source
const (
	AvailablePatchSummary_Status_STATUS_CompletedWithWarnings = AvailablePatchSummary_Status_STATUS("CompletedWithWarnings")
	AvailablePatchSummary_Status_STATUS_Failed                = AvailablePatchSummary_Status_STATUS("Failed")
	AvailablePatchSummary_Status_STATUS_InProgress            = AvailablePatchSummary_Status_STATUS("InProgress")
	AvailablePatchSummary_Status_STATUS_Succeeded             = AvailablePatchSummary_Status_STATUS("Succeeded")
	AvailablePatchSummary_Status_STATUS_Unknown               = AvailablePatchSummary_Status_STATUS("Unknown")
)
View Source
const (
	DiffDiskPlacement_STATUS_CacheDisk    = DiffDiskPlacement_STATUS("CacheDisk")
	DiffDiskPlacement_STATUS_ResourceDisk = DiffDiskPlacement_STATUS("ResourceDisk")
)
View Source
const (
	LastPatchInstallationSummary_Status_STATUS_CompletedWithWarnings = LastPatchInstallationSummary_Status_STATUS("CompletedWithWarnings")
	LastPatchInstallationSummary_Status_STATUS_Failed                = LastPatchInstallationSummary_Status_STATUS("Failed")
	LastPatchInstallationSummary_Status_STATUS_InProgress            = LastPatchInstallationSummary_Status_STATUS("InProgress")
	LastPatchInstallationSummary_Status_STATUS_Succeeded             = LastPatchInstallationSummary_Status_STATUS("Succeeded")
	LastPatchInstallationSummary_Status_STATUS_Unknown               = LastPatchInstallationSummary_Status_STATUS("Unknown")
)
View Source
const (
	LinuxPatchSettings_AssessmentMode_STATUS_AutomaticByPlatform = LinuxPatchSettings_AssessmentMode_STATUS("AutomaticByPlatform")
	LinuxPatchSettings_AssessmentMode_STATUS_ImageDefault        = LinuxPatchSettings_AssessmentMode_STATUS("ImageDefault")
)
View Source
const (
	LinuxPatchSettings_PatchMode_STATUS_AutomaticByPlatform = LinuxPatchSettings_PatchMode_STATUS("AutomaticByPlatform")
	LinuxPatchSettings_PatchMode_STATUS_ImageDefault        = LinuxPatchSettings_PatchMode_STATUS("ImageDefault")
)
View Source
const (
	NetworkInterfaceReferenceProperties_DeleteOption_STATUS_Delete = NetworkInterfaceReferenceProperties_DeleteOption_STATUS("Delete")
	NetworkInterfaceReferenceProperties_DeleteOption_STATUS_Detach = NetworkInterfaceReferenceProperties_DeleteOption_STATUS("Detach")
)
View Source
const (
	PatchSettings_AssessmentMode_STATUS_AutomaticByPlatform = PatchSettings_AssessmentMode_STATUS("AutomaticByPlatform")
	PatchSettings_AssessmentMode_STATUS_ImageDefault        = PatchSettings_AssessmentMode_STATUS("ImageDefault")
)
View Source
const (
	PatchSettings_PatchMode_STATUS_AutomaticByOS       = PatchSettings_PatchMode_STATUS("AutomaticByOS")
	PatchSettings_PatchMode_STATUS_AutomaticByPlatform = PatchSettings_PatchMode_STATUS("AutomaticByPlatform")
	PatchSettings_PatchMode_STATUS_Manual              = PatchSettings_PatchMode_STATUS("Manual")
)
View Source
const (
	VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS_Delete = VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS("Delete")
	VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS_Detach = VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS("Detach")
)
View Source
const (
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Always     = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Always")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_IfRequired = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("IfRequired")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Never      = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Never")
	LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Unknown    = LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Unknown")
)
View Source
const (
	VMDiskSecurityProfile_SecurityEncryptionType_STATUS_DiskWithVMGuestState = VMDiskSecurityProfile_SecurityEncryptionType_STATUS("DiskWithVMGuestState")
	VMDiskSecurityProfile_SecurityEncryptionType_STATUS_VMGuestStateOnly     = VMDiskSecurityProfile_SecurityEncryptionType_STATUS("VMGuestStateOnly")
)
View Source
const (
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Always     = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Always")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_IfRequired = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("IfRequired")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Never      = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Never")
	WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS_Unknown    = WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS("Unknown")
)
View Source
const (
	WinRMListener_Protocol_STATUS_Http  = WinRMListener_Protocol_STATUS("Http")
	WinRMListener_Protocol_STATUS_Https = WinRMListener_Protocol_STATUS("Https")
)
View Source
const (
	VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS_IPv4 = VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS("IPv4")
	VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS_IPv6 = VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS("IPv6")
)
View Source
const (
	PublicIPAddressSku_Name_STATUS_Basic    = PublicIPAddressSku_Name_STATUS("Basic")
	PublicIPAddressSku_Name_STATUS_Standard = PublicIPAddressSku_Name_STATUS("Standard")
)
View Source
const (
	PublicIPAddressSku_Tier_STATUS_Global   = PublicIPAddressSku_Tier_STATUS("Global")
	PublicIPAddressSku_Tier_STATUS_Regional = PublicIPAddressSku_Tier_STATUS("Regional")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS_Delete = VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS("Delete")
	VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS_Detach = VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS("Detach")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS_IPv4 = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS("IPv4")
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS_IPv6 = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS("IPv6")
)
View Source
const (
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS_Dynamic = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS("Dynamic")
	VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS_Static  = VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS("Static")
)
View Source
const (
	InstanceViewStatus_Level_Error   = InstanceViewStatus_Level("Error")
	InstanceViewStatus_Level_Info    = InstanceViewStatus_Level("Info")
	InstanceViewStatus_Level_Warning = InstanceViewStatus_Level("Warning")
)
View Source
const AdditionalUnattendContent_ComponentName_MicrosoftWindowsShellSetup = AdditionalUnattendContent_ComponentName("Microsoft-Windows-Shell-Setup")
View Source
const AdditionalUnattendContent_ComponentName_STATUS_MicrosoftWindowsShellSetup = AdditionalUnattendContent_ComponentName_STATUS("Microsoft-Windows-Shell-Setup")
View Source
const AdditionalUnattendContent_PassName_OobeSystem = AdditionalUnattendContent_PassName("OobeSystem")
View Source
const AdditionalUnattendContent_PassName_STATUS_OobeSystem = AdditionalUnattendContent_PassName_STATUS("OobeSystem")
View Source
const DetachOption_ForceDetach = DetachOption("ForceDetach")
View Source
const DetachOption_STATUS_ForceDetach = DetachOption_STATUS("ForceDetach")
View Source
const DiffDiskOption_Local = DiffDiskOption("Local")
View Source
const DiffDiskOption_STATUS_Local = DiffDiskOption_STATUS("Local")
View Source
const ExtendedLocationType_EdgeZone = ExtendedLocationType("EdgeZone")
View Source
const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone")
View Source
const NetworkProfile_NetworkApiVersion_20201101 = NetworkProfile_NetworkApiVersion("2020-11-01")
View Source
const NetworkProfile_NetworkApiVersion_STATUS_20201101 = NetworkProfile_NetworkApiVersion_STATUS("2020-11-01")
View Source
const VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_20201101 = VirtualMachineScaleSetNetworkProfile_NetworkApiVersion("2020-11-01")
View Source
const VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_STATUS_20201101 = VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_STATUS("2020-11-01")

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalCapabilities

type AdditionalCapabilities struct {
	// HibernationEnabled: The flag that enables or disables hibernation capability on the VM.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty"`

	// UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS
	// storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual
	// machine or virtual machine scale set only if this property is enabled.
	UltraSSDEnabled *bool `json:"ultraSSDEnabled,omitempty"`
}

Enables or disables a capability on the virtual machine or virtual machine scale set.

type AdditionalCapabilities_STATUS

type AdditionalCapabilities_STATUS struct {
	// HibernationEnabled: The flag that enables or disables hibernation capability on the VM.
	HibernationEnabled *bool `json:"hibernationEnabled,omitempty"`

	// UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS
	// storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual
	// machine or virtual machine scale set only if this property is enabled.
	UltraSSDEnabled *bool `json:"ultraSSDEnabled,omitempty"`
}

Enables or disables a capability on the virtual machine or virtual machine scale set.

type AdditionalUnattendContent

type AdditionalUnattendContent struct {
	// ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
	ComponentName *AdditionalUnattendContent_ComponentName `json:"componentName,omitempty"`

	// Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and
	// component. The XML must be less than 4KB and must include the root element for the setting or feature that is being
	// inserted.
	Content *string `json:"content,omitempty"`

	// PassName: The pass name. Currently, the only allowable value is OobeSystem.
	PassName *AdditionalUnattendContent_PassName `json:"passName,omitempty"`

	// SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and
	// AutoLogon.
	SettingName *AdditionalUnattendContent_SettingName `json:"settingName,omitempty"`
}

Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied.

type AdditionalUnattendContent_ComponentName

type AdditionalUnattendContent_ComponentName string

+kubebuilder:validation:Enum={"Microsoft-Windows-Shell-Setup"}

type AdditionalUnattendContent_ComponentName_STATUS

type AdditionalUnattendContent_ComponentName_STATUS string

type AdditionalUnattendContent_PassName

type AdditionalUnattendContent_PassName string

+kubebuilder:validation:Enum={"OobeSystem"}

type AdditionalUnattendContent_PassName_STATUS

type AdditionalUnattendContent_PassName_STATUS string

type AdditionalUnattendContent_STATUS

type AdditionalUnattendContent_STATUS struct {
	// ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
	ComponentName *AdditionalUnattendContent_ComponentName_STATUS `json:"componentName,omitempty"`

	// Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and
	// component. The XML must be less than 4KB and must include the root element for the setting or feature that is being
	// inserted.
	Content *string `json:"content,omitempty"`

	// PassName: The pass name. Currently, the only allowable value is OobeSystem.
	PassName *AdditionalUnattendContent_PassName_STATUS `json:"passName,omitempty"`

	// SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and
	// AutoLogon.
	SettingName *AdditionalUnattendContent_SettingName_STATUS `json:"settingName,omitempty"`
}

Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied.

type AdditionalUnattendContent_SettingName

type AdditionalUnattendContent_SettingName string

+kubebuilder:validation:Enum={"AutoLogon","FirstLogonCommands"}

type AdditionalUnattendContent_SettingName_STATUS

type AdditionalUnattendContent_SettingName_STATUS string

type ApiEntityReference

type ApiEntityReference struct {
	Id *string `json:"id,omitempty"`
}

The API entity reference.

type ApiEntityReference_STATUS

type ApiEntityReference_STATUS struct {
	// Id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
	Id *string `json:"id,omitempty"`
}

The API entity reference.

type ApiErrorBase_STATUS

type ApiErrorBase_STATUS struct {
	// Code: The error code.
	Code *string `json:"code,omitempty"`

	// Message: The error message.
	Message *string `json:"message,omitempty"`

	// Target: The target of the particular error.
	Target *string `json:"target,omitempty"`
}

Api error base.

type ApiError_STATUS

type ApiError_STATUS struct {
	// Code: The error code.
	Code *string `json:"code,omitempty"`

	// Details: The Api error details
	Details []ApiErrorBase_STATUS `json:"details,omitempty"`

	// Innererror: The Api inner error
	Innererror *InnerError_STATUS `json:"innererror,omitempty"`

	// Message: The error message.
	Message *string `json:"message,omitempty"`

	// Target: The target of the particular error.
	Target *string `json:"target,omitempty"`
}

Api error.

type ApplicationProfile

type ApplicationProfile struct {
	// GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS
	GalleryApplications []VMGalleryApplication `json:"galleryApplications,omitempty"`
}

Contains the list of gallery applications that should be made available to the VM/VMSS

type ApplicationProfile_STATUS

type ApplicationProfile_STATUS struct {
	// GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS
	GalleryApplications []VMGalleryApplication_STATUS `json:"galleryApplications,omitempty"`
}

Contains the list of gallery applications that should be made available to the VM/VMSS

type AutomaticOSUpgradePolicy

type AutomaticOSUpgradePolicy struct {
	// DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty"`

	// EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a
	// rolling fashion when a newer version of the OS image becomes available. Default value is false.
	// If this is set to true for Windows based scale sets,
	// [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet)
	// is automatically set to false and cannot be set to true.
	EnableAutomaticOSUpgrade *bool `json:"enableAutomaticOSUpgrade,omitempty"`

	// UseRollingUpgradePolicy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value
	// is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS.
	UseRollingUpgradePolicy *bool `json:"useRollingUpgradePolicy,omitempty"`
}

The configuration parameters used for performing automatic OS upgrade.

type AutomaticOSUpgradePolicy_STATUS

type AutomaticOSUpgradePolicy_STATUS struct {
	// DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.
	DisableAutomaticRollback *bool `json:"disableAutomaticRollback,omitempty"`

	// EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a
	// rolling fashion when a newer version of the OS image becomes available. Default value is false.
	// If this is set to true for Windows based scale sets,
	// [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet)
	// is automatically set to false and cannot be set to true.
	EnableAutomaticOSUpgrade *bool `json:"enableAutomaticOSUpgrade,omitempty"`

	// UseRollingUpgradePolicy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value
	// is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS.
	UseRollingUpgradePolicy *bool `json:"useRollingUpgradePolicy,omitempty"`
}

The configuration parameters used for performing automatic OS upgrade.

type AutomaticRepairsPolicy

type AutomaticRepairsPolicy struct {
	// Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is
	// false.
	Enabled *bool `json:"enabled,omitempty"`

	// GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time
	// starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should
	// be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default
	// value. The maximum allowed grace period is 90 minutes (PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty"`

	// RepairAction: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual
	// machines in the scale set. Default value is replace.
	RepairAction *AutomaticRepairsPolicy_RepairAction `json:"repairAction,omitempty"`
}

Specifies the configuration parameters for automatic repairs on the virtual machine scale set.

type AutomaticRepairsPolicy_RepairAction

type AutomaticRepairsPolicy_RepairAction string

+kubebuilder:validation:Enum={"Reimage","Replace","Restart"}

type AutomaticRepairsPolicy_RepairAction_STATUS

type AutomaticRepairsPolicy_RepairAction_STATUS string

type AutomaticRepairsPolicy_STATUS

type AutomaticRepairsPolicy_STATUS struct {
	// Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is
	// false.
	Enabled *bool `json:"enabled,omitempty"`

	// GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time
	// starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should
	// be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default
	// value. The maximum allowed grace period is 90 minutes (PT90M).
	GracePeriod *string `json:"gracePeriod,omitempty"`

	// RepairAction: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual
	// machines in the scale set. Default value is replace.
	RepairAction *AutomaticRepairsPolicy_RepairAction_STATUS `json:"repairAction,omitempty"`
}

Specifies the configuration parameters for automatic repairs on the virtual machine scale set.

type AvailablePatchSummary_STATUS

type AvailablePatchSummary_STATUS struct {
	// AssessmentActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP and
	// extension logs.
	AssessmentActivityId *string `json:"assessmentActivityId,omitempty"`

	// CriticalAndSecurityPatchCount: The number of critical or security patches that have been detected as available and not
	// yet installed.
	CriticalAndSecurityPatchCount *int `json:"criticalAndSecurityPatchCount,omitempty"`

	// Error: The errors that were encountered during execution of the operation. The details array contains the list of them.
	Error *ApiError_STATUS `json:"error,omitempty"`

	// LastModifiedTime: The UTC timestamp when the operation began.
	LastModifiedTime *string `json:"lastModifiedTime,omitempty"`

	// OtherPatchCount: The number of all available patches excluding critical and security.
	OtherPatchCount *int `json:"otherPatchCount,omitempty"`

	// RebootPending: The overall reboot status of the VM. It will be true when partially installed patches require a reboot to
	// complete installation but the reboot has not yet occurred.
	RebootPending *bool `json:"rebootPending,omitempty"`

	// StartTime: The UTC timestamp when the operation began.
	StartTime *string `json:"startTime,omitempty"`

	// Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes.
	// At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings."
	Status *AvailablePatchSummary_Status_STATUS `json:"status,omitempty"`
}

Describes the properties of an virtual machine instance view for available patch summary.

type AvailablePatchSummary_Status_STATUS

type AvailablePatchSummary_Status_STATUS string

type BillingProfile

type BillingProfile struct {
	// MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
	// This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time
	// of create/update of Azure Spot VM/VMSS and the operation will only succeed if  the maxPrice is greater than the current
	// Azure Spot price.
	// The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the
	// maxPrice after creation of VM/VMSS.
	// Possible values are:
	// - Any decimal value greater than zero. Example: 0.01538
	// -1 – indicates default price to be up-to on-demand.
	// You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also,
	// the default max price is -1 if it is not provided by you.
	// Minimum api-version: 2019-03-01.
	MaxPrice *float64 `json:"maxPrice,omitempty"`
}

Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01.

type BillingProfile_STATUS

type BillingProfile_STATUS struct {
	// MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
	// This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time
	// of create/update of Azure Spot VM/VMSS and the operation will only succeed if  the maxPrice is greater than the current
	// Azure Spot price.
	// The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the
	// maxPrice after creation of VM/VMSS.
	// Possible values are:
	// - Any decimal value greater than zero. Example: 0.01538
	// -1 – indicates default price to be up-to on-demand.
	// You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also,
	// the default max price is -1 if it is not provided by you.
	// Minimum api-version: 2019-03-01.
	MaxPrice *float64 `json:"maxPrice,omitempty"`
}

Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01.

type BootDiagnostics

type BootDiagnostics struct {
	// Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.
	Enabled *bool `json:"enabled,omitempty"`

	// StorageUri: Uri of the storage account to use for placing the console output and screenshot.
	// If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
	StorageUri *string `json:"storageUri,omitempty"`
}

Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.

type BootDiagnosticsInstanceView_STATUS

type BootDiagnosticsInstanceView_STATUS struct {
	// ConsoleScreenshotBlobUri: The console screenshot blob URI.
	// NOTE: This will not be set if boot diagnostics is currently enabled with managed storage.
	ConsoleScreenshotBlobUri *string `json:"consoleScreenshotBlobUri,omitempty"`

	// SerialConsoleLogBlobUri: The serial console log blob Uri.
	// NOTE: This will not be set if boot diagnostics is currently enabled with managed storage.
	SerialConsoleLogBlobUri *string `json:"serialConsoleLogBlobUri,omitempty"`

	// Status: The boot diagnostics status information for the VM.
	// NOTE: It will be set only if there are errors encountered in enabling boot diagnostics.
	Status *InstanceViewStatus_STATUS `json:"status,omitempty"`
}

The instance view of a virtual machine boot diagnostics.

type BootDiagnostics_STATUS

type BootDiagnostics_STATUS struct {
	// Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.
	Enabled *bool `json:"enabled,omitempty"`

	// StorageUri: Uri of the storage account to use for placing the console output and screenshot.
	// If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
	StorageUri *string `json:"storageUri,omitempty"`
}

Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.

type Caching

type Caching string

Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage +kubebuilder:validation:Enum={"None","ReadOnly","ReadWrite"}

type Caching_STATUS

type Caching_STATUS string

Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage

type CapacityReservationProfile

type CapacityReservationProfile struct {
	// CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the
	// virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to
	// https://aka.ms/CapacityReservation for more details.
	CapacityReservationGroup *SubResource `json:"capacityReservationGroup,omitempty"`
}

The parameters of a capacity reservation Profile.

type CapacityReservationProfile_STATUS

type CapacityReservationProfile_STATUS struct {
	// CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the
	// virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to
	// https://aka.ms/CapacityReservation for more details.
	CapacityReservationGroup *SubResource_STATUS `json:"capacityReservationGroup,omitempty"`
}

The parameters of a capacity reservation Profile.

type CreateOption

type CreateOption string

Specifies how the virtual machine should be created. Possible values are: Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. +kubebuilder:validation:Enum={"Attach","Empty","FromImage"}

type CreateOption_STATUS

type CreateOption_STATUS string

Specifies how the virtual machine should be created. Possible values are: Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.

type DataDisk

type DataDisk struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machine should be created.
	// Possible values are:
	// Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.
	// FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a
	// platform image, you also use the imageReference element described above. If you are using a marketplace image, you  also
	// use the plan element previously described.
	CreateOption *CreateOption `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether data disk should be deleted or detached upon VM deletion.
	// Possible values:
	// Delete If this value is used, the data disk is deleted when VM is deleted.
	// Detach If this value is used, the data disk is retained after VM is deleted.
	// The default value is set to detach
	DeleteOption *DeleteOption `json:"deleteOption,omitempty"`

	// DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of
	// detachment from the virtual machine. Supported values: ForceDetach.
	// detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk
	// did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use
	// force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed
	// when using this detach behavior.
	// This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk
	// update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
	DetachOption *DetachOption `json:"detachOption,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the
	// virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
	Image *VirtualHardDisk `json:"image,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
	ToBeDetached *bool `json:"toBeDetached,omitempty"`

	// Vhd: The virtual hard disk.
	Vhd *VirtualHardDisk `json:"vhd,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a data disk.

type DataDisk_STATUS

type DataDisk_STATUS struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching_STATUS `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machine should be created.
	// Possible values are:
	// Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.
	// FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a
	// platform image, you also use the imageReference element described above. If you are using a marketplace image, you  also
	// use the plan element previously described.
	CreateOption *CreateOption_STATUS `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether data disk should be deleted or detached upon VM deletion.
	// Possible values:
	// Delete If this value is used, the data disk is deleted when VM is deleted.
	// Detach If this value is used, the data disk is retained after VM is deleted.
	// The default value is set to detach
	DeleteOption *DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of
	// detachment from the virtual machine. Supported values: ForceDetach.
	// detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk
	// did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use
	// force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed
	// when using this detach behavior.
	// This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk
	// update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
	DetachOption *DetachOption_STATUS `json:"detachOption,omitempty"`

	// DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned
	// only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
	DiskIOPSReadWrite *int `json:"diskIOPSReadWrite,omitempty"`

	// DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is
	// UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine
	// Scale Set.
	DiskMBpsReadWrite *int `json:"diskMBpsReadWrite,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the
	// virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
	Image *VirtualHardDisk_STATUS `json:"image,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *ManagedDiskParameters_STATUS `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
	ToBeDetached *bool `json:"toBeDetached,omitempty"`

	// Vhd: The virtual hard disk.
	Vhd *VirtualHardDisk_STATUS `json:"vhd,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a data disk.

type DeleteOption

type DeleteOption string

Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values: Delete If this value is used, the managed disk is deleted when VM gets deleted. Detach If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01 +kubebuilder:validation:Enum={"Delete","Detach"}

type DeleteOption_STATUS

type DeleteOption_STATUS string

Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values: Delete If this value is used, the managed disk is deleted when VM gets deleted. Detach If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01

type DetachOption

type DetachOption string

Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. +kubebuilder:validation:Enum={"ForceDetach"}

type DetachOption_STATUS

type DetachOption_STATUS string

Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.

type DiagnosticsProfile

type DiagnosticsProfile struct {
	// BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to
	// diagnose VM status.
	// NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as
	// the VM.
	// You can easily view the output of your console log.
	// Azure also enables you to see a screenshot of the VM from the hypervisor.
	BootDiagnostics *BootDiagnostics `json:"bootDiagnostics,omitempty"`
}

Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.

type DiagnosticsProfile_STATUS

type DiagnosticsProfile_STATUS struct {
	// BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to
	// diagnose VM status.
	// NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as
	// the VM.
	// You can easily view the output of your console log.
	// Azure also enables you to see a screenshot of the VM from the hypervisor.
	BootDiagnostics *BootDiagnostics_STATUS `json:"bootDiagnostics,omitempty"`
}

Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.

type DiffDiskOption

type DiffDiskOption string

Specifies the ephemeral disk option for operating system disk. +kubebuilder:validation:Enum={"Local"}

type DiffDiskOption_STATUS

type DiffDiskOption_STATUS string

Specifies the ephemeral disk option for operating system disk.

type DiffDiskPlacement

type DiffDiskPlacement string

Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements +kubebuilder:validation:Enum={"CacheDisk","ResourceDisk"}

type DiffDiskPlacement_STATUS

type DiffDiskPlacement_STATUS string

Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements

type DiffDiskSettings

type DiffDiskSettings struct {
	// Option: Specifies the ephemeral disk settings for operating system disk.
	Option *DiffDiskOption `json:"option,omitempty"`

	// Placement: Specifies the ephemeral disk placement for operating system disk.
	// Possible values are:
	// CacheDisk
	// ResourceDisk
	// Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used.
	// Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and
	// Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
	Placement *DiffDiskPlacement `json:"placement,omitempty"`
}

Describes the parameters of ephemeral disk settings that can be specified for operating system disk. NOTE: The ephemeral disk settings can only be specified for managed disk.

type DiffDiskSettings_STATUS

type DiffDiskSettings_STATUS struct {
	// Option: Specifies the ephemeral disk settings for operating system disk.
	Option *DiffDiskOption_STATUS `json:"option,omitempty"`

	// Placement: Specifies the ephemeral disk placement for operating system disk.
	// Possible values are:
	// CacheDisk
	// ResourceDisk
	// Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used.
	// Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and
	// Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
	Placement *DiffDiskPlacement_STATUS `json:"placement,omitempty"`
}

Describes the parameters of ephemeral disk settings that can be specified for operating system disk. NOTE: The ephemeral disk settings can only be specified for managed disk.

type DiskEncryptionSettings

type DiskEncryptionSettings struct {
	// DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.
	DiskEncryptionKey *KeyVaultSecretReference `json:"diskEncryptionKey,omitempty"`

	// Enabled: Specifies whether disk encryption should be enabled on the virtual machine.
	Enabled *bool `json:"enabled,omitempty"`

	// KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.
	KeyEncryptionKey *KeyVaultKeyReference `json:"keyEncryptionKey,omitempty"`
}

Describes a Encryption Settings for a Disk

type DiskEncryptionSettings_STATUS

type DiskEncryptionSettings_STATUS struct {
	// DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.
	DiskEncryptionKey *KeyVaultSecretReference_STATUS `json:"diskEncryptionKey,omitempty"`

	// Enabled: Specifies whether disk encryption should be enabled on the virtual machine.
	Enabled *bool `json:"enabled,omitempty"`

	// KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.
	KeyEncryptionKey *KeyVaultKeyReference_STATUS `json:"keyEncryptionKey,omitempty"`
}

Describes a Encryption Settings for a Disk

type DiskInstanceView_STATUS

type DiskInstanceView_STATUS struct {
	// EncryptionSettings: Specifies the encryption settings for the OS Disk.
	// Minimum api-version: 2015-06-15
	EncryptionSettings []DiskEncryptionSettings_STATUS `json:"encryptionSettings,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// Statuses: The resource status information.
	Statuses []InstanceViewStatus_STATUS `json:"statuses,omitempty"`
}

The instance view of the disk.

type EvictionPolicy

type EvictionPolicy string

Specifies the eviction policy for the Azure Spot VM/VMSS +kubebuilder:validation:Enum={"Deallocate","Delete"}

type EvictionPolicy_STATUS

type EvictionPolicy_STATUS string

Specifies the eviction policy for the Azure Spot VM/VMSS

type ExtendedLocation

type ExtendedLocation struct {
	// Name: The name of the extended location.
	Name *string `json:"name,omitempty"`

	// Type: The type of the extended location.
	Type *ExtendedLocationType `json:"type,omitempty"`
}

The complex type of the extended location.

type ExtendedLocationType

type ExtendedLocationType string

The type of extendedLocation. +kubebuilder:validation:Enum={"EdgeZone"}

type ExtendedLocationType_STATUS

type ExtendedLocationType_STATUS string

The type of extendedLocation.

type ExtendedLocation_STATUS

type ExtendedLocation_STATUS struct {
	// Name: The name of the extended location.
	Name *string `json:"name,omitempty"`

	// Type: The type of the extended location.
	Type *ExtendedLocationType_STATUS `json:"type,omitempty"`
}

The complex type of the extended location.

type HardwareProfile

type HardwareProfile struct {
	// VmSize: Specifies the size of the virtual machine.
	// The enum data type is currently deprecated and will be removed by December 23rd 2023.
	// Recommended way to get the list of available sizes is using these APIs:
	// [List all available virtual machine sizes in an availability
	// set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
	// [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)
	// [List all available virtual machine sizes for
	// resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about
	// virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).
	// The available VM sizes depend on region and availability set.
	VmSize *string `json:"vmSize,omitempty"`

	// VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version:
	// 2021-07-01.
	// This feature is still in preview mode and is not supported for VirtualMachineScaleSet.
	// Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details.
	VmSizeProperties *VMSizeProperties `json:"vmSizeProperties,omitempty"`
}

Specifies the hardware settings for the virtual machine.

type HardwareProfile_STATUS

type HardwareProfile_STATUS struct {
	// VmSize: Specifies the size of the virtual machine.
	// The enum data type is currently deprecated and will be removed by December 23rd 2023.
	// Recommended way to get the list of available sizes is using these APIs:
	// [List all available virtual machine sizes in an availability
	// set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
	// [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)
	// [List all available virtual machine sizes for
	// resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about
	// virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).
	// The available VM sizes depend on region and availability set.
	VmSize *HardwareProfile_VmSize_STATUS `json:"vmSize,omitempty"`

	// VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version:
	// 2021-07-01.
	// This feature is still in preview mode and is not supported for VirtualMachineScaleSet.
	// Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details.
	VmSizeProperties *VMSizeProperties_STATUS `json:"vmSizeProperties,omitempty"`
}

Specifies the hardware settings for the virtual machine.

type HardwareProfile_VmSize_STATUS

type HardwareProfile_VmSize_STATUS string

type HyperVGenerationType

type HyperVGenerationType string

Specifies the HyperVGeneration Type +kubebuilder:validation:Enum={"V1","V2"}

type HyperVGenerationType_STATUS

type HyperVGenerationType_STATUS string

Specifies the HyperVGeneration Type

type ImageDataDisk

type ImageDataDisk struct {
	// BlobUri: The Virtual Hard Disk.
	BlobUri *string `json:"blobUri,omitempty"`

	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *ImageDataDisk_Caching `json:"caching,omitempty"`

	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.
	DiskEncryptionSet *SubResource `json:"diskEncryptionSet,omitempty"`

	// DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managedDisk.
	ManagedDisk *SubResource `json:"managedDisk,omitempty"`

	// Snapshot: The snapshot.
	Snapshot *SubResource `json:"snapshot,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType `json:"storageAccountType,omitempty"`
}

Describes a data disk.

type ImageDataDisk_Caching

type ImageDataDisk_Caching string

+kubebuilder:validation:Enum={"None","ReadOnly","ReadWrite"}

type ImageDataDisk_Caching_STATUS

type ImageDataDisk_Caching_STATUS string

type ImageDataDisk_STATUS

type ImageDataDisk_STATUS struct {
	// BlobUri: The Virtual Hard Disk.
	BlobUri *string `json:"blobUri,omitempty"`

	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *ImageDataDisk_Caching_STATUS `json:"caching,omitempty"`

	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.
	DiskEncryptionSet *SubResource_STATUS `json:"diskEncryptionSet,omitempty"`

	// DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managedDisk.
	ManagedDisk *SubResource_STATUS `json:"managedDisk,omitempty"`

	// Snapshot: The snapshot.
	Snapshot *SubResource_STATUS `json:"snapshot,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType_STATUS `json:"storageAccountType,omitempty"`
}

Describes a data disk.

type ImageOSDisk

type ImageOSDisk struct {
	// BlobUri: The Virtual Hard Disk.
	BlobUri *string `json:"blobUri,omitempty"`

	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *ImageOSDisk_Caching `json:"caching,omitempty"`

	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.
	DiskEncryptionSet *SubResource `json:"diskEncryptionSet,omitempty"`

	// DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// ManagedDisk: The managedDisk.
	ManagedDisk *SubResource `json:"managedDisk,omitempty"`

	// OsState: The OS State. For managed images, use Generalized.
	OsState *ImageOSDisk_OsState `json:"osState,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a
	// custom image.
	// Possible values are:
	// Windows
	// Linux
	OsType *ImageOSDisk_OsType `json:"osType,omitempty"`

	// Snapshot: The snapshot.
	Snapshot *SubResource `json:"snapshot,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType `json:"storageAccountType,omitempty"`
}

Describes an Operating System disk.

type ImageOSDisk_Caching

type ImageOSDisk_Caching string

+kubebuilder:validation:Enum={"None","ReadOnly","ReadWrite"}

type ImageOSDisk_Caching_STATUS

type ImageOSDisk_Caching_STATUS string

type ImageOSDisk_OsState

type ImageOSDisk_OsState string

+kubebuilder:validation:Enum={"Generalized","Specialized"}

type ImageOSDisk_OsState_STATUS

type ImageOSDisk_OsState_STATUS string

type ImageOSDisk_OsType

type ImageOSDisk_OsType string

+kubebuilder:validation:Enum={"Linux","Windows"}

type ImageOSDisk_OsType_STATUS

type ImageOSDisk_OsType_STATUS string

type ImageOSDisk_STATUS

type ImageOSDisk_STATUS struct {
	// BlobUri: The Virtual Hard Disk.
	BlobUri *string `json:"blobUri,omitempty"`

	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *ImageOSDisk_Caching_STATUS `json:"caching,omitempty"`

	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.
	DiskEncryptionSet *SubResource_STATUS `json:"diskEncryptionSet,omitempty"`

	// DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// ManagedDisk: The managedDisk.
	ManagedDisk *SubResource_STATUS `json:"managedDisk,omitempty"`

	// OsState: The OS State. For managed images, use Generalized.
	OsState *ImageOSDisk_OsState_STATUS `json:"osState,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a
	// custom image.
	// Possible values are:
	// Windows
	// Linux
	OsType *ImageOSDisk_OsType_STATUS `json:"osType,omitempty"`

	// Snapshot: The snapshot.
	Snapshot *SubResource_STATUS `json:"snapshot,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType_STATUS `json:"storageAccountType,omitempty"`
}

Describes an Operating System disk.

type ImageProperties

type ImageProperties struct {
	// HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version
	// 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource
	// like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed
	// resource.
	HyperVGeneration *HyperVGenerationType `json:"hyperVGeneration,omitempty"`

	// SourceVirtualMachine: The source virtual machine from which Image is created.
	SourceVirtualMachine *SubResource `json:"sourceVirtualMachine,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *ImageStorageProfile `json:"storageProfile,omitempty"`
}

Describes the properties of an Image.

type ImageProperties_STATUS

type ImageProperties_STATUS struct {
	// HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version
	// 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource
	// like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed
	// resource.
	HyperVGeneration *HyperVGenerationType_STATUS `json:"hyperVGeneration,omitempty"`

	// ProvisioningState: The provisioning state.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// SourceVirtualMachine: The source virtual machine from which Image is created.
	SourceVirtualMachine *SubResource_STATUS `json:"sourceVirtualMachine,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *ImageStorageProfile_STATUS `json:"storageProfile,omitempty"`
}

Describes the properties of an Image.

type ImageReference

type ImageReference struct {
	// CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from
	// community gallery image GET call.
	CommunityGalleryImageId *string `json:"communityGalleryImageId,omitempty"`
	Id                      *string `json:"id,omitempty"`

	// Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.
	Offer *string `json:"offer,omitempty"`

	// Publisher: The image publisher.
	Publisher *string `json:"publisher,omitempty"`

	// SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared
	// gallery image GET call.
	SharedGalleryImageId *string `json:"sharedGalleryImageId,omitempty"`

	// Sku: The image SKU.
	Sku *string `json:"sku,omitempty"`

	// Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The
	// allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use
	// the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically
	// update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image
	// deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just
	// set
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}'
	// in the 'id' field without version input.
	Version *string `json:"version,omitempty"`
}

Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.

type ImageReference_STATUS

type ImageReference_STATUS struct {
	// CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from
	// community gallery image GET call.
	CommunityGalleryImageId *string `json:"communityGalleryImageId,omitempty"`

	// ExactVersion: Specifies in decimal numbers, the version of platform image or marketplace image used to create the
	// virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
	ExactVersion *string `json:"exactVersion,omitempty"`

	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.
	Offer *string `json:"offer,omitempty"`

	// Publisher: The image publisher.
	Publisher *string `json:"publisher,omitempty"`

	// SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared
	// gallery image GET call.
	SharedGalleryImageId *string `json:"sharedGalleryImageId,omitempty"`

	// Sku: The image SKU.
	Sku *string `json:"sku,omitempty"`

	// Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The
	// allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use
	// the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically
	// update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image
	// deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just
	// set
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}'
	// in the 'id' field without version input.
	Version *string `json:"version,omitempty"`
}

Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.

type ImageStorageProfile

type ImageStorageProfile struct {
	// DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []ImageDataDisk `json:"dataDisks,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *ImageOSDisk `json:"osDisk,omitempty"`

	// ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be
	// created only in regions that provide Zone Redundant Storage (ZRS).
	ZoneResilient *bool `json:"zoneResilient,omitempty"`
}

Describes a storage profile.

type ImageStorageProfile_STATUS

type ImageStorageProfile_STATUS struct {
	// DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []ImageDataDisk_STATUS `json:"dataDisks,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *ImageOSDisk_STATUS `json:"osDisk,omitempty"`

	// ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be
	// created only in regions that provide Zone Redundant Storage (ZRS).
	ZoneResilient *bool `json:"zoneResilient,omitempty"`
}

Describes a storage profile.

type Image_STATUS

type Image_STATUS struct {
	// ExtendedLocation: The extended location of the Image.
	ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"`

	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`

	// Name: Resource name
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of an Image.
	Properties *ImageProperties_STATUS `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`
}

The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.

type Image_Spec

type Image_Spec struct {
	// ExtendedLocation: The extended location of the Image.
	ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`
	Name     string  `json:"name,omitempty"`

	// Properties: Describes the properties of an Image.
	Properties *ImageProperties `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`
}

func (Image_Spec) GetAPIVersion

func (image Image_Spec) GetAPIVersion() string

GetAPIVersion returns the ARM API version of the resource. This is always "2022-03-01"

func (*Image_Spec) GetName

func (image *Image_Spec) GetName() string

GetName returns the Name of the resource

func (*Image_Spec) GetType

func (image *Image_Spec) GetType() string

GetType returns the ARM Type of the resource. This is always "Microsoft.Compute/images"

type InnerError_STATUS

type InnerError_STATUS struct {
	// Errordetail: The internal error message or exception dump.
	Errordetail *string `json:"errordetail,omitempty"`

	// Exceptiontype: The exception type.
	Exceptiontype *string `json:"exceptiontype,omitempty"`
}

Inner error details.

type InstanceViewStatus

type InstanceViewStatus struct {
	// Code: The status code.
	Code *string `json:"code,omitempty"`

	// DisplayStatus: The short localizable label for the status.
	DisplayStatus *string `json:"displayStatus,omitempty"`

	// Level: The level code.
	Level *InstanceViewStatus_Level `json:"level,omitempty"`

	// Message: The detailed status message, including for alerts and error messages.
	Message *string `json:"message,omitempty"`

	// Time: The time of the status.
	Time *string `json:"time,omitempty"`
}

Instance view status.

type InstanceViewStatus_Level

type InstanceViewStatus_Level string

+kubebuilder:validation:Enum={"Error","Info","Warning"}

type InstanceViewStatus_Level_STATUS

type InstanceViewStatus_Level_STATUS string

type InstanceViewStatus_STATUS

type InstanceViewStatus_STATUS struct {
	// Code: The status code.
	Code *string `json:"code,omitempty"`

	// DisplayStatus: The short localizable label for the status.
	DisplayStatus *string `json:"displayStatus,omitempty"`

	// Level: The level code.
	Level *InstanceViewStatus_Level_STATUS `json:"level,omitempty"`

	// Message: The detailed status message, including for alerts and error messages.
	Message *string `json:"message,omitempty"`

	// Time: The time of the status.
	Time *string `json:"time,omitempty"`
}

Instance view status.

type KeyVaultKeyReference

type KeyVaultKeyReference struct {
	// KeyUrl: The URL referencing a key encryption key in Key Vault.
	KeyUrl *string `json:"keyUrl,omitempty"`

	// SourceVault: The relative URL of the Key Vault containing the key.
	SourceVault *SubResource `json:"sourceVault,omitempty"`
}

Describes a reference to Key Vault Key

type KeyVaultKeyReference_STATUS

type KeyVaultKeyReference_STATUS struct {
	// KeyUrl: The URL referencing a key encryption key in Key Vault.
	KeyUrl *string `json:"keyUrl,omitempty"`

	// SourceVault: The relative URL of the Key Vault containing the key.
	SourceVault *SubResource_STATUS `json:"sourceVault,omitempty"`
}

Describes a reference to Key Vault Key

type KeyVaultSecretReference

type KeyVaultSecretReference struct {
	// SecretUrl: The URL referencing a secret in a Key Vault.
	SecretUrl *string `json:"secretUrl,omitempty"`

	// SourceVault: The relative URL of the Key Vault containing the secret.
	SourceVault *SubResource `json:"sourceVault,omitempty"`
}

Describes a reference to Key Vault Secret

type KeyVaultSecretReference_STATUS

type KeyVaultSecretReference_STATUS struct {
	// SecretUrl: The URL referencing a secret in a Key Vault.
	SecretUrl *string `json:"secretUrl,omitempty"`

	// SourceVault: The relative URL of the Key Vault containing the secret.
	SourceVault *SubResource_STATUS `json:"sourceVault,omitempty"`
}

Describes a reference to Key Vault Secret

type LastPatchInstallationSummary_STATUS

type LastPatchInstallationSummary_STATUS struct {
	// Error: The errors that were encountered during execution of the operation. The details array contains the list of them.
	Error *ApiError_STATUS `json:"error,omitempty"`

	// ExcludedPatchCount: The number of all available patches but excluded explicitly by a customer-specified exclusion list
	// match.
	ExcludedPatchCount *int `json:"excludedPatchCount,omitempty"`

	// FailedPatchCount: The count of patches that failed installation.
	FailedPatchCount *int `json:"failedPatchCount,omitempty"`

	// InstallationActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP
	// and extension logs.
	InstallationActivityId *string `json:"installationActivityId,omitempty"`

	// InstalledPatchCount: The count of patches that successfully installed.
	InstalledPatchCount *int `json:"installedPatchCount,omitempty"`

	// LastModifiedTime: The UTC timestamp when the operation began.
	LastModifiedTime *string `json:"lastModifiedTime,omitempty"`

	// MaintenanceWindowExceeded: Describes whether the operation ran out of time before it completed all its intended actions
	MaintenanceWindowExceeded *bool `json:"maintenanceWindowExceeded,omitempty"`

	// NotSelectedPatchCount: The number of all available patches but not going to be installed because it didn't match a
	// classification or inclusion list entry.
	NotSelectedPatchCount *int `json:"notSelectedPatchCount,omitempty"`

	// PendingPatchCount: The number of all available patches expected to be installed over the course of the patch
	// installation operation.
	PendingPatchCount *int `json:"pendingPatchCount,omitempty"`

	// StartTime: The UTC timestamp when the operation began.
	StartTime *string `json:"startTime,omitempty"`

	// Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes.
	// At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings."
	Status *LastPatchInstallationSummary_Status_STATUS `json:"status,omitempty"`
}

Describes the properties of the last installed patch summary.

type LastPatchInstallationSummary_Status_STATUS

type LastPatchInstallationSummary_Status_STATUS string

type LinuxConfiguration

type LinuxConfiguration struct {
	// DisablePasswordAuthentication: Specifies whether password authentication should be disabled.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty"`

	// PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
	PatchSettings *LinuxPatchSettings `json:"patchSettings,omitempty"`

	// ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine.
	// When this property is not specified in the request body, default behavior is to set it to true.  This will ensure that
	// VM Agent is installed on the VM so that extensions can be added to the VM later.
	ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"`

	// Ssh: Specifies the ssh key configuration for a Linux OS.
	Ssh *SshConfiguration `json:"ssh,omitempty"`
}

Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).

type LinuxConfiguration_STATUS

type LinuxConfiguration_STATUS struct {
	// DisablePasswordAuthentication: Specifies whether password authentication should be disabled.
	DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty"`

	// PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
	PatchSettings *LinuxPatchSettings_STATUS `json:"patchSettings,omitempty"`

	// ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine.
	// When this property is not specified in the request body, default behavior is to set it to true.  This will ensure that
	// VM Agent is installed on the VM so that extensions can be added to the VM later.
	ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"`

	// Ssh: Specifies the ssh key configuration for a Linux OS.
	Ssh *SshConfiguration_STATUS `json:"ssh,omitempty"`
}

Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).

type LinuxPatchSettings

type LinuxPatchSettings struct {
	// AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
	// Possible values are:
	// ImageDefault - You control the timing of patch assessments on a virtual machine.
	// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
	AssessmentMode *LinuxPatchSettings_AssessmentMode `json:"assessmentMode,omitempty"`

	// AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on
	// Linux.
	AutomaticByPlatformSettings *LinuxVMGuestPatchAutomaticByPlatformSettings `json:"automaticByPlatformSettings,omitempty"`

	// PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual
	// machine scale set with OrchestrationMode as Flexible.
	// Possible values are:
	// ImageDefault - The virtual machine's default patching configuration is used.
	// AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent
	// must be true
	PatchMode *LinuxPatchSettings_PatchMode `json:"patchMode,omitempty"`
}

Specifies settings related to VM Guest Patching on Linux.

type LinuxPatchSettings_AssessmentMode

type LinuxPatchSettings_AssessmentMode string

+kubebuilder:validation:Enum={"AutomaticByPlatform","ImageDefault"}

type LinuxPatchSettings_AssessmentMode_STATUS

type LinuxPatchSettings_AssessmentMode_STATUS string

type LinuxPatchSettings_PatchMode

type LinuxPatchSettings_PatchMode string

+kubebuilder:validation:Enum={"AutomaticByPlatform","ImageDefault"}

type LinuxPatchSettings_PatchMode_STATUS

type LinuxPatchSettings_PatchMode_STATUS string

type LinuxPatchSettings_STATUS

type LinuxPatchSettings_STATUS struct {
	// AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
	// Possible values are:
	// ImageDefault - You control the timing of patch assessments on a virtual machine.
	// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
	AssessmentMode *LinuxPatchSettings_AssessmentMode_STATUS `json:"assessmentMode,omitempty"`

	// AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on
	// Linux.
	AutomaticByPlatformSettings *LinuxVMGuestPatchAutomaticByPlatformSettings_STATUS `json:"automaticByPlatformSettings,omitempty"`

	// PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual
	// machine scale set with OrchestrationMode as Flexible.
	// Possible values are:
	// ImageDefault - The virtual machine's default patching configuration is used.
	// AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent
	// must be true
	PatchMode *LinuxPatchSettings_PatchMode_STATUS `json:"patchMode,omitempty"`
}

Specifies settings related to VM Guest Patching on Linux.

type LinuxVMGuestPatchAutomaticByPlatformSettings

type LinuxVMGuestPatchAutomaticByPlatformSettings struct {
	// RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
	RebootSetting *LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting `json:"rebootSetting,omitempty"`
}

Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings.

type LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting

type LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting string

+kubebuilder:validation:Enum={"Always","IfRequired","Never","Unknown"}

type LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS

type LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS string

type LinuxVMGuestPatchAutomaticByPlatformSettings_STATUS

type LinuxVMGuestPatchAutomaticByPlatformSettings_STATUS struct {
	// RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
	RebootSetting *LinuxVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS `json:"rebootSetting,omitempty"`
}

Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings.

type MaintenanceRedeployStatus_LastOperationResultCode_STATUS

type MaintenanceRedeployStatus_LastOperationResultCode_STATUS string

type MaintenanceRedeployStatus_STATUS

type MaintenanceRedeployStatus_STATUS struct {
	// IsCustomerInitiatedMaintenanceAllowed: True, if customer is allowed to perform Maintenance.
	IsCustomerInitiatedMaintenanceAllowed *bool `json:"isCustomerInitiatedMaintenanceAllowed,omitempty"`

	// LastOperationMessage: Message returned for the last Maintenance Operation.
	LastOperationMessage *string `json:"lastOperationMessage,omitempty"`

	// LastOperationResultCode: The Last Maintenance Operation Result Code.
	LastOperationResultCode *MaintenanceRedeployStatus_LastOperationResultCode_STATUS `json:"lastOperationResultCode,omitempty"`

	// MaintenanceWindowEndTime: End Time for the Maintenance Window.
	MaintenanceWindowEndTime *string `json:"maintenanceWindowEndTime,omitempty"`

	// MaintenanceWindowStartTime: Start Time for the Maintenance Window.
	MaintenanceWindowStartTime *string `json:"maintenanceWindowStartTime,omitempty"`

	// PreMaintenanceWindowEndTime: End Time for the Pre Maintenance Window.
	PreMaintenanceWindowEndTime *string `json:"preMaintenanceWindowEndTime,omitempty"`

	// PreMaintenanceWindowStartTime: Start Time for the Pre Maintenance Window.
	PreMaintenanceWindowStartTime *string `json:"preMaintenanceWindowStartTime,omitempty"`
}

Maintenance Operation Status.

type ManagedDiskParameters

type ManagedDiskParameters struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.
	DiskEncryptionSet *SubResource `json:"diskEncryptionSet,omitempty"`
	Id                *string      `json:"id,omitempty"`

	// SecurityProfile: Specifies the security profile for the managed disk.
	SecurityProfile *VMDiskSecurityProfile `json:"securityProfile,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType `json:"storageAccountType,omitempty"`
}

The parameters of a managed disk.

type ManagedDiskParameters_STATUS

type ManagedDiskParameters_STATUS struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.
	DiskEncryptionSet *SubResource_STATUS `json:"diskEncryptionSet,omitempty"`

	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// SecurityProfile: Specifies the security profile for the managed disk.
	SecurityProfile *VMDiskSecurityProfile_STATUS `json:"securityProfile,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType_STATUS `json:"storageAccountType,omitempty"`
}

The parameters of a managed disk.

type NetworkInterfaceReference

type NetworkInterfaceReference struct {
	Id *string `json:"id,omitempty"`

	// Properties: Describes a network interface reference properties.
	Properties *NetworkInterfaceReferenceProperties `json:"properties,omitempty"`
}

Describes a network interface reference.

type NetworkInterfaceReferenceProperties

type NetworkInterfaceReferenceProperties struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *NetworkInterfaceReferenceProperties_DeleteOption `json:"deleteOption,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a network interface reference properties.

type NetworkInterfaceReferenceProperties_DeleteOption

type NetworkInterfaceReferenceProperties_DeleteOption string

+kubebuilder:validation:Enum={"Delete","Detach"}

type NetworkInterfaceReferenceProperties_DeleteOption_STATUS

type NetworkInterfaceReferenceProperties_DeleteOption_STATUS string

type NetworkInterfaceReferenceProperties_STATUS

type NetworkInterfaceReferenceProperties_STATUS struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *NetworkInterfaceReferenceProperties_DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a network interface reference properties.

type NetworkInterfaceReference_STATUS

type NetworkInterfaceReference_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Properties: Describes a network interface reference properties.
	Properties *NetworkInterfaceReferenceProperties_STATUS `json:"properties,omitempty"`
}

Describes a network interface reference.

type NetworkProfile

type NetworkProfile struct {
	// NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network
	// Interface Configurations
	NetworkApiVersion *NetworkProfile_NetworkApiVersion `json:"networkApiVersion,omitempty"`

	// NetworkInterfaceConfigurations: Specifies the networking configurations that will be used to create the virtual machine
	// networking resources.
	NetworkInterfaceConfigurations []VirtualMachineNetworkInterfaceConfiguration `json:"networkInterfaceConfigurations,omitempty"`

	// NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.
	NetworkInterfaces []NetworkInterfaceReference `json:"networkInterfaces,omitempty"`
}

Specifies the network interfaces or the networking configuration of the virtual machine.

type NetworkProfile_NetworkApiVersion

type NetworkProfile_NetworkApiVersion string

+kubebuilder:validation:Enum={"2020-11-01"}

type NetworkProfile_NetworkApiVersion_STATUS

type NetworkProfile_NetworkApiVersion_STATUS string

type NetworkProfile_STATUS

type NetworkProfile_STATUS struct {
	// NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network
	// Interface Configurations
	NetworkApiVersion *NetworkProfile_NetworkApiVersion_STATUS `json:"networkApiVersion,omitempty"`

	// NetworkInterfaceConfigurations: Specifies the networking configurations that will be used to create the virtual machine
	// networking resources.
	NetworkInterfaceConfigurations []VirtualMachineNetworkInterfaceConfiguration_STATUS `json:"networkInterfaceConfigurations,omitempty"`

	// NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.
	NetworkInterfaces []NetworkInterfaceReference_STATUS `json:"networkInterfaces,omitempty"`
}

Specifies the network interfaces or the networking configuration of the virtual machine.

type OSDisk

type OSDisk struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage.
	Caching *Caching `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machine should be created.
	// Possible values are:
	// Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.
	// FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a
	// platform image, you also use the imageReference element described above. If you are using a marketplace image, you  also
	// use the plan element previously described.
	CreateOption *CreateOption `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether OS Disk should be deleted or detached upon VM deletion.
	// Possible values:
	// Delete If this value is used, the OS disk is deleted when VM is deleted.
	// Detach If this value is used, the os disk is retained after VM is deleted.
	// The default value is set to detach. For an ephemeral OS Disk, the default value is set to Delete. User cannot change the
	// delete option for ephemeral OS Disk.
	DeleteOption *DeleteOption `json:"deleteOption,omitempty"`

	// DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.
	DiffDiskSettings *DiffDiskSettings `json:"diffDiskSettings,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// EncryptionSettings: Specifies the encryption settings for the OS Disk.
	// Minimum api-version: 2015-06-15
	EncryptionSettings *DiskEncryptionSettings `json:"encryptionSettings,omitempty"`

	// Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the
	// virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
	Image *VirtualHardDisk `json:"image,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from
	// user-image or a specialized VHD.
	// Possible values are:
	// Windows
	// Linux
	OsType *OSDisk_OsType `json:"osType,omitempty"`

	// Vhd: The virtual hard disk.
	Vhd *VirtualHardDisk `json:"vhd,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).

type OSDisk_OsType

type OSDisk_OsType string

+kubebuilder:validation:Enum={"Linux","Windows"}

type OSDisk_OsType_STATUS

type OSDisk_OsType_STATUS string

type OSDisk_STATUS

type OSDisk_STATUS struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage.
	Caching *Caching_STATUS `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machine should be created.
	// Possible values are:
	// Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.
	// FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a
	// platform image, you also use the imageReference element described above. If you are using a marketplace image, you  also
	// use the plan element previously described.
	CreateOption *CreateOption_STATUS `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether OS Disk should be deleted or detached upon VM deletion.
	// Possible values:
	// Delete If this value is used, the OS disk is deleted when VM is deleted.
	// Detach If this value is used, the os disk is retained after VM is deleted.
	// The default value is set to detach. For an ephemeral OS Disk, the default value is set to Delete. User cannot change the
	// delete option for ephemeral OS Disk.
	DeleteOption *DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.
	DiffDiskSettings *DiffDiskSettings_STATUS `json:"diffDiskSettings,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// EncryptionSettings: Specifies the encryption settings for the OS Disk.
	// Minimum api-version: 2015-06-15
	EncryptionSettings *DiskEncryptionSettings_STATUS `json:"encryptionSettings,omitempty"`

	// Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the
	// virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
	Image *VirtualHardDisk_STATUS `json:"image,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *ManagedDiskParameters_STATUS `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from
	// user-image or a specialized VHD.
	// Possible values are:
	// Windows
	// Linux
	OsType *OSDisk_OsType_STATUS `json:"osType,omitempty"`

	// Vhd: The virtual hard disk.
	Vhd *VirtualHardDisk_STATUS `json:"vhd,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).

type OSProfile

type OSProfile struct {
	// AdminPassword: Specifies the password of the administrator account.
	// Minimum-length (Windows): 8 characters
	// Minimum-length (Linux): 6 characters
	// Max-length (Windows): 123 characters
	// Max-length (Linux): 72 characters
	// Complexity requirements: 3 out of 4 conditions below need to be fulfilled
	// Has lower characters
	// Has upper characters
	// Has a digit
	// Has a special character (Regex match [\W_])
	// Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1",
	// "Password22", "iloveyou!"
	// For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows
	// VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
	// For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess
	// Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)
	AdminPassword *string `json:"adminPassword,omitempty"`

	// AdminUsername: Specifies the name of the administrator account.
	// This property cannot be updated after the VM is created.
	// Windows-only restriction: Cannot end in "."
	// Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123",
	// "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server",
	// "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
	// Minimum-length (Linux): 1  character
	// Max-length (Linux): 64 characters
	// Max-length (Windows): 20 characters.
	AdminUsername *string `json:"adminUsername,omitempty"`

	// AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine.
	// This may only be set to False when no extensions are present on the virtual machine.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"`

	// ComputerName: Specifies the host OS name of the virtual machine.
	// This name cannot be updated after the VM is created.
	// Max-length (Windows): 15 characters
	// Max-length (Linux): 64 characters.
	// For naming conventions and restrictions see [Azure infrastructure services implementation
	// guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules).
	ComputerName *string `json:"computerName,omitempty"`

	// CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array
	// that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
	// Note: Do not pass any secrets or passwords in customData property
	// This property cannot be updated after the VM is created.
	// customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure
	// VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/)
	// For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during
	// creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)
	CustomData *string `json:"customData,omitempty"`

	// LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine.
	// For a list of supported Linux distributions, see [Linux on Azure-Endorsed
	// Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
	LinuxConfiguration *LinuxConfiguration `json:"linuxConfiguration,omitempty"`

	// RequireGuestProvisionSignal: Optional property which must either be set to True or omitted.
	RequireGuestProvisionSignal *bool `json:"requireGuestProvisionSignal,omitempty"`

	// Secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a
	// virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	Secrets []VaultSecretGroup `json:"secrets,omitempty"`

	// WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.
	WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"`
}

Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.

type OSProfile_STATUS

type OSProfile_STATUS struct {
	// AdminUsername: Specifies the name of the administrator account.
	// This property cannot be updated after the VM is created.
	// Windows-only restriction: Cannot end in "."
	// Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123",
	// "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server",
	// "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
	// Minimum-length (Linux): 1  character
	// Max-length (Linux): 64 characters
	// Max-length (Windows): 20 characters.
	AdminUsername *string `json:"adminUsername,omitempty"`

	// AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine.
	// This may only be set to False when no extensions are present on the virtual machine.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"`

	// ComputerName: Specifies the host OS name of the virtual machine.
	// This name cannot be updated after the VM is created.
	// Max-length (Windows): 15 characters
	// Max-length (Linux): 64 characters.
	// For naming conventions and restrictions see [Azure infrastructure services implementation
	// guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules).
	ComputerName *string `json:"computerName,omitempty"`

	// CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array
	// that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
	// Note: Do not pass any secrets or passwords in customData property
	// This property cannot be updated after the VM is created.
	// customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure
	// VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/)
	// For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during
	// creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)
	CustomData *string `json:"customData,omitempty"`

	// LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine.
	// For a list of supported Linux distributions, see [Linux on Azure-Endorsed
	// Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
	LinuxConfiguration *LinuxConfiguration_STATUS `json:"linuxConfiguration,omitempty"`

	// RequireGuestProvisionSignal: Optional property which must either be set to True or omitted.
	RequireGuestProvisionSignal *bool `json:"requireGuestProvisionSignal,omitempty"`

	// Secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a
	// virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	Secrets []VaultSecretGroup_STATUS `json:"secrets,omitempty"`

	// WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.
	WindowsConfiguration *WindowsConfiguration_STATUS `json:"windowsConfiguration,omitempty"`
}

Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.

type OrchestrationMode

type OrchestrationMode string

Specifies the orchestration mode for the virtual machine scale set. +kubebuilder:validation:Enum={"Flexible","Uniform"}

type OrchestrationMode_STATUS

type OrchestrationMode_STATUS string

Specifies the orchestration mode for the virtual machine scale set.

type PatchSettings

type PatchSettings struct {
	// AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
	// Possible values are:
	// ImageDefault - You control the timing of patch assessments on a virtual machine.
	// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
	AssessmentMode *PatchSettings_AssessmentMode `json:"assessmentMode,omitempty"`

	// AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on
	// Windows.
	AutomaticByPlatformSettings *WindowsVMGuestPatchAutomaticByPlatformSettings `json:"automaticByPlatformSettings,omitempty"`

	// EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the
	// 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
	EnableHotpatching *bool `json:"enableHotpatching,omitempty"`

	// PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual
	// machine scale set with OrchestrationMode as Flexible.
	// Possible values are:
	// Manual - You  control the application of patches to a virtual machine. You do this by applying patches manually inside
	// the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be
	// false
	// AutomaticByOS - The virtual machine will automatically be updated by the OS. The property
	// WindowsConfiguration.enableAutomaticUpdates must be true.
	// AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent
	// and WindowsConfiguration.enableAutomaticUpdates must be true
	PatchMode *PatchSettings_PatchMode `json:"patchMode,omitempty"`
}

Specifies settings related to VM Guest Patching on Windows.

type PatchSettings_AssessmentMode

type PatchSettings_AssessmentMode string

+kubebuilder:validation:Enum={"AutomaticByPlatform","ImageDefault"}

type PatchSettings_AssessmentMode_STATUS

type PatchSettings_AssessmentMode_STATUS string

type PatchSettings_PatchMode

type PatchSettings_PatchMode string

+kubebuilder:validation:Enum={"AutomaticByOS","AutomaticByPlatform","Manual"}

type PatchSettings_PatchMode_STATUS

type PatchSettings_PatchMode_STATUS string

type PatchSettings_STATUS

type PatchSettings_STATUS struct {
	// AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
	// Possible values are:
	// ImageDefault - You control the timing of patch assessments on a virtual machine.
	// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
	AssessmentMode *PatchSettings_AssessmentMode_STATUS `json:"assessmentMode,omitempty"`

	// AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on
	// Windows.
	AutomaticByPlatformSettings *WindowsVMGuestPatchAutomaticByPlatformSettings_STATUS `json:"automaticByPlatformSettings,omitempty"`

	// EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the
	// 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
	EnableHotpatching *bool `json:"enableHotpatching,omitempty"`

	// PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual
	// machine scale set with OrchestrationMode as Flexible.
	// Possible values are:
	// Manual - You  control the application of patches to a virtual machine. You do this by applying patches manually inside
	// the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be
	// false
	// AutomaticByOS - The virtual machine will automatically be updated by the OS. The property
	// WindowsConfiguration.enableAutomaticUpdates must be true.
	// AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent
	// and WindowsConfiguration.enableAutomaticUpdates must be true
	PatchMode *PatchSettings_PatchMode_STATUS `json:"patchMode,omitempty"`
}

Specifies settings related to VM Guest Patching on Windows.

type Plan

type Plan struct {
	// Name: The plan ID.
	Name *string `json:"name,omitempty"`

	// Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the
	// imageReference element.
	Product *string `json:"product,omitempty"`

	// PromotionCode: The promotion code.
	PromotionCode *string `json:"promotionCode,omitempty"`

	// Publisher: The publisher ID.
	Publisher *string `json:"publisher,omitempty"`
}

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

type Plan_STATUS

type Plan_STATUS struct {
	// Name: The plan ID.
	Name *string `json:"name,omitempty"`

	// Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the
	// imageReference element.
	Product *string `json:"product,omitempty"`

	// PromotionCode: The promotion code.
	PromotionCode *string `json:"promotionCode,omitempty"`

	// Publisher: The publisher ID.
	Publisher *string `json:"publisher,omitempty"`
}

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

type Priority

type Priority string

Specifies the priority for a standalone virtual machine or the virtual machines in the scale set. 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS. +kubebuilder:validation:Enum={"Low","Regular","Spot"}

type Priority_STATUS

type Priority_STATUS string

Specifies the priority for a standalone virtual machine or the virtual machines in the scale set. 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.

type PublicIPAddressSku

type PublicIPAddressSku struct {
	// Name: Specify public IP sku name
	Name *PublicIPAddressSku_Name `json:"name,omitempty"`

	// Tier: Specify public IP sku tier
	Tier *PublicIPAddressSku_Tier `json:"tier,omitempty"`
}

Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.

type PublicIPAddressSku_Name

type PublicIPAddressSku_Name string

+kubebuilder:validation:Enum={"Basic","Standard"}

type PublicIPAddressSku_Name_STATUS

type PublicIPAddressSku_Name_STATUS string

type PublicIPAddressSku_STATUS

type PublicIPAddressSku_STATUS struct {
	// Name: Specify public IP sku name
	Name *PublicIPAddressSku_Name_STATUS `json:"name,omitempty"`

	// Tier: Specify public IP sku tier
	Tier *PublicIPAddressSku_Tier_STATUS `json:"tier,omitempty"`
}

Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.

type PublicIPAddressSku_Tier

type PublicIPAddressSku_Tier string

+kubebuilder:validation:Enum={"Global","Regional"}

type PublicIPAddressSku_Tier_STATUS

type PublicIPAddressSku_Tier_STATUS string

type RollingUpgradePolicy

type RollingUpgradePolicy struct {
	// EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration
	// the Update Domain and maxBatchInstancePercent to determine the batch size.
	EnableCrossZoneUpgrade *bool `json:"enableCrossZoneUpgrade,omitempty"`

	// MaxBatchInstancePercent: 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. The default value for this parameter is 20%.
	MaxBatchInstancePercent *int `json:"maxBatchInstancePercent,omitempty"`

	// MaxUnhealthyInstancePercent: 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.
	// The default value for this parameter is 20%.
	MaxUnhealthyInstancePercent *int `json:"maxUnhealthyInstancePercent,omitempty"`

	// MaxUnhealthyUpgradedInstancePercent: 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. The default value for this parameter is 20%.
	MaxUnhealthyUpgradedInstancePercent *int `json:"maxUnhealthyUpgradedInstancePercent,omitempty"`

	// PauseTimeBetweenBatches: 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. The default value is 0 seconds (PT0S).
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty"`

	// PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.
	PrioritizeUnhealthyInstances *bool `json:"prioritizeUnhealthyInstances,omitempty"`
}

The configuration parameters used while performing a rolling upgrade.

type RollingUpgradePolicy_STATUS

type RollingUpgradePolicy_STATUS struct {
	// EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration
	// the Update Domain and maxBatchInstancePercent to determine the batch size.
	EnableCrossZoneUpgrade *bool `json:"enableCrossZoneUpgrade,omitempty"`

	// MaxBatchInstancePercent: 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. The default value for this parameter is 20%.
	MaxBatchInstancePercent *int `json:"maxBatchInstancePercent,omitempty"`

	// MaxUnhealthyInstancePercent: 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.
	// The default value for this parameter is 20%.
	MaxUnhealthyInstancePercent *int `json:"maxUnhealthyInstancePercent,omitempty"`

	// MaxUnhealthyUpgradedInstancePercent: 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. The default value for this parameter is 20%.
	MaxUnhealthyUpgradedInstancePercent *int `json:"maxUnhealthyUpgradedInstancePercent,omitempty"`

	// PauseTimeBetweenBatches: 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. The default value is 0 seconds (PT0S).
	PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty"`

	// PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.
	PrioritizeUnhealthyInstances *bool `json:"prioritizeUnhealthyInstances,omitempty"`
}

The configuration parameters used while performing a rolling upgrade.

type ScaleInPolicy

type ScaleInPolicy struct {
	// ForceDeletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when
	// a virtual machine scale set is being scaled-in.(Feature in Preview)
	ForceDeletion *bool `json:"forceDeletion,omitempty"`

	// Rules: The rules to be followed when scaling-in a virtual machine scale set.
	// Possible values are:
	// Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a
	// zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the
	// virtual machines chosen for removal will be the newest ones that are not protected from scale-in.
	// OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from
	// scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across
	// zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.
	// NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from
	// scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across
	// zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
	Rules []ScaleInPolicy_Rules `json:"rules,omitempty"`
}

Describes a scale-in policy for a virtual machine scale set.

type ScaleInPolicy_Rules

type ScaleInPolicy_Rules string

+kubebuilder:validation:Enum={"Default","NewestVM","OldestVM"}

type ScaleInPolicy_Rules_STATUS

type ScaleInPolicy_Rules_STATUS string

type ScaleInPolicy_STATUS

type ScaleInPolicy_STATUS struct {
	// ForceDeletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when
	// a virtual machine scale set is being scaled-in.(Feature in Preview)
	ForceDeletion *bool `json:"forceDeletion,omitempty"`

	// Rules: The rules to be followed when scaling-in a virtual machine scale set.
	// Possible values are:
	// Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a
	// zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the
	// virtual machines chosen for removal will be the newest ones that are not protected from scale-in.
	// OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from
	// scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across
	// zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.
	// NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from
	// scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across
	// zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
	Rules []ScaleInPolicy_Rules_STATUS `json:"rules,omitempty"`
}

Describes a scale-in policy for a virtual machine scale set.

type ScheduledEventsProfile

type ScheduledEventsProfile struct {
	// TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.
	TerminateNotificationProfile *TerminateNotificationProfile `json:"terminateNotificationProfile,omitempty"`
}

type ScheduledEventsProfile_STATUS

type ScheduledEventsProfile_STATUS struct {
	// TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.
	TerminateNotificationProfile *TerminateNotificationProfile_STATUS `json:"terminateNotificationProfile,omitempty"`
}

type SecurityProfile

type SecurityProfile struct {
	// EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the
	// virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp
	// disk at host itself.
	// Default: The Encryption at host will be disabled unless this property is set to true for the resource.
	EncryptionAtHost *bool `json:"encryptionAtHost,omitempty"`

	// SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable
	// UefiSettings.
	// Default: UefiSettings will not be enabled unless this property is set.
	SecurityType *SecurityProfile_SecurityType `json:"securityType,omitempty"`

	// UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
	// Minimum api-version: 2020-12-01
	UefiSettings *UefiSettings `json:"uefiSettings,omitempty"`
}

Specifies the Security profile settings for the virtual machine or virtual machine scale set.

type SecurityProfile_STATUS

type SecurityProfile_STATUS struct {
	// EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the
	// virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp
	// disk at host itself.
	// Default: The Encryption at host will be disabled unless this property is set to true for the resource.
	EncryptionAtHost *bool `json:"encryptionAtHost,omitempty"`

	// SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable
	// UefiSettings.
	// Default: UefiSettings will not be enabled unless this property is set.
	SecurityType *SecurityProfile_SecurityType_STATUS `json:"securityType,omitempty"`

	// UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
	// Minimum api-version: 2020-12-01
	UefiSettings *UefiSettings_STATUS `json:"uefiSettings,omitempty"`
}

Specifies the Security profile settings for the virtual machine or virtual machine scale set.

type SecurityProfile_SecurityType

type SecurityProfile_SecurityType string

+kubebuilder:validation:Enum={"ConfidentialVM","TrustedLaunch"}

type SecurityProfile_SecurityType_STATUS

type SecurityProfile_SecurityType_STATUS string

type Sku

type Sku struct {
	// Capacity: Specifies the number of virtual machines in the scale set.
	Capacity *int `json:"capacity,omitempty"`

	// Name: The sku name.
	Name *string `json:"name,omitempty"`

	// Tier: Specifies the tier of virtual machines in a scale set.
	// Possible Values:
	// Standard
	// Basic
	Tier *string `json:"tier,omitempty"`
}

Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name.

type Sku_STATUS

type Sku_STATUS struct {
	// Capacity: Specifies the number of virtual machines in the scale set.
	Capacity *int `json:"capacity,omitempty"`

	// Name: The sku name.
	Name *string `json:"name,omitempty"`

	// Tier: Specifies the tier of virtual machines in a scale set.
	// Possible Values:
	// Standard
	// Basic
	Tier *string `json:"tier,omitempty"`
}

Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name.

type SpotRestorePolicy

type SpotRestorePolicy struct {
	// Enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored
	// opportunistically based on capacity availability and pricing constraints
	Enabled *bool `json:"enabled,omitempty"`

	// RestoreTimeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore
	// the VMSS SPOT instances
	RestoreTimeout *string `json:"restoreTimeout,omitempty"`
}

Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint.

type SpotRestorePolicy_STATUS

type SpotRestorePolicy_STATUS struct {
	// Enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored
	// opportunistically based on capacity availability and pricing constraints
	Enabled *bool `json:"enabled,omitempty"`

	// RestoreTimeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore
	// the VMSS SPOT instances
	RestoreTimeout *string `json:"restoreTimeout,omitempty"`
}

Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint.

type SshConfiguration

type SshConfiguration struct {
	// PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.
	PublicKeys []SshPublicKeySpec `json:"publicKeys,omitempty"`
}

SSH configuration for Linux based VMs running on Azure

type SshConfiguration_STATUS

type SshConfiguration_STATUS struct {
	// PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.
	PublicKeys []SshPublicKey_STATUS `json:"publicKeys,omitempty"`
}

SSH configuration for Linux based VMs running on Azure

type SshPublicKeySpec

type SshPublicKeySpec struct {
	// KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit
	// and in ssh-rsa format.
	// For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in
	// Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
	KeyData *string `json:"keyData,omitempty"`

	// Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the
	// specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
	Path *string `json:"path,omitempty"`
}

Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.

type SshPublicKey_STATUS

type SshPublicKey_STATUS struct {
	// KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit
	// and in ssh-rsa format.
	// For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in
	// Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
	KeyData *string `json:"keyData,omitempty"`

	// Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the
	// specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
	Path *string `json:"path,omitempty"`
}

Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.

type StorageAccountType

type StorageAccountType string

Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types +kubebuilder:validation:Enum={"PremiumV2_LRS","Premium_LRS","Premium_ZRS","StandardSSD_LRS","StandardSSD_ZRS","Standard_LRS","UltraSSD_LRS"}

type StorageAccountType_STATUS

type StorageAccountType_STATUS string

Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types

type StorageProfile

type StorageProfile struct {
	// DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []DataDisk `json:"dataDisks,omitempty"`

	// ImageReference: Specifies information about the image to use. You can specify information about platform images,
	// marketplace images, or virtual machine images. This element is required when you want to use a platform image,
	// marketplace image, or virtual machine image, but is not used in other creation operations.
	ImageReference *ImageReference `json:"imageReference,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *OSDisk `json:"osDisk,omitempty"`
}

Specifies the storage settings for the virtual machine disks.

type StorageProfile_STATUS

type StorageProfile_STATUS struct {
	// DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []DataDisk_STATUS `json:"dataDisks,omitempty"`

	// ImageReference: Specifies information about the image to use. You can specify information about platform images,
	// marketplace images, or virtual machine images. This element is required when you want to use a platform image,
	// marketplace image, or virtual machine image, but is not used in other creation operations.
	ImageReference *ImageReference_STATUS `json:"imageReference,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machine.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *OSDisk_STATUS `json:"osDisk,omitempty"`
}

Specifies the storage settings for the virtual machine disks.

type SubResource

type SubResource struct {
	Id *string `json:"id,omitempty"`
}

type SubResource_STATUS

type SubResource_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`
}

type TerminateNotificationProfile

type TerminateNotificationProfile struct {
	// Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.
	Enable *bool `json:"enable,omitempty"`

	// NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the
	// Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601
	// format, the default value is 5 minutes (PT5M)
	NotBeforeTimeout *string `json:"notBeforeTimeout,omitempty"`
}

type TerminateNotificationProfile_STATUS

type TerminateNotificationProfile_STATUS struct {
	// Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.
	Enable *bool `json:"enable,omitempty"`

	// NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the
	// Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601
	// format, the default value is 5 minutes (PT5M)
	NotBeforeTimeout *string `json:"notBeforeTimeout,omitempty"`
}

type UefiSettings

type UefiSettings struct {
	// SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine.
	// Minimum api-version: 2020-12-01
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty"`

	// VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine.
	// Minimum api-version: 2020-12-01
	VTpmEnabled *bool `json:"vTpmEnabled,omitempty"`
}

Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01

type UefiSettings_STATUS

type UefiSettings_STATUS struct {
	// SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine.
	// Minimum api-version: 2020-12-01
	SecureBootEnabled *bool `json:"secureBootEnabled,omitempty"`

	// VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine.
	// Minimum api-version: 2020-12-01
	VTpmEnabled *bool `json:"vTpmEnabled,omitempty"`
}

Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01

type UpgradePolicy

type UpgradePolicy struct {
	// AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.
	AutomaticOSUpgradePolicy *AutomaticOSUpgradePolicy `json:"automaticOSUpgradePolicy,omitempty"`

	// Mode: Specifies the mode of an upgrade to virtual machines in the scale set.
	// Possible values are:
	// Manual - You  control the application of updates to virtual machines in the scale set. You do this by using the
	// manualUpgrade action.
	// Automatic - All virtual machines in the scale set are  automatically updated at the same time.
	Mode *UpgradePolicy_Mode `json:"mode,omitempty"`

	// RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.
	RollingUpgradePolicy *RollingUpgradePolicy `json:"rollingUpgradePolicy,omitempty"`
}

Describes an upgrade policy - automatic, manual, or rolling.

type UpgradePolicy_Mode

type UpgradePolicy_Mode string

+kubebuilder:validation:Enum={"Automatic","Manual","Rolling"}

type UpgradePolicy_Mode_STATUS

type UpgradePolicy_Mode_STATUS string

type UpgradePolicy_STATUS

type UpgradePolicy_STATUS struct {
	// AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.
	AutomaticOSUpgradePolicy *AutomaticOSUpgradePolicy_STATUS `json:"automaticOSUpgradePolicy,omitempty"`

	// Mode: Specifies the mode of an upgrade to virtual machines in the scale set.
	// Possible values are:
	// Manual - You  control the application of updates to virtual machines in the scale set. You do this by using the
	// manualUpgrade action.
	// Automatic - All virtual machines in the scale set are  automatically updated at the same time.
	Mode *UpgradePolicy_Mode_STATUS `json:"mode,omitempty"`

	// RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.
	RollingUpgradePolicy *RollingUpgradePolicy_STATUS `json:"rollingUpgradePolicy,omitempty"`
}

Describes an upgrade policy - automatic, manual, or rolling.

type UserAssignedIdentityDetails

type UserAssignedIdentityDetails struct {
}

Information about the user assigned identity for the resource

type VMDiskSecurityProfile

type VMDiskSecurityProfile struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for
	// Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
	DiskEncryptionSet *SubResource `json:"diskEncryptionSet,omitempty"`

	// SecurityEncryptionType: Specifies the EncryptionType of the managed disk.
	// It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly
	// for encryption of just the VMGuestState blob.
	// NOTE: It can be set for only Confidential VMs.
	SecurityEncryptionType *VMDiskSecurityProfile_SecurityEncryptionType `json:"securityEncryptionType,omitempty"`
}

Specifies the security profile settings for the managed disk. NOTE: It can only be set for Confidential VMs

type VMDiskSecurityProfile_STATUS

type VMDiskSecurityProfile_STATUS struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for
	// Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
	DiskEncryptionSet *SubResource_STATUS `json:"diskEncryptionSet,omitempty"`

	// SecurityEncryptionType: Specifies the EncryptionType of the managed disk.
	// It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly
	// for encryption of just the VMGuestState blob.
	// NOTE: It can be set for only Confidential VMs.
	SecurityEncryptionType *VMDiskSecurityProfile_SecurityEncryptionType_STATUS `json:"securityEncryptionType,omitempty"`
}

Specifies the security profile settings for the managed disk. NOTE: It can only be set for Confidential VMs

type VMDiskSecurityProfile_SecurityEncryptionType

type VMDiskSecurityProfile_SecurityEncryptionType string

+kubebuilder:validation:Enum={"DiskWithVMGuestState","VMGuestStateOnly"}

type VMDiskSecurityProfile_SecurityEncryptionType_STATUS

type VMDiskSecurityProfile_SecurityEncryptionType_STATUS string

type VMGalleryApplication

type VMGalleryApplication struct {
	// ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the
	// package if provided
	ConfigurationReference *string `json:"configurationReference,omitempty"`

	// EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be
	// automatically updated for the VM/VMSS
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// Order: Optional, Specifies the order in which the packages have to be installed
	Order              *int    `json:"order,omitempty"`
	PackageReferenceId *string `json:"packageReferenceId,omitempty"`

	// Tags: Optional, Specifies a passthrough value for more generic context.
	Tags *string `json:"tags,omitempty"`

	// TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the
	// deployment
	TreatFailureAsDeploymentFailure *bool `json:"treatFailureAsDeploymentFailure,omitempty"`
}

Specifies the required information to reference a compute gallery application version

type VMGalleryApplication_STATUS

type VMGalleryApplication_STATUS struct {
	// ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the
	// package if provided
	ConfigurationReference *string `json:"configurationReference,omitempty"`

	// EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be
	// automatically updated for the VM/VMSS
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// Order: Optional, Specifies the order in which the packages have to be installed
	Order *int `json:"order,omitempty"`

	// PackageReferenceId: Specifies the GalleryApplicationVersion resource id on the form of
	// /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}
	PackageReferenceId *string `json:"packageReferenceId,omitempty"`

	// Tags: Optional, Specifies a passthrough value for more generic context.
	Tags *string `json:"tags,omitempty"`

	// TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the
	// deployment
	TreatFailureAsDeploymentFailure *bool `json:"treatFailureAsDeploymentFailure,omitempty"`
}

Specifies the required information to reference a compute gallery application version

type VMSizeProperties

type VMSizeProperties struct {
	// VCPUsAvailable: Specifies the number of vCPUs available for the VM.
	// When this property is not specified in the request body the default behavior is to set it to the value of vCPUs
	// available for that VM size exposed in api response of [List all available virtual machine sizes in a
	// region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) .
	VCPUsAvailable *int `json:"vCPUsAvailable,omitempty"`

	// VCPUsPerCore: Specifies the vCPU to physical core ratio.
	// When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the
	// VM Size exposed in api response of [List all available virtual machine sizes in a
	// region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)
	// Setting this property to 1 also means that hyper-threading is disabled.
	VCPUsPerCore *int `json:"vCPUsPerCore,omitempty"`
}

Specifies VM Size Property settings on the virtual machine.

type VMSizeProperties_STATUS

type VMSizeProperties_STATUS struct {
	// VCPUsAvailable: Specifies the number of vCPUs available for the VM.
	// When this property is not specified in the request body the default behavior is to set it to the value of vCPUs
	// available for that VM size exposed in api response of [List all available virtual machine sizes in a
	// region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) .
	VCPUsAvailable *int `json:"vCPUsAvailable,omitempty"`

	// VCPUsPerCore: Specifies the vCPU to physical core ratio.
	// When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the
	// VM Size exposed in api response of [List all available virtual machine sizes in a
	// region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)
	// Setting this property to 1 also means that hyper-threading is disabled.
	VCPUsPerCore *int `json:"vCPUsPerCore,omitempty"`
}

Specifies VM Size Property settings on the virtual machine.

type VaultCertificate

type VaultCertificate struct {
	// CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate
	// should be added. The specified certificate store is implicitly in the LocalMachine account.
	// For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name
	// <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both
	// of these files are .pem formatted.
	CertificateStore *string `json:"certificateStore,omitempty"`

	// CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to
	// the Key Vault, see [Add a key or secret to the key
	// vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to
	// be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
	// {
	// "data":"<Base64-encoded-certificate>",
	// "dataType":"pfx",
	// "password":"<pfx-file-password>"
	// }
	// To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	CertificateUrl *string `json:"certificateUrl,omitempty"`
}

Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.

type VaultCertificate_STATUS

type VaultCertificate_STATUS struct {
	// CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate
	// should be added. The specified certificate store is implicitly in the LocalMachine account.
	// For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name
	// &lt;UppercaseThumbprint&gt;.crt for the X509 certificate file and &lt;UppercaseThumbprint&gt;.prv for private key. Both
	// of these files are .pem formatted.
	CertificateStore *string `json:"certificateStore,omitempty"`

	// CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to
	// the Key Vault, see [Add a key or secret to the key
	// vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to
	// be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
	// {
	// "data":"<Base64-encoded-certificate>",
	// "dataType":"pfx",
	// "password":"<pfx-file-password>"
	// }
	// To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	CertificateUrl *string `json:"certificateUrl,omitempty"`
}

Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.

type VaultSecretGroup

type VaultSecretGroup struct {
	// SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
	SourceVault *SubResource `json:"sourceVault,omitempty"`

	// VaultCertificates: The list of key vault references in SourceVault which contain certificates.
	VaultCertificates []VaultCertificate `json:"vaultCertificates,omitempty"`
}

Describes a set of certificates which are all in the same Key Vault.

type VaultSecretGroup_STATUS

type VaultSecretGroup_STATUS struct {
	// SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
	SourceVault *SubResource_STATUS `json:"sourceVault,omitempty"`

	// VaultCertificates: The list of key vault references in SourceVault which contain certificates.
	VaultCertificates []VaultCertificate_STATUS `json:"vaultCertificates,omitempty"`
}

Describes a set of certificates which are all in the same Key Vault.

type VirtualHardDisk

type VirtualHardDisk struct {
	// Uri: Specifies the virtual hard disk's uri.
	Uri *string `json:"uri,omitempty"`
}

Describes the uri of a disk.

type VirtualHardDisk_STATUS

type VirtualHardDisk_STATUS struct {
	// Uri: Specifies the virtual hard disk's uri.
	Uri *string `json:"uri,omitempty"`
}

Describes the uri of a disk.

type VirtualMachineAgentInstanceView_STATUS

type VirtualMachineAgentInstanceView_STATUS struct {
	// ExtensionHandlers: The virtual machine extension handler instance view.
	ExtensionHandlers []VirtualMachineExtensionHandlerInstanceView_STATUS `json:"extensionHandlers,omitempty"`

	// Statuses: The resource status information.
	Statuses []InstanceViewStatus_STATUS `json:"statuses,omitempty"`

	// VmAgentVersion: The VM Agent full version.
	VmAgentVersion *string `json:"vmAgentVersion,omitempty"`
}

The instance view of the VM Agent running on the virtual machine.

type VirtualMachineExtensionHandlerInstanceView_STATUS

type VirtualMachineExtensionHandlerInstanceView_STATUS struct {
	// Status: The extension handler status.
	Status *InstanceViewStatus_STATUS `json:"status,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

The instance view of a virtual machine extension handler.

type VirtualMachineExtensionInstanceView

type VirtualMachineExtensionInstanceView struct {
	// Name: The virtual machine extension name.
	Name *string `json:"name,omitempty"`

	// Statuses: The resource status information.
	Statuses []InstanceViewStatus `json:"statuses,omitempty"`

	// Substatuses: The resource status information.
	Substatuses []InstanceViewStatus `json:"substatuses,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

The instance view of a virtual machine extension.

type VirtualMachineExtensionInstanceView_STATUS

type VirtualMachineExtensionInstanceView_STATUS struct {
	// Name: The virtual machine extension name.
	Name *string `json:"name,omitempty"`

	// Statuses: The resource status information.
	Statuses []InstanceViewStatus_STATUS `json:"statuses,omitempty"`

	// Substatuses: The resource status information.
	Substatuses []InstanceViewStatus_STATUS `json:"substatuses,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

The instance view of a virtual machine extension.

type VirtualMachineExtensionProperties

type VirtualMachineExtensionProperties struct {
	// AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at
	// deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this
	// property set to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"`

	// EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a
	// newer version of the extension available.
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty"`

	// InstanceView: The virtual machine extension instance view.
	InstanceView *VirtualMachineExtensionInstanceView `json:"instanceView,omitempty"`

	// ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected
	// settings at all.
	ProtectedSettings map[string]string `json:"protectedSettings,omitempty"`

	// ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key
	// vault
	ProtectedSettingsFromKeyVault *KeyVaultSecretReference `json:"protectedSettingsFromKeyVault,omitempty"`

	// Publisher: The name of the extension handler publisher.
	Publisher *string `json:"publisher,omitempty"`

	// Settings: Json formatted public settings for the extension.
	Settings map[string]v1.JSON `json:"settings,omitempty"`

	// SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such
	// as not connecting to the VM will not be suppressed regardless of this value). The default is false.
	SuppressFailures *bool `json:"suppressFailures,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

Describes the properties of a Virtual Machine Extension.

type VirtualMachineExtensionProperties_STATUS

type VirtualMachineExtensionProperties_STATUS struct {
	// AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at
	// deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this
	// property set to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"`

	// EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a
	// newer version of the extension available.
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty"`

	// InstanceView: The virtual machine extension instance view.
	InstanceView *VirtualMachineExtensionInstanceView_STATUS `json:"instanceView,omitempty"`

	// ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key
	// vault
	ProtectedSettingsFromKeyVault *KeyVaultSecretReference_STATUS `json:"protectedSettingsFromKeyVault,omitempty"`

	// ProvisioningState: The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// Publisher: The name of the extension handler publisher.
	Publisher *string `json:"publisher,omitempty"`

	// Settings: Json formatted public settings for the extension.
	Settings map[string]v1.JSON `json:"settings,omitempty"`

	// SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such
	// as not connecting to the VM will not be suppressed regardless of this value). The default is false.
	SuppressFailures *bool `json:"suppressFailures,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

Describes the properties of a Virtual Machine Extension.

type VirtualMachineExtension_STATUS

type VirtualMachineExtension_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`

	// Name: Resource name
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Extension.
	Properties *VirtualMachineExtensionProperties_STATUS `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`
}

Describes a Virtual Machine Extension.

type VirtualMachineHealthStatus_STATUS

type VirtualMachineHealthStatus_STATUS struct {
	// Status: The health status information for the VM.
	Status *InstanceViewStatus_STATUS `json:"status,omitempty"`
}

The health status of the VM.

type VirtualMachineIdentity

type VirtualMachineIdentity struct {
	// Type: The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an
	// implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the
	// virtual machine.
	Type                   *VirtualMachineIdentity_Type           `json:"type,omitempty"`
	UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"`
}

Identity for the virtual machine.

type VirtualMachineIdentity_STATUS

type VirtualMachineIdentity_STATUS struct {
	// PrincipalId: The principal id of virtual machine identity. This property will only be provided for a system assigned
	// identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: The tenant id associated with the virtual machine. This property will only be provided for a system assigned
	// identity.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an
	// implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the
	// virtual machine.
	Type *VirtualMachineIdentity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: The list of user identities associated with the Virtual Machine. The user identity dictionary
	// key references will be ARM resource ids in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
	UserAssignedIdentities map[string]VirtualMachineIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"`
}

Identity for the virtual machine.

type VirtualMachineIdentity_Type

type VirtualMachineIdentity_Type string

+kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned, UserAssigned","UserAssigned"}

type VirtualMachineIdentity_Type_STATUS

type VirtualMachineIdentity_Type_STATUS string

type VirtualMachineIdentity_UserAssignedIdentities_STATUS

type VirtualMachineIdentity_UserAssignedIdentities_STATUS struct {
	// ClientId: The client id of user assigned identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: The principal id of user assigned identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

type VirtualMachineInstanceView_HyperVGeneration_STATUS

type VirtualMachineInstanceView_HyperVGeneration_STATUS string

type VirtualMachineInstanceView_STATUS

type VirtualMachineInstanceView_STATUS struct {
	// AssignedHost: Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement,
	// when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
	// Minimum api-version: 2020-06-01.
	AssignedHost *string `json:"assignedHost,omitempty"`

	// BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to
	// diagnose VM status.
	// You can easily view the output of your console log.
	// Azure also enables you to see a screenshot of the VM from the hypervisor.
	BootDiagnostics *BootDiagnosticsInstanceView_STATUS `json:"bootDiagnostics,omitempty"`

	// ComputerName: The computer name assigned to the virtual machine.
	ComputerName *string `json:"computerName,omitempty"`

	// Disks: The virtual machine disk information.
	Disks []DiskInstanceView_STATUS `json:"disks,omitempty"`

	// Extensions: The extensions information.
	Extensions []VirtualMachineExtensionInstanceView_STATUS `json:"extensions,omitempty"`

	// HyperVGeneration: Specifies the HyperVGeneration Type associated with a resource
	HyperVGeneration *VirtualMachineInstanceView_HyperVGeneration_STATUS `json:"hyperVGeneration,omitempty"`

	// MaintenanceRedeployStatus: The Maintenance Operation status on the virtual machine.
	MaintenanceRedeployStatus *MaintenanceRedeployStatus_STATUS `json:"maintenanceRedeployStatus,omitempty"`

	// OsName: The Operating System running on the virtual machine.
	OsName *string `json:"osName,omitempty"`

	// OsVersion: The version of Operating System running on the virtual machine.
	OsVersion *string `json:"osVersion,omitempty"`

	// PatchStatus: [Preview Feature] The status of virtual machine patch operations.
	PatchStatus *VirtualMachinePatchStatus_STATUS `json:"patchStatus,omitempty"`

	// PlatformFaultDomain: Specifies the fault domain of the virtual machine.
	PlatformFaultDomain *int `json:"platformFaultDomain,omitempty"`

	// PlatformUpdateDomain: Specifies the update domain of the virtual machine.
	PlatformUpdateDomain *int `json:"platformUpdateDomain,omitempty"`

	// RdpThumbPrint: The Remote desktop certificate thumbprint.
	RdpThumbPrint *string `json:"rdpThumbPrint,omitempty"`

	// Statuses: The resource status information.
	Statuses []InstanceViewStatus_STATUS `json:"statuses,omitempty"`

	// VmAgent: The VM Agent running on the virtual machine.
	VmAgent *VirtualMachineAgentInstanceView_STATUS `json:"vmAgent,omitempty"`

	// VmHealth: The health status for the VM.
	VmHealth *VirtualMachineHealthStatus_STATUS `json:"vmHealth,omitempty"`
}

The instance view of a virtual machine.

type VirtualMachineIpTag

type VirtualMachineIpTag struct {
	// IpTagType: IP tag type. Example: FirstPartyUsage.
	IpTagType *string `json:"ipTagType,omitempty"`

	// Tag: IP tag associated with the public IP. Example: SQL, Storage etc.
	Tag *string `json:"tag,omitempty"`
}

Contains the IP tag associated with the public IP address.

type VirtualMachineIpTag_STATUS

type VirtualMachineIpTag_STATUS struct {
	// IpTagType: IP tag type. Example: FirstPartyUsage.
	IpTagType *string `json:"ipTagType,omitempty"`

	// Tag: IP tag associated with the public IP. Example: SQL, Storage etc.
	Tag *string `json:"tag,omitempty"`
}

Contains the IP tag associated with the public IP address.

type VirtualMachineNetworkInterfaceConfiguration

type VirtualMachineNetworkInterfaceConfiguration struct {
	// Name: The network interface configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine network profile's IP configuration.
	Properties *VirtualMachineNetworkInterfaceConfigurationProperties `json:"properties,omitempty"`
}

Describes a virtual machine network interface configurations.

type VirtualMachineNetworkInterfaceConfigurationProperties

type VirtualMachineNetworkInterfaceConfigurationProperties struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the network interfaces.
	DnsSettings       *VirtualMachineNetworkInterfaceDnsSettingsConfiguration `json:"dnsSettings,omitempty"`
	DscpConfiguration *SubResource                                            `json:"dscpConfiguration,omitempty"`

	// EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"`

	// EnableFpga: Specifies whether the network interface is FPGA networking-enabled.
	EnableFpga *bool `json:"enableFpga,omitempty"`

	// EnableIPForwarding: Whether IP forwarding enabled on this NIC.
	EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"`

	// IpConfigurations: Specifies the IP configurations of the network interface.
	IpConfigurations []VirtualMachineNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"`

	// NetworkSecurityGroup: The network security group.
	NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a virtual machine network profile's IP configuration.

type VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption

type VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption string

+kubebuilder:validation:Enum={"Delete","Detach"}

type VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS

type VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS string

type VirtualMachineNetworkInterfaceConfigurationProperties_STATUS

type VirtualMachineNetworkInterfaceConfigurationProperties_STATUS struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *VirtualMachineNetworkInterfaceConfigurationProperties_DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the network interfaces.
	DnsSettings       *VirtualMachineNetworkInterfaceDnsSettingsConfiguration_STATUS `json:"dnsSettings,omitempty"`
	DscpConfiguration *SubResource_STATUS                                            `json:"dscpConfiguration,omitempty"`

	// EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"`

	// EnableFpga: Specifies whether the network interface is FPGA networking-enabled.
	EnableFpga *bool `json:"enableFpga,omitempty"`

	// EnableIPForwarding: Whether IP forwarding enabled on this NIC.
	EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"`

	// IpConfigurations: Specifies the IP configurations of the network interface.
	IpConfigurations []VirtualMachineNetworkInterfaceIPConfiguration_STATUS `json:"ipConfigurations,omitempty"`

	// NetworkSecurityGroup: The network security group.
	NetworkSecurityGroup *SubResource_STATUS `json:"networkSecurityGroup,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a virtual machine network profile's IP configuration.

type VirtualMachineNetworkInterfaceConfiguration_STATUS

type VirtualMachineNetworkInterfaceConfiguration_STATUS struct {
	// Name: The network interface configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine network profile's IP configuration.
	Properties *VirtualMachineNetworkInterfaceConfigurationProperties_STATUS `json:"properties,omitempty"`
}

Describes a virtual machine network interface configurations.

type VirtualMachineNetworkInterfaceDnsSettingsConfiguration

type VirtualMachineNetworkInterfaceDnsSettingsConfiguration struct {
	// DnsServers: List of DNS servers IP addresses
	DnsServers []string `json:"dnsServers,omitempty"`
}

Describes a virtual machines network configuration's DNS settings.

type VirtualMachineNetworkInterfaceDnsSettingsConfiguration_STATUS

type VirtualMachineNetworkInterfaceDnsSettingsConfiguration_STATUS struct {
	// DnsServers: List of DNS servers IP addresses
	DnsServers []string `json:"dnsServers,omitempty"`
}

Describes a virtual machines network configuration's DNS settings.

type VirtualMachineNetworkInterfaceIPConfiguration

type VirtualMachineNetworkInterfaceIPConfiguration struct {
	// Name: The IP configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine network interface IP configuration properties.
	Properties *VirtualMachineNetworkInterfaceIPConfigurationProperties `json:"properties,omitempty"`
}

Describes a virtual machine network profile's IP configuration.

type VirtualMachineNetworkInterfaceIPConfigurationProperties

type VirtualMachineNetworkInterfaceIPConfigurationProperties struct {
	// ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application
	// gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual
	// machines cannot use the same application gateway.
	ApplicationGatewayBackendAddressPools []SubResource `json:"applicationGatewayBackendAddressPools,omitempty"`

	// ApplicationSecurityGroups: Specifies an array of references to application security group.
	ApplicationSecurityGroups []SubResource `json:"applicationSecurityGroups,omitempty"`

	// LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A virtual
	// machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines
	// cannot use the same basic sku load balancer].
	LoadBalancerBackendAddressPools []SubResource `json:"loadBalancerBackendAddressPools,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`

	// PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and 'IPv6'.
	PrivateIPAddressVersion *VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion `json:"privateIPAddressVersion,omitempty"`

	// PublicIPAddressConfiguration: The publicIPAddressConfiguration.
	PublicIPAddressConfiguration *VirtualMachinePublicIPAddressConfiguration `json:"publicIPAddressConfiguration,omitempty"`

	// Subnet: Specifies the identifier of the subnet.
	Subnet *SubResource `json:"subnet,omitempty"`
}

Describes a virtual machine network interface IP configuration properties.

type VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion

type VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion string

+kubebuilder:validation:Enum={"IPv4","IPv6"}

type VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS

type VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS string

type VirtualMachineNetworkInterfaceIPConfigurationProperties_STATUS

type VirtualMachineNetworkInterfaceIPConfigurationProperties_STATUS struct {
	// ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application
	// gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual
	// machines cannot use the same application gateway.
	ApplicationGatewayBackendAddressPools []SubResource_STATUS `json:"applicationGatewayBackendAddressPools,omitempty"`

	// ApplicationSecurityGroups: Specifies an array of references to application security group.
	ApplicationSecurityGroups []SubResource_STATUS `json:"applicationSecurityGroups,omitempty"`

	// LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A virtual
	// machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines
	// cannot use the same basic sku load balancer].
	LoadBalancerBackendAddressPools []SubResource_STATUS `json:"loadBalancerBackendAddressPools,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`

	// PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and 'IPv6'.
	PrivateIPAddressVersion *VirtualMachineNetworkInterfaceIPConfigurationProperties_PrivateIPAddressVersion_STATUS `json:"privateIPAddressVersion,omitempty"`

	// PublicIPAddressConfiguration: The publicIPAddressConfiguration.
	PublicIPAddressConfiguration *VirtualMachinePublicIPAddressConfiguration_STATUS `json:"publicIPAddressConfiguration,omitempty"`

	// Subnet: Specifies the identifier of the subnet.
	Subnet *SubResource_STATUS `json:"subnet,omitempty"`
}

Describes a virtual machine network interface IP configuration properties.

type VirtualMachineNetworkInterfaceIPConfiguration_STATUS

type VirtualMachineNetworkInterfaceIPConfiguration_STATUS struct {
	// Name: The IP configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine network interface IP configuration properties.
	Properties *VirtualMachineNetworkInterfaceIPConfigurationProperties_STATUS `json:"properties,omitempty"`
}

Describes a virtual machine network profile's IP configuration.

type VirtualMachinePatchStatus_STATUS

type VirtualMachinePatchStatus_STATUS struct {
	// AvailablePatchSummary: The available patch summary of the latest assessment operation for the virtual machine.
	AvailablePatchSummary *AvailablePatchSummary_STATUS `json:"availablePatchSummary,omitempty"`

	// ConfigurationStatuses: The enablement status of the specified patchMode
	ConfigurationStatuses []InstanceViewStatus_STATUS `json:"configurationStatuses,omitempty"`

	// LastPatchInstallationSummary: The installation summary of the latest installation operation for the virtual machine.
	LastPatchInstallationSummary *LastPatchInstallationSummary_STATUS `json:"lastPatchInstallationSummary,omitempty"`
}

The status of virtual machine patch operations.

type VirtualMachineProperties

type VirtualMachineProperties struct {
	// AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.
	AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"`

	// ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS
	ApplicationProfile *ApplicationProfile `json:"applicationProfile,omitempty"`

	// AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to.
	// Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For
	// more information about availability sets, see [Availability sets
	// overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
	// For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in
	// Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
	// Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being
	// added should be under the same resource group as the availability set resource. An existing VM cannot be added to an
	// availability set.
	// This property cannot exist along with a non-null properties.virtualMachineScaleSet reference.
	AvailabilitySet *SubResource `json:"availabilitySet,omitempty"`

	// BillingProfile: Specifies the billing related details of a Azure Spot virtual machine.
	// Minimum api-version: 2019-03-01.
	BillingProfile *BillingProfile `json:"billingProfile,omitempty"`

	// CapacityReservation: Specifies information about the capacity reservation that is used to allocate virtual machine.
	// Minimum api-version: 2021-04-01.
	CapacityReservation *CapacityReservationProfile `json:"capacityReservation,omitempty"`

	// DiagnosticsProfile: Specifies the boot diagnostic settings state.
	// Minimum api-version: 2015-06-15.
	DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"`

	// EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
	// For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
	// For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is
	// 2017-10-30-preview.
	EvictionPolicy *EvictionPolicy `json:"evictionPolicy,omitempty"`

	// ExtensionsTimeBudget: 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. The default value is 90 minutes
	// (PT1H30M).
	// Minimum api-version: 2020-06-01
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty"`

	// HardwareProfile: Specifies the hardware settings for the virtual machine.
	HardwareProfile *HardwareProfile `json:"hardwareProfile,omitempty"`

	// Host: Specifies information about the dedicated host that the virtual machine resides in.
	// Minimum api-version: 2018-10-01.
	Host *SubResource `json:"host,omitempty"`

	// HostGroup: Specifies information about the dedicated host group that the virtual machine resides in.
	// Minimum api-version: 2020-06-01.
	// NOTE: User cannot specify both host and hostGroup properties.
	HostGroup *SubResource `json:"hostGroup,omitempty"`

	// LicenseType: Specifies that the image or disk that is being used was licensed on-premises.
	// Possible values for Windows Server operating system are:
	// Windows_Client
	// Windows_Server
	// Possible values for Linux Server operating system are:
	// RHEL_BYOS (for RHEL)
	// SLES_BYOS (for SUSE)
	// For more information, see [Azure Hybrid Use Benefit for Windows
	// Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
	// [Azure Hybrid Use Benefit for Linux
	// Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
	// Minimum api-version: 2015-06-15
	LicenseType *string `json:"licenseType,omitempty"`

	// NetworkProfile: Specifies the network interfaces of the virtual machine.
	NetworkProfile *NetworkProfile `json:"networkProfile,omitempty"`

	// OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot
	// be changed once VM is provisioned.
	OsProfile *OSProfile `json:"osProfile,omitempty"`

	// PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By
	// default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across
	// available fault domains.
	// <li>This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.<li>The Virtual
	// Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &gt; 1.<li>This property cannot be updated
	// once the Virtual Machine is created.<li>Fault domain assignment can be viewed in the Virtual Machine Instance View.
	// Minimum api‐version: 2020‐12‐01
	PlatformFaultDomain *int `json:"platformFaultDomain,omitempty"`

	// Priority: Specifies the priority for the virtual machine.
	// Minimum api-version: 2019-03-01
	Priority *Priority `json:"priority,omitempty"`

	// ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be
	// assigned to.
	// Minimum api-version: 2018-04-01.
	ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"`

	// ScheduledEventsProfile: Specifies Scheduled Event related configurations.
	ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"`

	// SecurityProfile: Specifies the Security related profile settings for the virtual machine.
	SecurityProfile *SecurityProfile `json:"securityProfile,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *StorageProfile `json:"storageProfile,omitempty"`

	// UserData: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
	// Minimum api-version: 2021-03-01
	UserData *string `json:"userData,omitempty"`

	// VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be
	// assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to
	// maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM
	// cannot be added to a virtual machine scale set.
	// This property cannot exist along with a non-null properties.availabilitySet reference.
	// Minimum api‐version: 2019‐03‐01
	VirtualMachineScaleSet *SubResource `json:"virtualMachineScaleSet,omitempty"`
}

Describes the properties of a Virtual Machine.

type VirtualMachineProperties_STATUS

type VirtualMachineProperties_STATUS struct {
	// AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.
	AdditionalCapabilities *AdditionalCapabilities_STATUS `json:"additionalCapabilities,omitempty"`

	// ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS
	ApplicationProfile *ApplicationProfile_STATUS `json:"applicationProfile,omitempty"`

	// AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to.
	// Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For
	// more information about availability sets, see [Availability sets
	// overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
	// For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in
	// Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
	// Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being
	// added should be under the same resource group as the availability set resource. An existing VM cannot be added to an
	// availability set.
	// This property cannot exist along with a non-null properties.virtualMachineScaleSet reference.
	AvailabilitySet *SubResource_STATUS `json:"availabilitySet,omitempty"`

	// BillingProfile: Specifies the billing related details of a Azure Spot virtual machine.
	// Minimum api-version: 2019-03-01.
	BillingProfile *BillingProfile_STATUS `json:"billingProfile,omitempty"`

	// CapacityReservation: Specifies information about the capacity reservation that is used to allocate virtual machine.
	// Minimum api-version: 2021-04-01.
	CapacityReservation *CapacityReservationProfile_STATUS `json:"capacityReservation,omitempty"`

	// DiagnosticsProfile: Specifies the boot diagnostic settings state.
	// Minimum api-version: 2015-06-15.
	DiagnosticsProfile *DiagnosticsProfile_STATUS `json:"diagnosticsProfile,omitempty"`

	// EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
	// For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
	// For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is
	// 2017-10-30-preview.
	EvictionPolicy *EvictionPolicy_STATUS `json:"evictionPolicy,omitempty"`

	// ExtensionsTimeBudget: 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. The default value is 90 minutes
	// (PT1H30M).
	// Minimum api-version: 2020-06-01
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty"`

	// HardwareProfile: Specifies the hardware settings for the virtual machine.
	HardwareProfile *HardwareProfile_STATUS `json:"hardwareProfile,omitempty"`

	// Host: Specifies information about the dedicated host that the virtual machine resides in.
	// Minimum api-version: 2018-10-01.
	Host *SubResource_STATUS `json:"host,omitempty"`

	// HostGroup: Specifies information about the dedicated host group that the virtual machine resides in.
	// Minimum api-version: 2020-06-01.
	// NOTE: User cannot specify both host and hostGroup properties.
	HostGroup *SubResource_STATUS `json:"hostGroup,omitempty"`

	// InstanceView: The virtual machine instance view.
	InstanceView *VirtualMachineInstanceView_STATUS `json:"instanceView,omitempty"`

	// LicenseType: Specifies that the image or disk that is being used was licensed on-premises.
	// Possible values for Windows Server operating system are:
	// Windows_Client
	// Windows_Server
	// Possible values for Linux Server operating system are:
	// RHEL_BYOS (for RHEL)
	// SLES_BYOS (for SUSE)
	// For more information, see [Azure Hybrid Use Benefit for Windows
	// Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
	// [Azure Hybrid Use Benefit for Linux
	// Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
	// Minimum api-version: 2015-06-15
	LicenseType *string `json:"licenseType,omitempty"`

	// NetworkProfile: Specifies the network interfaces of the virtual machine.
	NetworkProfile *NetworkProfile_STATUS `json:"networkProfile,omitempty"`

	// OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot
	// be changed once VM is provisioned.
	OsProfile *OSProfile_STATUS `json:"osProfile,omitempty"`

	// PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By
	// default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across
	// available fault domains.
	// <li>This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.<li>The Virtual
	// Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &gt; 1.<li>This property cannot be updated
	// once the Virtual Machine is created.<li>Fault domain assignment can be viewed in the Virtual Machine Instance View.
	// Minimum api‐version: 2020‐12‐01
	PlatformFaultDomain *int `json:"platformFaultDomain,omitempty"`

	// Priority: Specifies the priority for the virtual machine.
	// Minimum api-version: 2019-03-01
	Priority *Priority_STATUS `json:"priority,omitempty"`

	// ProvisioningState: The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be
	// assigned to.
	// Minimum api-version: 2018-04-01.
	ProximityPlacementGroup *SubResource_STATUS `json:"proximityPlacementGroup,omitempty"`

	// ScheduledEventsProfile: Specifies Scheduled Event related configurations.
	ScheduledEventsProfile *ScheduledEventsProfile_STATUS `json:"scheduledEventsProfile,omitempty"`

	// SecurityProfile: Specifies the Security related profile settings for the virtual machine.
	SecurityProfile *SecurityProfile_STATUS `json:"securityProfile,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *StorageProfile_STATUS `json:"storageProfile,omitempty"`

	// TimeCreated: Specifies the time at which the Virtual Machine resource was created.
	// Minimum api-version: 2022-03-01.
	TimeCreated *string `json:"timeCreated,omitempty"`

	// UserData: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
	// Minimum api-version: 2021-03-01
	UserData *string `json:"userData,omitempty"`

	// VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be
	// assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to
	// maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM
	// cannot be added to a virtual machine scale set.
	// This property cannot exist along with a non-null properties.availabilitySet reference.
	// Minimum api‐version: 2019‐03‐01
	VirtualMachineScaleSet *SubResource_STATUS `json:"virtualMachineScaleSet,omitempty"`

	// VmId: Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS
	// and can be read using platform BIOS commands.
	VmId *string `json:"vmId,omitempty"`
}

Describes the properties of a Virtual Machine.

type VirtualMachinePublicIPAddressConfiguration

type VirtualMachinePublicIPAddressConfiguration struct {
	// Name: The publicIP address configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machines IP Configuration's PublicIPAddress configuration
	Properties *VirtualMachinePublicIPAddressConfigurationProperties `json:"properties,omitempty"`

	// Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.
	Sku *PublicIPAddressSku `json:"sku,omitempty"`
}

Describes a virtual machines IP Configuration's PublicIPAddress configuration

type VirtualMachinePublicIPAddressConfigurationProperties

type VirtualMachinePublicIPAddressConfigurationProperties struct {
	// DeleteOption: Specify what happens to the public IP address when the VM is deleted
	DeleteOption *VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the publicIP addresses .
	DnsSettings *VirtualMachinePublicIPAddressDnsSettingsConfiguration `json:"dnsSettings,omitempty"`

	// IdleTimeoutInMinutes: The idle timeout of the public IP address.
	IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"`

	// IpTags: The list of IP tags associated with the public IP address.
	IpTags []VirtualMachineIpTag `json:"ipTags,omitempty"`

	// PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
	PublicIPAddressVersion *VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion `json:"publicIPAddressVersion,omitempty"`

	// PublicIPAllocationMethod: Specify the public IP allocation type
	PublicIPAllocationMethod *VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod `json:"publicIPAllocationMethod,omitempty"`

	// PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.
	PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"`
}

Describes a virtual machines IP Configuration's PublicIPAddress configuration

type VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption

type VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption string

+kubebuilder:validation:Enum={"Delete","Detach"}

type VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS

type VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS string

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion string

+kubebuilder:validation:Enum={"IPv4","IPv6"}

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS string

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod string

+kubebuilder:validation:Enum={"Dynamic","Static"}

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS

type VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS string

type VirtualMachinePublicIPAddressConfigurationProperties_STATUS

type VirtualMachinePublicIPAddressConfigurationProperties_STATUS struct {
	// DeleteOption: Specify what happens to the public IP address when the VM is deleted
	DeleteOption *VirtualMachinePublicIPAddressConfigurationProperties_DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the publicIP addresses .
	DnsSettings *VirtualMachinePublicIPAddressDnsSettingsConfiguration_STATUS `json:"dnsSettings,omitempty"`

	// IdleTimeoutInMinutes: The idle timeout of the public IP address.
	IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"`

	// IpTags: The list of IP tags associated with the public IP address.
	IpTags []VirtualMachineIpTag_STATUS `json:"ipTags,omitempty"`

	// PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
	PublicIPAddressVersion *VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS `json:"publicIPAddressVersion,omitempty"`

	// PublicIPAllocationMethod: Specify the public IP allocation type
	PublicIPAllocationMethod *VirtualMachinePublicIPAddressConfigurationProperties_PublicIPAllocationMethod_STATUS `json:"publicIPAllocationMethod,omitempty"`

	// PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.
	PublicIPPrefix *SubResource_STATUS `json:"publicIPPrefix,omitempty"`
}

Describes a virtual machines IP Configuration's PublicIPAddress configuration

type VirtualMachinePublicIPAddressConfiguration_STATUS

type VirtualMachinePublicIPAddressConfiguration_STATUS struct {
	// Name: The publicIP address configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machines IP Configuration's PublicIPAddress configuration
	Properties *VirtualMachinePublicIPAddressConfigurationProperties_STATUS `json:"properties,omitempty"`

	// Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.
	Sku *PublicIPAddressSku_STATUS `json:"sku,omitempty"`
}

Describes a virtual machines IP Configuration's PublicIPAddress configuration

type VirtualMachinePublicIPAddressDnsSettingsConfiguration

type VirtualMachinePublicIPAddressDnsSettingsConfiguration struct {
	// DomainNameLabel: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name
	// label is the concatenation of the domain name label and vm network profile unique ID.
	DomainNameLabel *string `json:"domainNameLabel,omitempty"`
}

Describes a virtual machines network configuration's DNS settings.

type VirtualMachinePublicIPAddressDnsSettingsConfiguration_STATUS

type VirtualMachinePublicIPAddressDnsSettingsConfiguration_STATUS struct {
	// DomainNameLabel: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name
	// label is the concatenation of the domain name label and vm network profile unique ID.
	DomainNameLabel *string `json:"domainNameLabel,omitempty"`
}

Describes a virtual machines network configuration's DNS settings.

type VirtualMachineScaleSetDataDisk

type VirtualMachineScaleSetDataDisk struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching `json:"caching,omitempty"`

	// CreateOption: The create option.
	CreateOption *CreateOption `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is
	// available for VMSS with Flexible OrchestrationMode only).
	// Possible values:
	// Delete If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.
	// Detach If this value is used, the data disk is retained after VMSS Flex VM is deleted.
	// The default value is set to Delete.
	DeleteOption *DeleteOption `json:"deleteOption,omitempty"`

	// DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is
	// UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
	DiskIOPSReadWrite *int `json:"diskIOPSReadWrite,omitempty"`

	// DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when
	// StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
	DiskMBpsReadWrite *int `json:"diskMBpsReadWrite,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a virtual machine scale set data disk.

type VirtualMachineScaleSetDataDisk_STATUS

type VirtualMachineScaleSetDataDisk_STATUS struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching_STATUS `json:"caching,omitempty"`

	// CreateOption: The create option.
	CreateOption *CreateOption_STATUS `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is
	// available for VMSS with Flexible OrchestrationMode only).
	// Possible values:
	// Delete If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.
	// Detach If this value is used, the data disk is retained after VMSS Flex VM is deleted.
	// The default value is set to Delete.
	DeleteOption *DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is
	// UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
	DiskIOPSReadWrite *int `json:"diskIOPSReadWrite,omitempty"`

	// DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when
	// StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
	DiskMBpsReadWrite *int `json:"diskMBpsReadWrite,omitempty"`

	// DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the
	// disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and
	// therefore must be unique for each data disk attached to a VM.
	Lun *int `json:"lun,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *VirtualMachineScaleSetManagedDiskParameters_STATUS `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a virtual machine scale set data disk.

type VirtualMachineScaleSetExtension

type VirtualMachineScaleSetExtension struct {
	// Name: The name of the extension.
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set Extension.
	Properties *VirtualMachineScaleSetExtensionProperties `json:"properties,omitempty"`
}

Describes a Virtual Machine Scale Set Extension.

type VirtualMachineScaleSetExtensionProfile

type VirtualMachineScaleSetExtensionProfile struct {
	// Extensions: The virtual machine scale set child extension resources.
	Extensions []VirtualMachineScaleSetExtension `json:"extensions,omitempty"`

	// ExtensionsTimeBudget: 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. The default value is 90 minutes
	// (PT1H30M).
	// Minimum api-version: 2020-06-01
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty"`
}

Describes a virtual machine scale set extension profile.

type VirtualMachineScaleSetExtensionProfile_STATUS

type VirtualMachineScaleSetExtensionProfile_STATUS struct {
	// Extensions: The virtual machine scale set child extension resources.
	Extensions []VirtualMachineScaleSetExtension_STATUS `json:"extensions,omitempty"`

	// ExtensionsTimeBudget: 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. The default value is 90 minutes
	// (PT1H30M).
	// Minimum api-version: 2020-06-01
	ExtensionsTimeBudget *string `json:"extensionsTimeBudget,omitempty"`
}

Describes a virtual machine scale set extension profile.

type VirtualMachineScaleSetExtensionProperties

type VirtualMachineScaleSetExtensionProperties struct {
	// AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at
	// deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this
	// property set to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"`

	// EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a
	// newer version of the extension available.
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to
	// update even if the extension configuration has not changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty"`

	// ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected
	// settings at all.
	ProtectedSettings map[string]string `json:"protectedSettings,omitempty"`

	// ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key
	// vault
	ProtectedSettingsFromKeyVault *KeyVaultSecretReference `json:"protectedSettingsFromKeyVault,omitempty"`

	// ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.
	ProvisionAfterExtensions []string `json:"provisionAfterExtensions,omitempty"`

	// Publisher: The name of the extension handler publisher.
	Publisher *string `json:"publisher,omitempty"`

	// Settings: Json formatted public settings for the extension.
	Settings map[string]v1.JSON `json:"settings,omitempty"`

	// SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such
	// as not connecting to the VM will not be suppressed regardless of this value). The default is false.
	SuppressFailures *bool `json:"suppressFailures,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

Describes the properties of a Virtual Machine Scale Set Extension.

type VirtualMachineScaleSetExtensionProperties_STATUS

type VirtualMachineScaleSetExtensionProperties_STATUS struct {
	// AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at
	// deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this
	// property set to true.
	AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"`

	// EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a
	// newer version of the extension available.
	EnableAutomaticUpgrade *bool `json:"enableAutomaticUpgrade,omitempty"`

	// ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to
	// update even if the extension configuration has not changed.
	ForceUpdateTag *string `json:"forceUpdateTag,omitempty"`

	// ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key
	// vault
	ProtectedSettingsFromKeyVault *KeyVaultSecretReference_STATUS `json:"protectedSettingsFromKeyVault,omitempty"`

	// ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.
	ProvisionAfterExtensions []string `json:"provisionAfterExtensions,omitempty"`

	// ProvisioningState: The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// Publisher: The name of the extension handler publisher.
	Publisher *string `json:"publisher,omitempty"`

	// Settings: Json formatted public settings for the extension.
	Settings map[string]v1.JSON `json:"settings,omitempty"`

	// SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such
	// as not connecting to the VM will not be suppressed regardless of this value). The default is false.
	SuppressFailures *bool `json:"suppressFailures,omitempty"`

	// Type: Specifies the type of the extension; an example is "CustomScriptExtension".
	Type *string `json:"type,omitempty"`

	// TypeHandlerVersion: Specifies the version of the script handler.
	TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"`
}

Describes the properties of a Virtual Machine Scale Set Extension.

type VirtualMachineScaleSetExtension_STATUS

type VirtualMachineScaleSetExtension_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Name: The name of the extension.
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set Extension.
	Properties *VirtualMachineScaleSetExtensionProperties_STATUS `json:"properties,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`
}

Describes a Virtual Machine Scale Set Extension.

type VirtualMachineScaleSetHardwareProfile

type VirtualMachineScaleSetHardwareProfile struct {
	// VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version:
	// 2022-03-01.
	// Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details.
	VmSizeProperties *VMSizeProperties `json:"vmSizeProperties,omitempty"`
}

Specifies the hardware settings for the virtual machine scale set.

type VirtualMachineScaleSetHardwareProfile_STATUS

type VirtualMachineScaleSetHardwareProfile_STATUS struct {
	// VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version:
	// 2022-03-01.
	// Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details.
	VmSizeProperties *VMSizeProperties_STATUS `json:"vmSizeProperties,omitempty"`
}

Specifies the hardware settings for the virtual machine scale set.

type VirtualMachineScaleSetIPConfiguration

type VirtualMachineScaleSetIPConfiguration struct {
	Id *string `json:"id,omitempty"`

	// Name: The IP configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine scale set network profile's IP configuration properties.
	Properties *VirtualMachineScaleSetIPConfigurationProperties `json:"properties,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration.

type VirtualMachineScaleSetIPConfigurationProperties

type VirtualMachineScaleSetIPConfigurationProperties struct {
	// ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application
	// gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot
	// use the same application gateway.
	ApplicationGatewayBackendAddressPools []SubResource `json:"applicationGatewayBackendAddressPools,omitempty"`

	// ApplicationSecurityGroups: Specifies an array of references to application security group.
	ApplicationSecurityGroups []SubResource `json:"applicationSecurityGroups,omitempty"`

	// LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale
	// set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the
	// same basic sku load balancer.
	LoadBalancerBackendAddressPools []SubResource `json:"loadBalancerBackendAddressPools,omitempty"`

	// LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set
	// can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same
	// basic sku load balancer.
	LoadBalancerInboundNatPools []SubResource `json:"loadBalancerInboundNatPools,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`

	// PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and 'IPv6'.
	PrivateIPAddressVersion *VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion `json:"privateIPAddressVersion,omitempty"`

	// PublicIPAddressConfiguration: The publicIPAddressConfiguration.
	PublicIPAddressConfiguration *VirtualMachineScaleSetPublicIPAddressConfiguration `json:"publicIPAddressConfiguration,omitempty"`

	// Subnet: Specifies the identifier of the subnet.
	Subnet *ApiEntityReference `json:"subnet,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration properties.

type VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion

type VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion string

+kubebuilder:validation:Enum={"IPv4","IPv6"}

type VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS

type VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS string

type VirtualMachineScaleSetIPConfigurationProperties_STATUS

type VirtualMachineScaleSetIPConfigurationProperties_STATUS struct {
	// ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application
	// gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot
	// use the same application gateway.
	ApplicationGatewayBackendAddressPools []SubResource_STATUS `json:"applicationGatewayBackendAddressPools,omitempty"`

	// ApplicationSecurityGroups: Specifies an array of references to application security group.
	ApplicationSecurityGroups []SubResource_STATUS `json:"applicationSecurityGroups,omitempty"`

	// LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale
	// set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the
	// same basic sku load balancer.
	LoadBalancerBackendAddressPools []SubResource_STATUS `json:"loadBalancerBackendAddressPools,omitempty"`

	// LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set
	// can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same
	// basic sku load balancer.
	LoadBalancerInboundNatPools []SubResource_STATUS `json:"loadBalancerInboundNatPools,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`

	// PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and 'IPv6'.
	PrivateIPAddressVersion *VirtualMachineScaleSetIPConfigurationProperties_PrivateIPAddressVersion_STATUS `json:"privateIPAddressVersion,omitempty"`

	// PublicIPAddressConfiguration: The publicIPAddressConfiguration.
	PublicIPAddressConfiguration *VirtualMachineScaleSetPublicIPAddressConfiguration_STATUS `json:"publicIPAddressConfiguration,omitempty"`

	// Subnet: Specifies the identifier of the subnet.
	Subnet *ApiEntityReference_STATUS `json:"subnet,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration properties.

type VirtualMachineScaleSetIPConfiguration_STATUS

type VirtualMachineScaleSetIPConfiguration_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Name: The IP configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine scale set network profile's IP configuration properties.
	Properties *VirtualMachineScaleSetIPConfigurationProperties_STATUS `json:"properties,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration.

type VirtualMachineScaleSetIdentity

type VirtualMachineScaleSetIdentity struct {
	// Type: The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both
	// an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from
	// the virtual machine scale set.
	Type                   *VirtualMachineScaleSetIdentity_Type   `json:"type,omitempty"`
	UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"`
}

Identity for the virtual machine scale set.

type VirtualMachineScaleSetIdentity_STATUS

type VirtualMachineScaleSetIdentity_STATUS struct {
	// PrincipalId: The principal id of virtual machine scale set identity. This property will only be provided for a system
	// assigned identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: The tenant id associated with the virtual machine scale set. This property will only be provided for a system
	// assigned identity.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both
	// an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from
	// the virtual machine scale set.
	Type *VirtualMachineScaleSetIdentity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: The list of user identities associated with the virtual machine scale set. The user identity
	// dictionary key references will be ARM resource ids in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
	UserAssignedIdentities map[string]VirtualMachineScaleSetIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"`
}

Identity for the virtual machine scale set.

type VirtualMachineScaleSetIdentity_Type

type VirtualMachineScaleSetIdentity_Type string

+kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned, UserAssigned","UserAssigned"}

type VirtualMachineScaleSetIdentity_Type_STATUS

type VirtualMachineScaleSetIdentity_Type_STATUS string

type VirtualMachineScaleSetIdentity_UserAssignedIdentities_STATUS

type VirtualMachineScaleSetIdentity_UserAssignedIdentities_STATUS struct {
	// ClientId: The client id of user assigned identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: The principal id of user assigned identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

type VirtualMachineScaleSetIpTag

type VirtualMachineScaleSetIpTag struct {
	// IpTagType: IP tag type. Example: FirstPartyUsage.
	IpTagType *string `json:"ipTagType,omitempty"`

	// Tag: IP tag associated with the public IP. Example: SQL, Storage etc.
	Tag *string `json:"tag,omitempty"`
}

Contains the IP tag associated with the public IP address.

type VirtualMachineScaleSetIpTag_STATUS

type VirtualMachineScaleSetIpTag_STATUS struct {
	// IpTagType: IP tag type. Example: FirstPartyUsage.
	IpTagType *string `json:"ipTagType,omitempty"`

	// Tag: IP tag associated with the public IP. Example: SQL, Storage etc.
	Tag *string `json:"tag,omitempty"`
}

Contains the IP tag associated with the public IP address.

type VirtualMachineScaleSetManagedDiskParameters

type VirtualMachineScaleSetManagedDiskParameters struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.
	DiskEncryptionSet *SubResource `json:"diskEncryptionSet,omitempty"`

	// SecurityProfile: Specifies the security profile for the managed disk.
	SecurityProfile *VMDiskSecurityProfile `json:"securityProfile,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType `json:"storageAccountType,omitempty"`
}

Describes the parameters of a ScaleSet managed disk.

type VirtualMachineScaleSetManagedDiskParameters_STATUS

type VirtualMachineScaleSetManagedDiskParameters_STATUS struct {
	// DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.
	DiskEncryptionSet *SubResource_STATUS `json:"diskEncryptionSet,omitempty"`

	// SecurityProfile: Specifies the security profile for the managed disk.
	SecurityProfile *VMDiskSecurityProfile_STATUS `json:"securityProfile,omitempty"`

	// StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with
	// data disks, it cannot be used with OS Disk.
	StorageAccountType *StorageAccountType_STATUS `json:"storageAccountType,omitempty"`
}

Describes the parameters of a ScaleSet managed disk.

type VirtualMachineScaleSetNetworkConfiguration

type VirtualMachineScaleSetNetworkConfiguration struct {
	Id *string `json:"id,omitempty"`

	// Name: The network configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine scale set network profile's IP configuration.
	Properties *VirtualMachineScaleSetNetworkConfigurationProperties `json:"properties,omitempty"`
}

Describes a virtual machine scale set network profile's network configurations.

type VirtualMachineScaleSetNetworkConfigurationDnsSettings

type VirtualMachineScaleSetNetworkConfigurationDnsSettings struct {
	// DnsServers: List of DNS servers IP addresses
	DnsServers []string `json:"dnsServers,omitempty"`
}

Describes a virtual machines scale sets network configuration's DNS settings.

type VirtualMachineScaleSetNetworkConfigurationDnsSettings_STATUS

type VirtualMachineScaleSetNetworkConfigurationDnsSettings_STATUS struct {
	// DnsServers: List of DNS servers IP addresses
	DnsServers []string `json:"dnsServers,omitempty"`
}

Describes a virtual machines scale sets network configuration's DNS settings.

type VirtualMachineScaleSetNetworkConfigurationProperties

type VirtualMachineScaleSetNetworkConfigurationProperties struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the network interfaces.
	DnsSettings *VirtualMachineScaleSetNetworkConfigurationDnsSettings `json:"dnsSettings,omitempty"`

	// EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"`

	// EnableFpga: Specifies whether the network interface is FPGA networking-enabled.
	EnableFpga *bool `json:"enableFpga,omitempty"`

	// EnableIPForwarding: Whether IP forwarding enabled on this NIC.
	EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"`

	// IpConfigurations: Specifies the IP configurations of the network interface.
	IpConfigurations []VirtualMachineScaleSetIPConfiguration `json:"ipConfigurations,omitempty"`

	// NetworkSecurityGroup: The network security group.
	NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration.

type VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption

type VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption string

+kubebuilder:validation:Enum={"Delete","Detach"}

type VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS

type VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS string

type VirtualMachineScaleSetNetworkConfigurationProperties_STATUS

type VirtualMachineScaleSetNetworkConfigurationProperties_STATUS struct {
	// DeleteOption: Specify what happens to the network interface when the VM is deleted
	DeleteOption *VirtualMachineScaleSetNetworkConfigurationProperties_DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the network interfaces.
	DnsSettings *VirtualMachineScaleSetNetworkConfigurationDnsSettings_STATUS `json:"dnsSettings,omitempty"`

	// EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.
	EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"`

	// EnableFpga: Specifies whether the network interface is FPGA networking-enabled.
	EnableFpga *bool `json:"enableFpga,omitempty"`

	// EnableIPForwarding: Whether IP forwarding enabled on this NIC.
	EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"`

	// IpConfigurations: Specifies the IP configurations of the network interface.
	IpConfigurations []VirtualMachineScaleSetIPConfiguration_STATUS `json:"ipConfigurations,omitempty"`

	// NetworkSecurityGroup: The network security group.
	NetworkSecurityGroup *SubResource_STATUS `json:"networkSecurityGroup,omitempty"`

	// Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
	Primary *bool `json:"primary,omitempty"`
}

Describes a virtual machine scale set network profile's IP configuration.

type VirtualMachineScaleSetNetworkConfiguration_STATUS

type VirtualMachineScaleSetNetworkConfiguration_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Name: The network configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machine scale set network profile's IP configuration.
	Properties *VirtualMachineScaleSetNetworkConfigurationProperties_STATUS `json:"properties,omitempty"`
}

Describes a virtual machine scale set network profile's network configurations.

type VirtualMachineScaleSetNetworkProfile

type VirtualMachineScaleSetNetworkProfile struct {
	// HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine
	// scale set. The reference will be in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
	HealthProbe *ApiEntityReference `json:"healthProbe,omitempty"`

	// NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network
	// Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
	NetworkApiVersion *VirtualMachineScaleSetNetworkProfile_NetworkApiVersion `json:"networkApiVersion,omitempty"`

	// NetworkInterfaceConfigurations: The list of network configurations.
	NetworkInterfaceConfigurations []VirtualMachineScaleSetNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"`
}

Describes a virtual machine scale set network profile.

type VirtualMachineScaleSetNetworkProfile_NetworkApiVersion

type VirtualMachineScaleSetNetworkProfile_NetworkApiVersion string

+kubebuilder:validation:Enum={"2020-11-01"}

type VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_STATUS

type VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_STATUS string

type VirtualMachineScaleSetNetworkProfile_STATUS

type VirtualMachineScaleSetNetworkProfile_STATUS struct {
	// HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine
	// scale set. The reference will be in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
	HealthProbe *ApiEntityReference_STATUS `json:"healthProbe,omitempty"`

	// NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network
	// Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
	NetworkApiVersion *VirtualMachineScaleSetNetworkProfile_NetworkApiVersion_STATUS `json:"networkApiVersion,omitempty"`

	// NetworkInterfaceConfigurations: The list of network configurations.
	NetworkInterfaceConfigurations []VirtualMachineScaleSetNetworkConfiguration_STATUS `json:"networkInterfaceConfigurations,omitempty"`
}

Describes a virtual machine scale set network profile.

type VirtualMachineScaleSetOSDisk

type VirtualMachineScaleSetOSDisk struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machines in the scale set should be created.
	// The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual
	// machine. If you are using a platform image, you also use the imageReference element described above. If you are using a
	// marketplace image, you  also use the plan element previously described.
	CreateOption *CreateOption `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available
	// for VMSS with Flexible OrchestrationMode only).
	// Possible values:
	// Delete If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.
	// Detach If this value is used, the OS disk is retained after VMSS Flex VM is deleted.
	// The default value is set to Delete. For an Ephemeral OS Disk, the default value is set to Delete. User cannot change the
	// delete option for Ephemeral OS Disk.
	DeleteOption *DeleteOption `json:"deleteOption,omitempty"`

	// DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale
	// set.
	DiffDiskSettings *DiffDiskSettings `json:"diffDiskSettings,omitempty"`

	// DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size
	// of the disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Image: Specifies information about the unmanaged user image to base the scale set on.
	Image *VirtualHardDisk `json:"image,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from
	// user-image or a specialized VHD.
	// Possible values are:
	// Windows
	// Linux
	OsType *VirtualMachineScaleSetOSDisk_OsType `json:"osType,omitempty"`

	// VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.
	VhdContainers []string `json:"vhdContainers,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a virtual machine scale set operating system disk.

type VirtualMachineScaleSetOSDisk_OsType

type VirtualMachineScaleSetOSDisk_OsType string

+kubebuilder:validation:Enum={"Linux","Windows"}

type VirtualMachineScaleSetOSDisk_OsType_STATUS

type VirtualMachineScaleSetOSDisk_OsType_STATUS string

type VirtualMachineScaleSetOSDisk_STATUS

type VirtualMachineScaleSetOSDisk_STATUS struct {
	// Caching: Specifies the caching requirements.
	// Possible values are:
	// None
	// ReadOnly
	// ReadWrite
	// Default: None for Standard storage. ReadOnly for Premium storage
	Caching *Caching_STATUS `json:"caching,omitempty"`

	// CreateOption: Specifies how the virtual machines in the scale set should be created.
	// The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual
	// machine. If you are using a platform image, you also use the imageReference element described above. If you are using a
	// marketplace image, you  also use the plan element previously described.
	CreateOption *CreateOption_STATUS `json:"createOption,omitempty"`

	// DeleteOption: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available
	// for VMSS with Flexible OrchestrationMode only).
	// Possible values:
	// Delete If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.
	// Detach If this value is used, the OS disk is retained after VMSS Flex VM is deleted.
	// The default value is set to Delete. For an Ephemeral OS Disk, the default value is set to Delete. User cannot change the
	// delete option for Ephemeral OS Disk.
	DeleteOption *DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale
	// set.
	DiffDiskSettings *DiffDiskSettings_STATUS `json:"diffDiskSettings,omitempty"`

	// DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size
	// of the disk in a virtual machine image.
	// This value cannot be larger than 1023 GB
	DiskSizeGB *int `json:"diskSizeGB,omitempty"`

	// Image: Specifies information about the unmanaged user image to base the scale set on.
	Image *VirtualHardDisk_STATUS `json:"image,omitempty"`

	// ManagedDisk: The managed disk parameters.
	ManagedDisk *VirtualMachineScaleSetManagedDiskParameters_STATUS `json:"managedDisk,omitempty"`

	// Name: The disk name.
	Name *string `json:"name,omitempty"`

	// OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from
	// user-image or a specialized VHD.
	// Possible values are:
	// Windows
	// Linux
	OsType *VirtualMachineScaleSetOSDisk_OsType_STATUS `json:"osType,omitempty"`

	// VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.
	VhdContainers []string `json:"vhdContainers,omitempty"`

	// WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.
	WriteAcceleratorEnabled *bool `json:"writeAcceleratorEnabled,omitempty"`
}

Describes a virtual machine scale set operating system disk.

type VirtualMachineScaleSetOSProfile

type VirtualMachineScaleSetOSProfile struct {
	// AdminPassword: Specifies the password of the administrator account.
	// Minimum-length (Windows): 8 characters
	// Minimum-length (Linux): 6 characters
	// Max-length (Windows): 123 characters
	// Max-length (Linux): 72 characters
	// Complexity requirements: 3 out of 4 conditions below need to be fulfilled
	// Has lower characters
	// Has upper characters
	// Has a digit
	// Has a special character (Regex match [\W_])
	// Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1",
	// "Password22", "iloveyou!"
	// For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows
	// VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
	// For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess
	// Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)
	AdminPassword *string `json:"adminPassword,omitempty"`

	// AdminUsername: Specifies the name of the administrator account.
	// Windows-only restriction: Cannot end in "."
	// Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123",
	// "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server",
	// "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
	// Minimum-length (Linux): 1  character
	// Max-length (Linux): 64 characters
	// Max-length (Windows): 20 characters
	AdminUsername *string `json:"adminUsername,omitempty"`

	// AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine scale set.
	// This may only be set to False when no extensions are present on the virtual machine scale set.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"`

	// ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name
	// prefixes must be 1 to 15 characters long.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty"`

	// CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array
	// that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
	// For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during
	// creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)
	CustomData *string `json:"customData,omitempty"`

	// LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine.
	// For a list of supported Linux distributions, see [Linux on Azure-Endorsed
	// Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
	LinuxConfiguration *LinuxConfiguration `json:"linuxConfiguration,omitempty"`

	// Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install
	// certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	Secrets []VaultSecretGroup `json:"secrets,omitempty"`

	// WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.
	WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"`
}

Describes a virtual machine scale set OS profile.

type VirtualMachineScaleSetOSProfile_STATUS

type VirtualMachineScaleSetOSProfile_STATUS struct {
	// AdminUsername: Specifies the name of the administrator account.
	// Windows-only restriction: Cannot end in "."
	// Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123",
	// "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server",
	// "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
	// Minimum-length (Linux): 1  character
	// Max-length (Linux): 64 characters
	// Max-length (Windows): 20 characters
	AdminUsername *string `json:"adminUsername,omitempty"`

	// AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine scale set.
	// This may only be set to False when no extensions are present on the virtual machine scale set.
	AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"`

	// ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name
	// prefixes must be 1 to 15 characters long.
	ComputerNamePrefix *string `json:"computerNamePrefix,omitempty"`

	// CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array
	// that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
	// For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during
	// creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)
	CustomData *string `json:"customData,omitempty"`

	// LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine.
	// For a list of supported Linux distributions, see [Linux on Azure-Endorsed
	// Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
	LinuxConfiguration *LinuxConfiguration_STATUS `json:"linuxConfiguration,omitempty"`

	// Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install
	// certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	Secrets []VaultSecretGroup_STATUS `json:"secrets,omitempty"`

	// WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.
	WindowsConfiguration *WindowsConfiguration_STATUS `json:"windowsConfiguration,omitempty"`
}

Describes a virtual machine scale set OS profile.

type VirtualMachineScaleSetProperties

type VirtualMachineScaleSetProperties struct {
	// AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual
	// Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data
	// disks with UltraSSD_LRS storage account type.
	AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"`

	// AutomaticRepairsPolicy: Policy for automatic repairs.
	AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"`

	// DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested
	// number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra
	// overprovisioned VMs.
	DoNotRunExtensionsOnOverprovisionedVMs *bool `json:"doNotRunExtensionsOnOverprovisionedVMs,omitempty"`

	// HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in.
	// Minimum api-version: 2020-06-01.
	HostGroup *SubResource `json:"hostGroup,omitempty"`

	// OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.
	OrchestrationMode *OrchestrationMode `json:"orchestrationMode,omitempty"`

	// Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.
	Overprovision *bool `json:"overprovision,omitempty"`

	// PlatformFaultDomainCount: Fault Domain count for each placement group.
	PlatformFaultDomainCount *int `json:"platformFaultDomainCount,omitempty"`

	// ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set
	// should be assigned to.
	// Minimum api-version: 2018-04-01.
	ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"`

	// ScaleInPolicy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
	ScaleInPolicy *ScaleInPolicy `json:"scaleInPolicy,omitempty"`

	// SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines.
	// NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may
	// not be modified to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"`

	// SpotRestorePolicy: Specifies the Spot Restore properties for the virtual machine scale set.
	SpotRestorePolicy *SpotRestorePolicy `json:"spotRestorePolicy,omitempty"`

	// UpgradePolicy: The upgrade policy.
	UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"`

	// VirtualMachineProfile: The virtual machine profile.
	VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"`

	// ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
	// zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no
	// zones or only one zone specified, then zoneBalance property should not be set.
	ZoneBalance *bool `json:"zoneBalance,omitempty"`
}

Describes the properties of a Virtual Machine Scale Set.

type VirtualMachineScaleSetProperties_STATUS

type VirtualMachineScaleSetProperties_STATUS struct {
	// AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual
	// Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data
	// disks with UltraSSD_LRS storage account type.
	AdditionalCapabilities *AdditionalCapabilities_STATUS `json:"additionalCapabilities,omitempty"`

	// AutomaticRepairsPolicy: Policy for automatic repairs.
	AutomaticRepairsPolicy *AutomaticRepairsPolicy_STATUS `json:"automaticRepairsPolicy,omitempty"`

	// DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested
	// number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra
	// overprovisioned VMs.
	DoNotRunExtensionsOnOverprovisionedVMs *bool `json:"doNotRunExtensionsOnOverprovisionedVMs,omitempty"`

	// HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in.
	// Minimum api-version: 2020-06-01.
	HostGroup *SubResource_STATUS `json:"hostGroup,omitempty"`

	// OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.
	OrchestrationMode *OrchestrationMode_STATUS `json:"orchestrationMode,omitempty"`

	// Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.
	Overprovision *bool `json:"overprovision,omitempty"`

	// PlatformFaultDomainCount: Fault Domain count for each placement group.
	PlatformFaultDomainCount *int `json:"platformFaultDomainCount,omitempty"`

	// ProvisioningState: The provisioning state, which only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set
	// should be assigned to.
	// Minimum api-version: 2018-04-01.
	ProximityPlacementGroup *SubResource_STATUS `json:"proximityPlacementGroup,omitempty"`

	// ScaleInPolicy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
	ScaleInPolicy *ScaleInPolicy_STATUS `json:"scaleInPolicy,omitempty"`

	// SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines.
	// NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may
	// not be modified to true.
	SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"`

	// SpotRestorePolicy: Specifies the Spot Restore properties for the virtual machine scale set.
	SpotRestorePolicy *SpotRestorePolicy_STATUS `json:"spotRestorePolicy,omitempty"`

	// TimeCreated: Specifies the time at which the Virtual Machine Scale Set resource was created.
	// Minimum api-version: 2022-03-01.
	TimeCreated *string `json:"timeCreated,omitempty"`

	// UniqueId: Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
	UniqueId *string `json:"uniqueId,omitempty"`

	// UpgradePolicy: The upgrade policy.
	UpgradePolicy *UpgradePolicy_STATUS `json:"upgradePolicy,omitempty"`

	// VirtualMachineProfile: The virtual machine profile.
	VirtualMachineProfile *VirtualMachineScaleSetVMProfile_STATUS `json:"virtualMachineProfile,omitempty"`

	// ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
	// zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no
	// zones or only one zone specified, then zoneBalance property should not be set.
	ZoneBalance *bool `json:"zoneBalance,omitempty"`
}

Describes the properties of a Virtual Machine Scale Set.

type VirtualMachineScaleSetPublicIPAddressConfiguration

type VirtualMachineScaleSetPublicIPAddressConfiguration struct {
	// Name: The publicIP address configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration
	Properties *VirtualMachineScaleSetPublicIPAddressConfigurationProperties `json:"properties,omitempty"`

	// Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.
	Sku *PublicIPAddressSku `json:"sku,omitempty"`
}

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration

type VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings

type VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings struct {
	// DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name
	// labels of the PublicIPAddress resources that will be created
	DomainNameLabel *string `json:"domainNameLabel,omitempty"`
}

Describes a virtual machines scale sets network configuration's DNS settings.

type VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings_STATUS

type VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings_STATUS struct {
	// DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name
	// labels of the PublicIPAddress resources that will be created
	DomainNameLabel *string `json:"domainNameLabel,omitempty"`
}

Describes a virtual machines scale sets network configuration's DNS settings.

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties struct {
	// DeleteOption: Specify what happens to the public IP when the VM is deleted
	DeleteOption *VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the publicIP addresses .
	DnsSettings *VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings `json:"dnsSettings,omitempty"`

	// IdleTimeoutInMinutes: The idle timeout of the public IP address.
	IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"`

	// IpTags: The list of IP tags associated with the public IP address.
	IpTags []VirtualMachineScaleSetIpTag `json:"ipTags,omitempty"`

	// PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
	PublicIPAddressVersion *VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion `json:"publicIPAddressVersion,omitempty"`

	// PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.
	PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"`
}

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption string

+kubebuilder:validation:Enum={"Delete","Detach"}

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS string

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion string

+kubebuilder:validation:Enum={"IPv4","IPv6"}

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS string

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_STATUS

type VirtualMachineScaleSetPublicIPAddressConfigurationProperties_STATUS struct {
	// DeleteOption: Specify what happens to the public IP when the VM is deleted
	DeleteOption *VirtualMachineScaleSetPublicIPAddressConfigurationProperties_DeleteOption_STATUS `json:"deleteOption,omitempty"`

	// DnsSettings: The dns settings to be applied on the publicIP addresses .
	DnsSettings *VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings_STATUS `json:"dnsSettings,omitempty"`

	// IdleTimeoutInMinutes: The idle timeout of the public IP address.
	IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"`

	// IpTags: The list of IP tags associated with the public IP address.
	IpTags []VirtualMachineScaleSetIpTag_STATUS `json:"ipTags,omitempty"`

	// PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific
	// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
	PublicIPAddressVersion *VirtualMachineScaleSetPublicIPAddressConfigurationProperties_PublicIPAddressVersion_STATUS `json:"publicIPAddressVersion,omitempty"`

	// PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.
	PublicIPPrefix *SubResource_STATUS `json:"publicIPPrefix,omitempty"`
}

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration

type VirtualMachineScaleSetPublicIPAddressConfiguration_STATUS

type VirtualMachineScaleSetPublicIPAddressConfiguration_STATUS struct {
	// Name: The publicIP address configuration name.
	Name *string `json:"name,omitempty"`

	// Properties: Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration
	Properties *VirtualMachineScaleSetPublicIPAddressConfigurationProperties_STATUS `json:"properties,omitempty"`

	// Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.
	Sku *PublicIPAddressSku_STATUS `json:"sku,omitempty"`
}

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration

type VirtualMachineScaleSetStorageProfile

type VirtualMachineScaleSetStorageProfile struct {
	// DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []VirtualMachineScaleSetDataDisk `json:"dataDisks,omitempty"`

	// ImageReference: Specifies information about the image to use. You can specify information about platform images,
	// marketplace images, or virtual machine images. This element is required when you want to use a platform image,
	// marketplace image, or virtual machine image, but is not used in other creation operations.
	ImageReference *ImageReference `json:"imageReference,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *VirtualMachineScaleSetOSDisk `json:"osDisk,omitempty"`
}

Describes a virtual machine scale set storage profile.

type VirtualMachineScaleSetStorageProfile_STATUS

type VirtualMachineScaleSetStorageProfile_STATUS struct {
	// DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	DataDisks []VirtualMachineScaleSetDataDisk_STATUS `json:"dataDisks,omitempty"`

	// ImageReference: Specifies information about the image to use. You can specify information about platform images,
	// marketplace images, or virtual machine images. This element is required when you want to use a platform image,
	// marketplace image, or virtual machine image, but is not used in other creation operations.
	ImageReference *ImageReference_STATUS `json:"imageReference,omitempty"`

	// OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set.
	// For more information about disks, see [About disks and VHDs for Azure virtual
	// machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).
	OsDisk *VirtualMachineScaleSetOSDisk_STATUS `json:"osDisk,omitempty"`
}

Describes a virtual machine scale set storage profile.

type VirtualMachineScaleSetVMProfile

type VirtualMachineScaleSetVMProfile struct {
	// ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS
	ApplicationProfile *ApplicationProfile `json:"applicationProfile,omitempty"`

	// BillingProfile: Specifies the billing related details of a Azure Spot VMSS.
	// Minimum api-version: 2019-03-01.
	BillingProfile *BillingProfile `json:"billingProfile,omitempty"`

	// CapacityReservation: Specifies the capacity reservation related details of a scale set.
	// Minimum api-version: 2021-04-01.
	CapacityReservation *CapacityReservationProfile `json:"capacityReservation,omitempty"`

	// DiagnosticsProfile: Specifies the boot diagnostic settings state.
	// Minimum api-version: 2015-06-15.
	DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"`

	// EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
	// For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
	// For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is
	// 2017-10-30-preview.
	EvictionPolicy *EvictionPolicy `json:"evictionPolicy,omitempty"`

	// ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.
	ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"`

	// HardwareProfile: Specifies the hardware profile related details of a scale set.
	// Minimum api-version: 2022-03-01.
	HardwareProfile *VirtualMachineScaleSetHardwareProfile `json:"hardwareProfile,omitempty"`

	// LicenseType: Specifies that the image or disk that is being used was licensed on-premises.
	// Possible values for Windows Server operating system are:
	// Windows_Client
	// Windows_Server
	// Possible values for Linux Server operating system are:
	// RHEL_BYOS (for RHEL)
	// SLES_BYOS (for SUSE)
	// For more information, see [Azure Hybrid Use Benefit for Windows
	// Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
	// [Azure Hybrid Use Benefit for Linux
	// Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
	// Minimum api-version: 2015-06-15
	LicenseType *string `json:"licenseType,omitempty"`

	// NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.
	NetworkProfile *VirtualMachineScaleSetNetworkProfile `json:"networkProfile,omitempty"`

	// OsProfile: Specifies the operating system settings for the virtual machines in the scale set.
	OsProfile *VirtualMachineScaleSetOSProfile `json:"osProfile,omitempty"`

	// Priority: Specifies the priority for the virtual machines in the scale set.
	// Minimum api-version: 2017-10-30-preview
	Priority *Priority `json:"priority,omitempty"`

	// ScheduledEventsProfile: Specifies Scheduled Event related configurations.
	ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"`

	// SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.
	SecurityProfile *SecurityProfile `json:"securityProfile,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *VirtualMachineScaleSetStorageProfile `json:"storageProfile,omitempty"`

	// UserData: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass
	// any secrets in here.
	// Minimum api-version: 2021-03-01
	UserData *string `json:"userData,omitempty"`
}

Describes a virtual machine scale set virtual machine profile.

type VirtualMachineScaleSetVMProfile_STATUS

type VirtualMachineScaleSetVMProfile_STATUS struct {
	// ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS
	ApplicationProfile *ApplicationProfile_STATUS `json:"applicationProfile,omitempty"`

	// BillingProfile: Specifies the billing related details of a Azure Spot VMSS.
	// Minimum api-version: 2019-03-01.
	BillingProfile *BillingProfile_STATUS `json:"billingProfile,omitempty"`

	// CapacityReservation: Specifies the capacity reservation related details of a scale set.
	// Minimum api-version: 2021-04-01.
	CapacityReservation *CapacityReservationProfile_STATUS `json:"capacityReservation,omitempty"`

	// DiagnosticsProfile: Specifies the boot diagnostic settings state.
	// Minimum api-version: 2015-06-15.
	DiagnosticsProfile *DiagnosticsProfile_STATUS `json:"diagnosticsProfile,omitempty"`

	// EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
	// For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
	// For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is
	// 2017-10-30-preview.
	EvictionPolicy *EvictionPolicy_STATUS `json:"evictionPolicy,omitempty"`

	// ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.
	ExtensionProfile *VirtualMachineScaleSetExtensionProfile_STATUS `json:"extensionProfile,omitempty"`

	// HardwareProfile: Specifies the hardware profile related details of a scale set.
	// Minimum api-version: 2022-03-01.
	HardwareProfile *VirtualMachineScaleSetHardwareProfile_STATUS `json:"hardwareProfile,omitempty"`

	// LicenseType: Specifies that the image or disk that is being used was licensed on-premises.
	// Possible values for Windows Server operating system are:
	// Windows_Client
	// Windows_Server
	// Possible values for Linux Server operating system are:
	// RHEL_BYOS (for RHEL)
	// SLES_BYOS (for SUSE)
	// For more information, see [Azure Hybrid Use Benefit for Windows
	// Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
	// [Azure Hybrid Use Benefit for Linux
	// Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
	// Minimum api-version: 2015-06-15
	LicenseType *string `json:"licenseType,omitempty"`

	// NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.
	NetworkProfile *VirtualMachineScaleSetNetworkProfile_STATUS `json:"networkProfile,omitempty"`

	// OsProfile: Specifies the operating system settings for the virtual machines in the scale set.
	OsProfile *VirtualMachineScaleSetOSProfile_STATUS `json:"osProfile,omitempty"`

	// Priority: Specifies the priority for the virtual machines in the scale set.
	// Minimum api-version: 2017-10-30-preview
	Priority *Priority_STATUS `json:"priority,omitempty"`

	// ScheduledEventsProfile: Specifies Scheduled Event related configurations.
	ScheduledEventsProfile *ScheduledEventsProfile_STATUS `json:"scheduledEventsProfile,omitempty"`

	// SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.
	SecurityProfile *SecurityProfile_STATUS `json:"securityProfile,omitempty"`

	// StorageProfile: Specifies the storage settings for the virtual machine disks.
	StorageProfile *VirtualMachineScaleSetStorageProfile_STATUS `json:"storageProfile,omitempty"`

	// UserData: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass
	// any secrets in here.
	// Minimum api-version: 2021-03-01
	UserData *string `json:"userData,omitempty"`
}

Describes a virtual machine scale set virtual machine profile.

type VirtualMachineScaleSet_STATUS

type VirtualMachineScaleSet_STATUS struct {
	// ExtendedLocation: The extended location of the Virtual Machine Scale Set.
	ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"`

	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Identity: The identity of the virtual machine scale set, if configured.
	Identity *VirtualMachineScaleSetIdentity_STATUS `json:"identity,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`

	// Name: Resource name
	Name *string `json:"name,omitempty"`

	// Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used
	// for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic
	// use.  In the Azure portal, find the marketplace image that you want to use and then click Want to deploy
	// programmatically, Get Started ->. Enter any required information and then click Save.
	Plan *Plan_STATUS `json:"plan,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set.
	Properties *VirtualMachineScaleSetProperties_STATUS `json:"properties,omitempty"`

	// Sku: The virtual machine scale set sku.
	Sku *Sku_STATUS `json:"sku,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`

	// Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
	Zones []string `json:"zones,omitempty"`
}

Describes a Virtual Machine Scale Set.

type VirtualMachineScaleSet_Spec

type VirtualMachineScaleSet_Spec struct {
	// ExtendedLocation: The extended location of the Virtual Machine Scale Set.
	ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"`

	// Identity: The identity of the virtual machine scale set, if configured.
	Identity *VirtualMachineScaleSetIdentity `json:"identity,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`
	Name     string  `json:"name,omitempty"`

	// Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used
	// for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic
	// use.  In the Azure portal, find the marketplace image that you want to use and then click Want to deploy
	// programmatically, Get Started ->. Enter any required information and then click Save.
	Plan *Plan `json:"plan,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set.
	Properties *VirtualMachineScaleSetProperties `json:"properties,omitempty"`

	// Sku: The virtual machine scale set sku.
	Sku *Sku `json:"sku,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
	Zones []string `json:"zones,omitempty"`
}

func (VirtualMachineScaleSet_Spec) GetAPIVersion

func (scaleSet VirtualMachineScaleSet_Spec) GetAPIVersion() string

GetAPIVersion returns the ARM API version of the resource. This is always "2022-03-01"

func (*VirtualMachineScaleSet_Spec) GetName

func (scaleSet *VirtualMachineScaleSet_Spec) GetName() string

GetName returns the Name of the resource

func (*VirtualMachineScaleSet_Spec) GetType

func (scaleSet *VirtualMachineScaleSet_Spec) GetType() string

GetType returns the ARM Type of the resource. This is always "Microsoft.Compute/virtualMachineScaleSets"

type VirtualMachineScaleSetsExtension_STATUS

type VirtualMachineScaleSetsExtension_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Name: The name of the extension.
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set Extension.
	Properties *VirtualMachineScaleSetExtensionProperties_STATUS `json:"properties,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`
}

type VirtualMachineScaleSetsExtension_Spec

type VirtualMachineScaleSetsExtension_Spec struct {
	// Name: The name of the extension.
	Name string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Scale Set Extension.
	Properties *VirtualMachineScaleSetExtensionProperties `json:"properties,omitempty"`
}

func (VirtualMachineScaleSetsExtension_Spec) GetAPIVersion

func (extension VirtualMachineScaleSetsExtension_Spec) GetAPIVersion() string

GetAPIVersion returns the ARM API version of the resource. This is always "2022-03-01"

func (*VirtualMachineScaleSetsExtension_Spec) GetName

func (extension *VirtualMachineScaleSetsExtension_Spec) GetName() string

GetName returns the Name of the resource

func (*VirtualMachineScaleSetsExtension_Spec) GetType

func (extension *VirtualMachineScaleSetsExtension_Spec) GetType() string

GetType returns the ARM Type of the resource. This is always "Microsoft.Compute/virtualMachineScaleSets/extensions"

type VirtualMachine_STATUS

type VirtualMachine_STATUS struct {
	// ExtendedLocation: The extended location of the Virtual Machine.
	ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"`

	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Identity: The identity of the virtual machine, if configured.
	Identity *VirtualMachineIdentity_STATUS `json:"identity,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`

	// Name: Resource name
	Name *string `json:"name,omitempty"`

	// Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used
	// for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic
	// use.  In the Azure portal, find the marketplace image that you want to use and then click Want to deploy
	// programmatically, Get Started ->. Enter any required information and then click Save.
	Plan *Plan_STATUS `json:"plan,omitempty"`

	// Properties: Describes the properties of a Virtual Machine.
	Properties *VirtualMachineProperties_STATUS `json:"properties,omitempty"`

	// Resources: The virtual machine child extension resources.
	Resources []VirtualMachineExtension_STATUS `json:"resources,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`

	// Zones: The virtual machine zones.
	Zones []string `json:"zones,omitempty"`
}

Describes a Virtual Machine.

type VirtualMachine_Spec

type VirtualMachine_Spec struct {
	// ExtendedLocation: The extended location of the Virtual Machine.
	ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"`

	// Identity: The identity of the virtual machine, if configured.
	Identity *VirtualMachineIdentity `json:"identity,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`
	Name     string  `json:"name,omitempty"`

	// Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used
	// for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic
	// use.  In the Azure portal, find the marketplace image that you want to use and then click Want to deploy
	// programmatically, Get Started ->. Enter any required information and then click Save.
	Plan *Plan `json:"plan,omitempty"`

	// Properties: Describes the properties of a Virtual Machine.
	Properties *VirtualMachineProperties `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Zones: The virtual machine zones.
	Zones []string `json:"zones,omitempty"`
}

func (VirtualMachine_Spec) GetAPIVersion

func (machine VirtualMachine_Spec) GetAPIVersion() string

GetAPIVersion returns the ARM API version of the resource. This is always "2022-03-01"

func (*VirtualMachine_Spec) GetName

func (machine *VirtualMachine_Spec) GetName() string

GetName returns the Name of the resource

func (*VirtualMachine_Spec) GetType

func (machine *VirtualMachine_Spec) GetType() string

GetType returns the ARM Type of the resource. This is always "Microsoft.Compute/virtualMachines"

type VirtualMachinesExtension_STATUS

type VirtualMachinesExtension_STATUS struct {
	// Id: Resource Id
	Id *string `json:"id,omitempty"`

	// Location: Resource location
	Location *string `json:"location,omitempty"`

	// Name: Resource name
	Name *string `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Extension.
	Properties *VirtualMachineExtensionProperties_STATUS `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type
	Type *string `json:"type,omitempty"`
}

type VirtualMachinesExtension_Spec

type VirtualMachinesExtension_Spec struct {
	// Location: Resource location
	Location *string `json:"location,omitempty"`
	Name     string  `json:"name,omitempty"`

	// Properties: Describes the properties of a Virtual Machine Extension.
	Properties *VirtualMachineExtensionProperties `json:"properties,omitempty"`

	// Tags: Resource tags
	Tags map[string]string `json:"tags,omitempty"`
}

func (VirtualMachinesExtension_Spec) GetAPIVersion

func (extension VirtualMachinesExtension_Spec) GetAPIVersion() string

GetAPIVersion returns the ARM API version of the resource. This is always "2022-03-01"

func (*VirtualMachinesExtension_Spec) GetName

func (extension *VirtualMachinesExtension_Spec) GetName() string

GetName returns the Name of the resource

func (*VirtualMachinesExtension_Spec) GetType

func (extension *VirtualMachinesExtension_Spec) GetType() string

GetType returns the ARM Type of the resource. This is always "Microsoft.Compute/virtualMachines/extensions"

type WinRMConfiguration

type WinRMConfiguration struct {
	// Listeners: The list of Windows Remote Management listeners
	Listeners []WinRMListener `json:"listeners,omitempty"`
}

Describes Windows Remote Management configuration of the VM

type WinRMConfiguration_STATUS

type WinRMConfiguration_STATUS struct {
	// Listeners: The list of Windows Remote Management listeners
	Listeners []WinRMListener_STATUS `json:"listeners,omitempty"`
}

Describes Windows Remote Management configuration of the VM

type WinRMListener

type WinRMListener struct {
	// CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to
	// the Key Vault, see [Add a key or secret to the key
	// vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to
	// be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
	// {
	// "data":"<Base64-encoded-certificate>",
	// "dataType":"pfx",
	// "password":"<pfx-file-password>"
	// }
	// To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	CertificateUrl *string `json:"certificateUrl,omitempty"`

	// Protocol: Specifies the protocol of WinRM listener.
	// Possible values are:
	// http
	// https
	Protocol *WinRMListener_Protocol `json:"protocol,omitempty"`
}

Describes Protocol and thumbprint of Windows Remote Management listener

type WinRMListener_Protocol

type WinRMListener_Protocol string

+kubebuilder:validation:Enum={"Http","Https"}

type WinRMListener_Protocol_STATUS

type WinRMListener_Protocol_STATUS string

type WinRMListener_STATUS

type WinRMListener_STATUS struct {
	// CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to
	// the Key Vault, see [Add a key or secret to the key
	// vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to
	// be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
	// {
	// "data":"<Base64-encoded-certificate>",
	// "dataType":"pfx",
	// "password":"<pfx-file-password>"
	// }
	// To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for
	// Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual
	// machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).
	CertificateUrl *string `json:"certificateUrl,omitempty"`

	// Protocol: Specifies the protocol of WinRM listener.
	// Possible values are:
	// http
	// https
	Protocol *WinRMListener_Protocol_STATUS `json:"protocol,omitempty"`
}

Describes Protocol and thumbprint of Windows Remote Management listener

type WindowsConfiguration

type WindowsConfiguration struct {
	// AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the
	// Unattend.xml file, which is used by Windows Setup.
	AdditionalUnattendContent []AdditionalUnattendContent `json:"additionalUnattendContent,omitempty"`

	// EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is
	// true.
	// For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"`

	// PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
	PatchSettings *PatchSettings `json:"patchSettings,omitempty"`

	// ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine.
	// When this property is not specified in the request body, default behavior is to set it to true.  This will ensure that
	// VM Agent is installed on the VM so that extensions can be added to the VM later.
	ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"`

	// TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
	// Possible values can be
	// [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time
	// zones returned by
	// [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
	TimeZone *string `json:"timeZone,omitempty"`

	// WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
	WinRM *WinRMConfiguration `json:"winRM,omitempty"`
}

Specifies Windows operating system settings on the virtual machine.

type WindowsConfiguration_STATUS

type WindowsConfiguration_STATUS struct {
	// AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the
	// Unattend.xml file, which is used by Windows Setup.
	AdditionalUnattendContent []AdditionalUnattendContent_STATUS `json:"additionalUnattendContent,omitempty"`

	// EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is
	// true.
	// For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
	EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"`

	// PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
	PatchSettings *PatchSettings_STATUS `json:"patchSettings,omitempty"`

	// ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine.
	// When this property is not specified in the request body, default behavior is to set it to true.  This will ensure that
	// VM Agent is installed on the VM so that extensions can be added to the VM later.
	ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"`

	// TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time".
	// Possible values can be
	// [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time
	// zones returned by
	// [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones).
	TimeZone *string `json:"timeZone,omitempty"`

	// WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
	WinRM *WinRMConfiguration_STATUS `json:"winRM,omitempty"`
}

Specifies Windows operating system settings on the virtual machine.

type WindowsVMGuestPatchAutomaticByPlatformSettings

type WindowsVMGuestPatchAutomaticByPlatformSettings struct {
	// RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
	RebootSetting *WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting `json:"rebootSetting,omitempty"`
}

Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings.

type WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting

type WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting string

+kubebuilder:validation:Enum={"Always","IfRequired","Never","Unknown"}

type WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS

type WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS string

type WindowsVMGuestPatchAutomaticByPlatformSettings_STATUS

type WindowsVMGuestPatchAutomaticByPlatformSettings_STATUS struct {
	// RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
	RebootSetting *WindowsVMGuestPatchAutomaticByPlatformSettings_RebootSetting_STATUS `json:"rebootSetting,omitempty"`
}

Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL