From cc26e23fa7ebedd2713124e6cf6af454bc72a12c Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Thu, 21 Nov 2024 16:56:17 +0800 Subject: [PATCH 1/5] add additionalproperties --- ...tualMachineSizeProperties.Serialization.cs | 28 +++++------ .../Models/VirtualMachineSizeProperties.cs | 46 +++++++++---------- .../src/autorest.md | 15 ++++-- 3 files changed, 46 insertions(+), 43 deletions(-) diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.Serialization.cs index 2bd3a7e258be..f728eaee07fb 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.Serialization.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.Serialization.cs @@ -44,20 +44,17 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit writer.WritePropertyName("vCPUsPerCore"u8); writer.WriteNumberValue(VCpusPerCore.Value); } - if (options.Format != "W" && _serializedAdditionalRawData != null) + foreach (var item in AdditionalProperties) { - foreach (var item in _serializedAdditionalRawData) - { - writer.WritePropertyName(item.Key); + writer.WritePropertyName(item.Key); #if NET6_0_OR_GREATER writer.WriteRawValue(item.Value); #else - using (JsonDocument document = JsonDocument.Parse(item.Value)) - { - JsonSerializer.Serialize(writer, document.RootElement); - } -#endif + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); } +#endif } } @@ -83,8 +80,8 @@ internal static VirtualMachineSizeProperties DeserializeVirtualMachineSizeProper } int? vCpusAvailable = default; int? vCpusPerCore = default; - IDictionary serializedAdditionalRawData = default; - Dictionary rawDataDictionary = new Dictionary(); + IDictionary additionalProperties = default; + Dictionary additionalPropertiesDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("vCPUsAvailable"u8)) @@ -105,13 +102,10 @@ internal static VirtualMachineSizeProperties DeserializeVirtualMachineSizeProper vCpusPerCore = property.Value.GetInt32(); continue; } - if (options.Format != "W") - { - rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); - } + additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } - serializedAdditionalRawData = rawDataDictionary; - return new VirtualMachineSizeProperties(vCpusAvailable, vCpusPerCore, serializedAdditionalRawData); + additionalProperties = additionalPropertiesDictionary; + return new VirtualMachineSizeProperties(vCpusAvailable, vCpusPerCore, additionalProperties); } BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.cs index 263b1f0f2d29..2476bcf35b79 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineSizeProperties.cs @@ -13,8 +13,29 @@ namespace Azure.ResourceManager.Compute.Models /// Specifies VM Size Property settings on the virtual machine. public partial class VirtualMachineSizeProperties { + /// Initializes a new instance of . + public VirtualMachineSizeProperties() + { + AdditionalProperties = new ChangeTrackingDictionary(); + } + + /// Initializes a new instance of . + /// 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). + /// 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.**. + /// Additional Properties. + internal VirtualMachineSizeProperties(int? vCpusAvailable, int? vCpusPerCore, IDictionary additionalProperties) + { + VCpusAvailable = vCpusAvailable; + VCpusPerCore = vCpusPerCore; + AdditionalProperties = additionalProperties; + } + + /// 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). + public int? VCpusAvailable { get; set; } + /// 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.**. + public int? VCpusPerCore { get; set; } /// - /// Keeps track of any properties unknown to the library. + /// Additional Properties /// /// To assign an object to the value of this property use . /// @@ -43,27 +64,6 @@ public partial class VirtualMachineSizeProperties /// /// /// - private IDictionary _serializedAdditionalRawData; - - /// Initializes a new instance of . - public VirtualMachineSizeProperties() - { - } - - /// Initializes a new instance of . - /// 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). - /// 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.**. - /// Keeps track of any properties unknown to the library. - internal VirtualMachineSizeProperties(int? vCpusAvailable, int? vCpusPerCore, IDictionary serializedAdditionalRawData) - { - VCpusAvailable = vCpusAvailable; - VCpusPerCore = vCpusPerCore; - _serializedAdditionalRawData = serializedAdditionalRawData; - } - - /// 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). - public int? VCpusAvailable { get; set; } - /// 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.**. - public int? VCpusPerCore { get; set; } + public IDictionary AdditionalProperties { get; } } } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md index f4a13219b07e..05caf87f1e77 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md +++ b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md @@ -281,7 +281,7 @@ rename-mapping: SkuProfile : ComputeSkuProfile SkuProfileVMSize : ComputeSkuProfileVMSize AllocationStrategy : ComputeAllocationStrategy - + directive: # copy the systemData from common-types here so that it will be automatically replaced - from: common.json @@ -390,6 +390,15 @@ directive: $.dummyProperty = { "type": "string", "description": "This is a dummy property to prevent flattening." - }; - + }; + # add additionalproperties to a few models to support private properties supported by the service + - from: virtualMachineScaleSet.json + where: $.definitions.VirtualMachineScaleSetProperties + transform: > + $.additionalProperties = true; + - from: computeRPCommon.json + where: $.definitions.VMSizeProperties + transform: > + $.additionalProperties = true; + ``` From d250b76a004419192fae52a27a025fa46e2653a0 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Thu, 21 Nov 2024 17:40:26 +0800 Subject: [PATCH 2/5] disable the flatten to see the additional properties --- ...Sample_VirtualMachineScaleSetCollection.cs | 2747 +++++++++-------- .../src/Generated/ArmComputeModelFactory.cs | 134 +- ...MachineScaleSetProperties.Serialization.cs | 474 +++ .../VirtualMachineScaleSetProperties.cs | 179 ++ ...hineScaleSetUpgradePolicy.Serialization.cs | 28 +- .../VirtualMachineScaleSetUpgradePolicy.cs | 54 +- ...irtualMachineScaleSetData.Serialization.cs | 391 +-- .../Generated/VirtualMachineScaleSetData.cs | 122 +- .../src/autorest.md | 9 +- 9 files changed, 2197 insertions(+), 1941 deletions(-) create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs diff --git a/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetCollection.cs b/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetCollection.cs index b31f3fc39502..9138cdc38247 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetCollection.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetCollection.cs @@ -51,39 +51,41 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionThatHasSuppressFailur Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -98,15 +100,15 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionThatHasSuppressFailur EnableIPForwarding = true, } }, - }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), - }, - ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() - { - Extensions = + }, + BootDiagnostics = new BootDiagnostics() + { + Enabled = true, + StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), + }, + ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() + { + Extensions = { new VirtualMachineScaleSetExtensionData() { @@ -120,9 +122,10 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionThatHasSuppressFailur SuppressFailures = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -166,39 +169,41 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionWithProtectedSettings Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -213,15 +218,15 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionWithProtectedSettings EnableIPForwarding = true, } }, - }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), - }, - ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() - { - Extensions = + }, + BootDiagnostics = new BootDiagnostics() + { + Enabled = true, + StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), + }, + ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() + { + Extensions = { new VirtualMachineScaleSetExtensionData() { @@ -238,9 +243,10 @@ public async Task CreateOrUpdate_CreateAVMSSWithAnExtensionWithProtectedSettings }), } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -284,30 +290,32 @@ public async Task CreateOrUpdate_CreateACustomImageScaleSetFromAnUnmanagedGenera Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + OSProfile = new VirtualMachineScaleSetOSProfile() { - Name = "osDisk", - Caching = CachingType.ReadWrite, - ImageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + StorageProfile = new VirtualMachineScaleSetStorageProfile() + { + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Name = "osDisk", + Caching = CachingType.ReadWrite, + ImageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"), + }, + }, + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -322,9 +330,10 @@ public async Task CreateOrUpdate_CreateACustomImageScaleSetFromAnUnmanagedGenera EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -368,40 +377,42 @@ public async Task CreateOrUpdate_CreateAPlatformImageScaleSetWithUnmanagedOsDisk Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Name = "osDisk", - Caching = CachingType.ReadWrite, - VhdContainers = + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Name = "osDisk", + Caching = CachingType.ReadWrite, + VhdContainers = { "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer" }, + }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -416,9 +427,10 @@ public async Task CreateOrUpdate_CreateAPlatformImageScaleSetWithUnmanagedOsDisk EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -462,36 +474,38 @@ public async Task CreateOrUpdate_CreateAScaleSetFromACustomImage() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -506,9 +520,10 @@ public async Task CreateOrUpdate_CreateAScaleSetFromACustomImage() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -552,36 +567,38 @@ public async Task CreateOrUpdate_CreateAScaleSetFromAGeneralizedSharedImage() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -596,9 +613,10 @@ public async Task CreateOrUpdate_CreateAScaleSetFromAGeneralizedSharedImage() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -642,30 +660,32 @@ public async Task CreateOrUpdate_CreateAScaleSetFromASpecializedSharedImage() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - StorageProfile = new VirtualMachineScaleSetStorageProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ImageReference = new ImageReference() - { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"), - }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + Mode = VirtualMachineScaleSetUpgradeMode.Manual, + }, + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + { + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -680,9 +700,10 @@ public async Task CreateOrUpdate_CreateAScaleSetFromASpecializedSharedImage() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -726,36 +747,38 @@ public async Task CreateOrUpdate_CreateAScaleSetWhereNicConfigHasDisableTcpState Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{nicConfig1-name}") { @@ -787,9 +810,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWhereNicConfigHasDisableTcpState EnableIPForwarding = false, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -833,39 +857,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithApplicationProfile() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -880,8 +906,8 @@ public async Task CreateOrUpdate_CreateAScaleSetWithApplicationProfile() EnableIPForwarding = true, } }, - }, - GalleryApplications = + }, + GalleryApplications = { new VirtualMachineGalleryApplication("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0") { @@ -892,8 +918,9 @@ public async Task CreateOrUpdate_CreateAScaleSetWithApplicationProfile() EnableAutomaticUpgrade = false, },new VirtualMachineGalleryApplication("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1") }, + }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -937,49 +964,51 @@ public async Task CreateOrUpdate_CreateAScaleSetWithDiskControllerType() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - ScheduledEventsPolicy = new ScheduledEventsPolicy() - { - UserInitiatedRedeploy = new UserInitiatedRedeploy() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - AutomaticallyApprove = true, + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - AutomaticallyApprove = true, - Enable = true, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + ScheduledEventsPolicy = new ScheduledEventsPolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + UserInitiatedRedeploy = new UserInitiatedRedeploy() + { + AutomaticallyApprove = true, + }, + AutomaticallyApprove = true, + Enable = true, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, + DiskControllerType = "NVMe", }, - DiskControllerType = "NVMe", - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -994,15 +1023,16 @@ public async Task CreateOrUpdate_CreateAScaleSetWithDiskControllerType() EnableIPForwarding = true, } }, + }, + UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", + HardwareVmSizeProperties = new VirtualMachineSizeProperties() + { + VCpusAvailable = 1, + VCpusPerCore = 1, + }, }, - UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", - HardwareVmSizeProperties = new VirtualMachineSizeProperties() - { - VCpusAvailable = 1, - VCpusPerCore = 1, - }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1046,34 +1076,36 @@ public async Task CreateOrUpdate_CreateAScaleSetWithDiskEncryptionSetResourceInO Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, - DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"), + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), }, - }, - DataDisks = + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"), + }, + }, + DataDisks = { new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty) { @@ -1086,10 +1118,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithDiskEncryptionSetResourceInO }, } }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + }, + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1104,9 +1136,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithDiskEncryptionSetResourceInO EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1150,36 +1183,38 @@ public async Task CreateOrUpdate_CreateAScaleSetWithFpgaNetworkInterfaces() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1209,9 +1244,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithFpgaNetworkInterfaces() EnableIPForwarding = false, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1261,39 +1297,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithHostEncryptionUsingEncryptio Publisher = "microsoft-ads", Product = "windows-data-science-vm", }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "microsoft-ads", - Offer = "windows-data-science-vm", - Sku = "windows2016", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "microsoft-ads", + Offer = "windows-data-science-vm", + Sku = "windows2016", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadOnly, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1308,13 +1346,14 @@ public async Task CreateOrUpdate_CreateAScaleSetWithHostEncryptionUsingEncryptio EnableIPForwarding = true, } }, + }, + SecurityProfile = new SecurityProfile() + { + EncryptionAtHost = true, + }, }, - SecurityProfile = new SecurityProfile() - { - EncryptionAtHost = true, - }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1358,36 +1397,38 @@ public async Task CreateOrUpdate_CreateAScaleSetWithNetworkInterfacesWithPublicI Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"), + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{nicConfig1-name}") { @@ -1429,9 +1470,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithNetworkInterfacesWithPublicI EnableIPForwarding = false, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1475,39 +1517,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithOSImageScheduledEventsEnable Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1522,17 +1566,18 @@ public async Task CreateOrUpdate_CreateAScaleSetWithOSImageScheduledEventsEnable EnableIPForwarding = true, } }, - }, - ScheduledEventsProfile = new ComputeScheduledEventsProfile() - { - OSImageNotificationProfile = new OSImageNotificationProfile() + }, + ScheduledEventsProfile = new ComputeScheduledEventsProfile() { - NotBeforeTimeout = "PT15M", - Enable = true, + OSImageNotificationProfile = new OSImageNotificationProfile() + { + NotBeforeTimeout = "PT15M", + Enable = true, + }, }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1576,39 +1621,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithProxyAgentSettingsOfEnabledA Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2019-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2019-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardSsdLrs, + Caching = CachingType.ReadOnly, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardSsdLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1623,17 +1670,18 @@ public async Task CreateOrUpdate_CreateAScaleSetWithProxyAgentSettingsOfEnabledA EnableIPForwarding = true, } }, - }, - SecurityProfile = new SecurityProfile() - { - ProxyAgentSettings = new ProxyAgentSettings() + }, + SecurityProfile = new SecurityProfile() { - Enabled = true, - Mode = Mode.Enforce, + ProxyAgentSettings = new ProxyAgentSettings() + { + Enabled = true, + Mode = Mode.Enforce, + }, }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1677,39 +1725,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithResilientVMCreationEnabled() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1724,12 +1774,13 @@ public async Task CreateOrUpdate_CreateAScaleSetWithResilientVMCreationEnabled() EnableIPForwarding = true, } }, + }, + }, + Overprovision = false, + ResiliencyPolicy = new ResiliencyPolicy() + { + ResilientVmCreationPolicyEnabled = true, }, - }, - Overprovision = false, - ResiliencyPolicy = new ResiliencyPolicy() - { - ResilientVmCreationPolicyEnabled = true, }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -1774,39 +1825,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithResilientVMDeletionEnabled() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1821,12 +1874,13 @@ public async Task CreateOrUpdate_CreateAScaleSetWithResilientVMDeletionEnabled() EnableIPForwarding = true, } }, + }, + }, + Overprovision = false, + ResiliencyPolicy = new ResiliencyPolicy() + { + ResilientVmDeletionPolicyEnabled = true, }, - }, - Overprovision = false, - ResiliencyPolicy = new ResiliencyPolicy() - { - ResilientVmDeletionPolicyEnabled = true, }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -1871,40 +1925,42 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityPostureReference() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Automatic, - AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() - { - EnableAutomaticOSUpgrade = true, - }, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Automatic, + AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() + { + EnableAutomaticOSUpgrade = true, + }, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2022-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Name = "osDisk", - Caching = CachingType.ReadWrite, + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2022-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Name = "osDisk", + Caching = CachingType.ReadWrite, + }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -1919,10 +1975,11 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityPostureReference() EnableIPForwarding = true, } }, + }, + SecurityPostureReference = new ComputeSecurityPostureReference(new ResourceIdentifier("/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest")), }, - SecurityPostureReference = new ComputeSecurityPostureReference(new ResourceIdentifier("/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest")), + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -1966,43 +2023,45 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityTypeAsConfidentialVM Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "2019-datacenter-cvm", - Sku = "windows-cvm", - Version = "17763.2183.2109130127", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardSsdLrs, - SecurityProfile = new VirtualMachineDiskSecurityProfile() - { - SecurityEncryptionType = SecurityEncryptionType.VmGuestStateOnly, + Publisher = "MicrosoftWindowsServer", + Offer = "2019-datacenter-cvm", + Sku = "windows-cvm", + Version = "17763.2183.2109130127", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadOnly, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardSsdLrs, + SecurityProfile = new VirtualMachineDiskSecurityProfile() + { + SecurityEncryptionType = SecurityEncryptionType.VmGuestStateOnly, + }, }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2017,18 +2076,19 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityTypeAsConfidentialVM EnableIPForwarding = true, } }, - }, - SecurityProfile = new SecurityProfile() - { - UefiSettings = new UefiSettings() + }, + SecurityProfile = new SecurityProfile() { - IsSecureBootEnabled = true, - IsVirtualTpmEnabled = true, + UefiSettings = new UefiSettings() + { + IsSecureBootEnabled = true, + IsVirtualTpmEnabled = true, + }, + SecurityType = SecurityType.ConfidentialVm, }, - SecurityType = SecurityType.ConfidentialVm, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2072,43 +2132,45 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityTypeAsConfidentialVM Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "UbuntuServer", - Offer = "2022-datacenter-cvm", - Sku = "linux-cvm", - Version = "17763.2183.2109130127", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "UbuntuServer", + Offer = "2022-datacenter-cvm", + Sku = "linux-cvm", + Version = "17763.2183.2109130127", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardSsdLrs, - SecurityProfile = new VirtualMachineDiskSecurityProfile() + Caching = CachingType.ReadOnly, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() { - SecurityEncryptionType = SecurityEncryptionType.NonPersistedTPM, + StorageAccountType = StorageAccountType.StandardSsdLrs, + SecurityProfile = new VirtualMachineDiskSecurityProfile() + { + SecurityEncryptionType = SecurityEncryptionType.NonPersistedTPM, + }, }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2123,18 +2185,19 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSecurityTypeAsConfidentialVM EnableIPForwarding = true, } }, - }, - SecurityProfile = new SecurityProfile() - { - UefiSettings = new UefiSettings() + }, + SecurityProfile = new SecurityProfile() { - IsSecureBootEnabled = false, - IsVirtualTpmEnabled = true, + UefiSettings = new UefiSettings() + { + IsSecureBootEnabled = false, + IsVirtualTpmEnabled = true, + }, + SecurityType = SecurityType.ConfidentialVm, }, - SecurityType = SecurityType.ConfidentialVm, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2178,40 +2241,42 @@ public async Task CreateOrUpdate_CreateAScaleSetWithServiceArtifactReference() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Automatic, - AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() - { - EnableAutomaticOSUpgrade = true, - }, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Automatic, + AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() + { + EnableAutomaticOSUpgrade = true, + }, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2022-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Name = "osDisk", - Caching = CachingType.ReadWrite, + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2022-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Name = "osDisk", + Caching = CachingType.ReadWrite, + }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2226,10 +2291,11 @@ public async Task CreateOrUpdate_CreateAScaleSetWithServiceArtifactReference() EnableIPForwarding = true, } }, + }, + ServiceArtifactReferenceId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName"), }, - ServiceArtifactReferenceId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName"), + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2273,39 +2339,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithUefiSettingsOfSecureBootAndV Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "windowsserver-gen2preview-preview", - Sku = "windows10-tvm", - Version = "18363.592.2001092016", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardSsdLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "windowsserver-gen2preview-preview", + Sku = "windows10-tvm", + Version = "18363.592.2001092016", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadOnly, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardSsdLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2320,18 +2388,19 @@ public async Task CreateOrUpdate_CreateAScaleSetWithUefiSettingsOfSecureBootAndV EnableIPForwarding = true, } }, - }, - SecurityProfile = new SecurityProfile() - { - UefiSettings = new UefiSettings() + }, + SecurityProfile = new SecurityProfile() { - IsSecureBootEnabled = true, - IsVirtualTpmEnabled = true, + UefiSettings = new UefiSettings() + { + IsSecureBootEnabled = true, + IsVirtualTpmEnabled = true, + }, + SecurityType = SecurityType.TrustedLaunch, }, - SecurityType = SecurityType.TrustedLaunch, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2381,39 +2450,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAMarketplaceImagePlan() Publisher = "microsoft-ads", Product = "windows-data-science-vm", }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "microsoft-ads", - Offer = "windows-data-science-vm", - Sku = "windows2016", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "microsoft-ads", + Offer = "windows-data-science-vm", + Sku = "windows2016", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2428,9 +2499,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAMarketplaceImagePlan() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2474,39 +2546,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAnAzureApplicationGateway() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2528,9 +2602,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAnAzureApplicationGateway() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2574,39 +2649,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAnAzureLoadBalancer() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2639,9 +2716,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAnAzureLoadBalancer() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2685,53 +2763,55 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAutomaticRepairsEnabled() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - ScheduledEventsPolicy = new ScheduledEventsPolicy() - { - UserInitiatedRedeploy = new UserInitiatedRedeploy() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { + Mode = VirtualMachineScaleSetUpgradeMode.Manual, + }, + ScheduledEventsPolicy = new ScheduledEventsPolicy() + { + UserInitiatedRedeploy = new UserInitiatedRedeploy() + { + AutomaticallyApprove = true, + }, AutomaticallyApprove = true, + Enable = true, }, - AutomaticallyApprove = true, - Enable = true, - }, - AutomaticRepairsPolicy = new AutomaticRepairsPolicy() - { - Enabled = true, - GracePeriod = "PT10M", - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + AutomaticRepairsPolicy = new AutomaticRepairsPolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Enabled = true, + GracePeriod = "PT10M", }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2746,9 +2826,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithAutomaticRepairsEnabled() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2792,39 +2873,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithBootDiagnostics() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2839,14 +2922,15 @@ public async Task CreateOrUpdate_CreateAScaleSetWithBootDiagnostics() EnableIPForwarding = true, } }, + }, + BootDiagnostics = new BootDiagnostics() + { + Enabled = true, + StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), + }, }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), - }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -2890,37 +2974,39 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEmptyDataDisksOnEachVm() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - DiskSizeGB = 512, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", }, - }, - DataDisks = + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + DiskSizeGB = 512, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, + }, + DataDisks = { new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty) { @@ -2930,10 +3016,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEmptyDataDisksOnEachVm() DiskSizeGB = 1023, } }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + }, + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -2948,9 +3034,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEmptyDataDisksOnEachVm() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3000,44 +3087,46 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDiskProvisioningI Publisher = "microsoft-ads", Product = "windows-data-science-vm", }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "microsoft-ads", - Offer = "windows-data-science-vm", - Sku = "windows2016", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - DiffDiskSettings = new DiffDiskSettings() + ImageReference = new ImageReference() { - Option = DiffDiskOption.Local, - Placement = DiffDiskPlacement.NvmeDisk, + Publisher = "microsoft-ads", + Offer = "windows-data-science-vm", + Sku = "windows2016", + Version = "latest", }, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadOnly, + DiffDiskSettings = new DiffDiskSettings() + { + Option = DiffDiskOption.Local, + Placement = DiffDiskPlacement.NvmeDisk, + }, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3052,9 +3141,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDiskProvisioningI EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3104,44 +3194,46 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDisksUsingPlaceme Publisher = "microsoft-ads", Product = "windows-data-science-vm", }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "microsoft-ads", - Offer = "windows-data-science-vm", - Sku = "windows2016", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - DiffDiskSettings = new DiffDiskSettings() + ImageReference = new ImageReference() { - Option = DiffDiskOption.Local, - Placement = DiffDiskPlacement.ResourceDisk, + Publisher = "microsoft-ads", + Offer = "windows-data-science-vm", + Sku = "windows2016", + Version = "latest", }, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadOnly, + DiffDiskSettings = new DiffDiskSettings() + { + Option = DiffDiskOption.Local, + Placement = DiffDiskPlacement.ResourceDisk, + }, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3156,9 +3248,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDisksUsingPlaceme EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3208,43 +3301,45 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDisks() Publisher = "microsoft-ads", Product = "windows-data-science-vm", }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "microsoft-ads", - Offer = "windows-data-science-vm", - Sku = "windows2016", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadOnly, - DiffDiskSettings = new DiffDiskSettings() + ImageReference = new ImageReference() { - Option = DiffDiskOption.Local, + Publisher = "microsoft-ads", + Offer = "windows-data-science-vm", + Sku = "windows2016", + Version = "latest", }, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadOnly, + DiffDiskSettings = new DiffDiskSettings() + { + Option = DiffDiskOption.Local, + }, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3259,9 +3354,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithEphemeralOsDisks() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3305,39 +3401,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithExtensionTimeBudget() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3352,15 +3450,15 @@ public async Task CreateOrUpdate_CreateAScaleSetWithExtensionTimeBudget() EnableIPForwarding = true, } }, - }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), - }, - ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() - { - Extensions = + }, + BootDiagnostics = new BootDiagnostics() + { + Enabled = true, + StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), + }, + ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() + { + Extensions = { new VirtualMachineScaleSetExtensionData() { @@ -3373,10 +3471,11 @@ public async Task CreateOrUpdate_CreateAScaleSetWithExtensionTimeBudget() }), } }, - ExtensionsTimeBudget = "PT1H20M", + ExtensionsTimeBudget = "PT1H20M", + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3420,39 +3519,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithManagedBootDiagnostics() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3467,13 +3568,14 @@ public async Task CreateOrUpdate_CreateAScaleSetWithManagedBootDiagnostics() EnableIPForwarding = true, } }, + }, + BootDiagnostics = new BootDiagnostics() + { + Enabled = true, + }, }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3517,39 +3619,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPasswordAuthentication() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3564,9 +3668,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPasswordAuthentication() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3610,39 +3715,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPremiumStorage() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.PremiumLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.PremiumLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3657,9 +3764,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPremiumStorage() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -3703,35 +3811,37 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPriorityMixPolicy() Tier = "Standard", Capacity = 10L, }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() - { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", - }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3746,17 +3856,18 @@ public async Task CreateOrUpdate_CreateAScaleSetWithPriorityMixPolicy() EnableIPForwarding = true, } }, + }, + Priority = VirtualMachinePriorityType.Spot, + EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, + BillingMaxPrice = -1, + }, + SinglePlacementGroup = false, + OrchestrationMode = OrchestrationMode.Flexible, + PriorityMixPolicy = new VirtualMachineScaleSetPriorityMixPolicy() + { + BaseRegularPriorityCount = 4, + RegularPriorityPercentageAboveBase = 50, }, - Priority = VirtualMachinePriorityType.Spot, - EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, - BillingMaxPrice = -1, - }, - SinglePlacementGroup = false, - OrchestrationMode = OrchestrationMode.Flexible, - PriorityMixPolicy = new VirtualMachineScaleSetPriorityMixPolicy() - { - BaseRegularPriorityCount = 4, - RegularPriorityPercentageAboveBase = 50, }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -3801,39 +3912,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithScaleInPolicy() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3848,16 +3961,17 @@ public async Task CreateOrUpdate_CreateAScaleSetWithScaleInPolicy() EnableIPForwarding = true, } }, + }, }, - }, - Overprovision = true, - ScaleInPolicy = new ScaleInPolicy() - { - Rules = + Overprovision = true, + ScaleInPolicy = new ScaleInPolicy() + { + Rules = { VirtualMachineScaleSetScaleInRule.OldestVm }, - ForceDeletion = true, + ForceDeletion = true, + }, }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -3901,35 +4015,37 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSkuProfile() Name = "Mix", Capacity = 10L, }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", - }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() - { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -3944,21 +4060,21 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSkuProfile() EnableIPForwarding = true, } }, + }, + Priority = VirtualMachinePriorityType.Spot, + EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, + BillingMaxPrice = -1, }, - Priority = VirtualMachinePriorityType.Spot, - EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, - BillingMaxPrice = -1, - }, - SinglePlacementGroup = false, - OrchestrationMode = OrchestrationMode.Flexible, - PriorityMixPolicy = new VirtualMachineScaleSetPriorityMixPolicy() - { - BaseRegularPriorityCount = 4, - RegularPriorityPercentageAboveBase = 50, - }, - SkuProfile = new ComputeSkuProfile() - { - VmSizes = + SinglePlacementGroup = false, + OrchestrationMode = OrchestrationMode.Flexible, + PriorityMixPolicy = new VirtualMachineScaleSetPriorityMixPolicy() + { + BaseRegularPriorityCount = 4, + RegularPriorityPercentageAboveBase = 50, + }, + SkuProfile = new ComputeSkuProfile() + { + VmSizes = { new ComputeSkuProfileVmSize() { @@ -3971,7 +4087,8 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSkuProfile() Name = "Standard_D2s_v5", } }, - AllocationStrategy = ComputeAllocationStrategy.CapacityOptimized, + AllocationStrategy = ComputeAllocationStrategy.CapacityOptimized, + }, }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -4016,39 +4133,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSpotRestorePolicy() Tier = "Standard", Capacity = 2L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4063,16 +4182,17 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSpotRestorePolicy() EnableIPForwarding = true, } }, + }, + Priority = VirtualMachinePriorityType.Spot, + EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, + BillingMaxPrice = -1, + }, + Overprovision = true, + SpotRestorePolicy = new SpotRestorePolicy() + { + Enabled = true, + RestoreTimeout = "PT1H", }, - Priority = VirtualMachinePriorityType.Spot, - EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate, - BillingMaxPrice = -1, - }, - Overprovision = true, - SpotRestorePolicy = new SpotRestorePolicy() - { - Enabled = true, - RestoreTimeout = "PT1H", }, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); @@ -4117,20 +4237,22 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSshAuthentication() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - LinuxConfiguration = new LinuxConfiguration() + Mode = VirtualMachineScaleSetUpgradeMode.Manual, + }, + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + { + OSProfile = new VirtualMachineScaleSetOSProfile() { - IsPasswordAuthenticationDisabled = true, - SshPublicKeys = + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + LinuxConfiguration = new LinuxConfiguration() + { + IsPasswordAuthenticationDisabled = true, + SshPublicKeys = { new SshPublicKeyConfiguration() { @@ -4138,29 +4260,29 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSshAuthentication() KeyData = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1", } }, + }, }, - }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() - { - ImageReference = new ImageReference() - { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", - }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4175,9 +4297,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithSshAuthentication() EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4221,39 +4344,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithTerminateScheduledEventsEnab Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4268,17 +4393,18 @@ public async Task CreateOrUpdate_CreateAScaleSetWithTerminateScheduledEventsEnab EnableIPForwarding = true, } }, - }, - ScheduledEventsProfile = new ComputeScheduledEventsProfile() - { - TerminateNotificationProfile = new TerminateNotificationProfile() + }, + ScheduledEventsProfile = new ComputeScheduledEventsProfile() { - NotBeforeTimeout = "PT5M", - Enable = true, + TerminateNotificationProfile = new TerminateNotificationProfile() + { + NotBeforeTimeout = "PT5M", + Enable = true, + }, }, }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4322,39 +4448,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithUserData() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4369,10 +4497,11 @@ public async Task CreateOrUpdate_CreateAScaleSetWithUserData() EnableIPForwarding = true, } }, + }, + UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", }, - UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4416,41 +4545,39 @@ public async Task CreateOrUpdate_CreateAScaleSetWithVirtualMachinesInDifferentZo Tier = "Standard", Capacity = 2L, }, - Zones = -{ -"1","3" -}, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Automatic, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Automatic, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - DiskSizeGB = 512, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", }, - }, - DataDisks = + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + DiskSizeGB = 512, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, + }, + DataDisks = { new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty) { @@ -4460,10 +4587,10 @@ public async Task CreateOrUpdate_CreateAScaleSetWithVirtualMachinesInDifferentZo DiskSizeGB = 1023, } }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + }, + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4478,9 +4605,14 @@ public async Task CreateOrUpdate_CreateAScaleSetWithVirtualMachinesInDifferentZo EnableIPForwarding = true, } }, + }, }, + Overprovision = true, }, - Overprovision = true, + Zones = +{ +"1","3" +}, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4524,39 +4656,41 @@ public async Task CreateOrUpdate_CreateAScaleSetWithVmSizeProperties() Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4571,15 +4705,16 @@ public async Task CreateOrUpdate_CreateAScaleSetWithVmSizeProperties() EnableIPForwarding = true, } }, + }, + UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", + HardwareVmSizeProperties = new VirtualMachineSizeProperties() + { + VCpusAvailable = 1, + VCpusPerCore = 1, + }, }, - UserData = "RXhhbXBsZSBVc2VyRGF0YQ==", - HardwareVmSizeProperties = new VirtualMachineSizeProperties() - { - VCpusAvailable = 1, - VCpusPerCore = 1, - }, + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4623,48 +4758,50 @@ public async Task CreateOrUpdate_CreateAScaleSetWithZonalPlatformFaultDomainAlig Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - ScheduledEventsPolicy = new ScheduledEventsPolicy() - { - UserInitiatedRedeploy = new UserInitiatedRedeploy() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - AutomaticallyApprove = true, + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - AutomaticallyApprove = true, - Enable = true, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() - { - OSProfile = new VirtualMachineScaleSetOSProfile() + ScheduledEventsPolicy = new ScheduledEventsPolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + UserInitiatedRedeploy = new UserInitiatedRedeploy() + { + AutomaticallyApprove = true, + }, + AutomaticallyApprove = true, + Enable = true, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() + { + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) { - StorageAccountType = StorageAccountType.StandardLrs, + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4679,10 +4816,11 @@ public async Task CreateOrUpdate_CreateAScaleSetWithZonalPlatformFaultDomainAlig EnableIPForwarding = true, } }, + }, }, + Overprovision = true, + ZonalPlatformFaultDomainAlignMode = ZonalPlatformFaultDomainAlignMode.Aligned, }, - Overprovision = true, - ZonalPlatformFaultDomainAlignMode = ZonalPlatformFaultDomainAlignMode.Aligned, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; @@ -4726,39 +4864,41 @@ public async Task CreateOrUpdate_CreateOrUpdateAScaleSetWithCapacityReservation( Tier = "Standard", Capacity = 3L, }, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() - { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - }, - VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() + Properties = new VirtualMachineScaleSetProperties() { - OSProfile = new VirtualMachineScaleSetOSProfile() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - ComputerNamePrefix = "{vmss-name}", - AdminUsername = "{your-username}", - AdminPassword = "{your-password}", + Mode = VirtualMachineScaleSetUpgradeMode.Manual, }, - StorageProfile = new VirtualMachineScaleSetStorageProfile() + VirtualMachineProfile = new VirtualMachineScaleSetVmProfile() { - ImageReference = new ImageReference() + OSProfile = new VirtualMachineScaleSetOSProfile() { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", + ComputerNamePrefix = "{vmss-name}", + AdminUsername = "{your-username}", + AdminPassword = "{your-password}", }, - OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + StorageProfile = new VirtualMachineScaleSetStorageProfile() { - Caching = CachingType.ReadWrite, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() + ImageReference = new ImageReference() { - StorageAccountType = StorageAccountType.StandardLrs, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + }, + OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage) + { + Caching = CachingType.ReadWrite, + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + }, }, }, - }, - NetworkProfile = new VirtualMachineScaleSetNetworkProfile() - { - NetworkInterfaceConfigurations = + NetworkProfile = new VirtualMachineScaleSetNetworkProfile() + { + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}") { @@ -4773,10 +4913,11 @@ public async Task CreateOrUpdate_CreateOrUpdateAScaleSetWithCapacityReservation( EnableIPForwarding = true, } }, + }, + CapacityReservationGroupId = new ResourceIdentifier("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"), }, - CapacityReservationGroupId = new ResourceIdentifier("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"), + Overprovision = true, }, - Overprovision = true, }; ArmOperation lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data); VirtualMachineScaleSetResource result = lro.Value; diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs index 195d2f33d442..1e01df38da26 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs @@ -106,10 +106,35 @@ public static VirtualMachineSize VirtualMachineSize(string name = null, int? num /// The location. /// The virtual machine scale set sku. /// 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**. + /// Describes the properties of a Virtual Machine Scale Set. /// The identity of the virtual machine scale set, if configured. /// The virtual machine scale set zones. /// The extended location of the Virtual Machine Scale Set. /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. + /// A new instance for mocking. + public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, ComputeSku sku = null, ComputePlan plan = null, VirtualMachineScaleSetProperties properties = null, ManagedServiceIdentity identity = null, IEnumerable zones = null, ExtendedLocation extendedLocation = null, string etag = null) + { + tags ??= new Dictionary(); + zones ??= new List(); + + return new VirtualMachineScaleSetData( + id, + name, + resourceType, + systemData, + tags, + location, + sku, + plan, + properties, + identity, + zones?.ToList(), + extendedLocation, + etag, + serializedAdditionalRawData: null); + } + + /// Initializes a new instance of . /// The upgrade policy. /// The ScheduledEventsPolicy. /// Policy for automatic repairs. @@ -129,29 +154,17 @@ public static VirtualMachineSize VirtualMachineSize(string name = null, int? num /// Specifies the Spot Restore properties for the virtual machine scale set. /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. + /// Optional property which must either be set to True or omitted. /// Policy for Resiliency. /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. /// Specifies the sku profile for the virtual machine scale set. - /// A new instance for mocking. - public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, ComputeSku sku = null, ComputePlan plan = null, ManagedServiceIdentity identity = null, IEnumerable zones = null, ExtendedLocation extendedLocation = null, string etag = null, VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, ScheduledEventsPolicy scheduledEventsPolicy = null, AutomaticRepairsPolicy automaticRepairsPolicy = null, VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = null, bool? doNotRunExtensionsOnOverprovisionedVms = null, string uniqueId = null, bool? singlePlacementGroup = null, bool? zoneBalance = null, int? platformFaultDomainCount = null, ResourceIdentifier proximityPlacementGroupId = null, ResourceIdentifier hostGroupId = null, AdditionalCapabilities additionalCapabilities = null, ScaleInPolicy scaleInPolicy = null, OrchestrationMode? orchestrationMode = null, SpotRestorePolicy spotRestorePolicy = null, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, DateTimeOffset? timeCreated = null, bool? isMaximumCapacityConstrained = null, ResiliencyPolicy resiliencyPolicy = null, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = null, ComputeSkuProfile skuProfile = null) + /// Additional Properties. + /// A new instance for mocking. + public static VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, ScheduledEventsPolicy scheduledEventsPolicy = null, AutomaticRepairsPolicy automaticRepairsPolicy = null, VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = null, bool? doNotRunExtensionsOnOverprovisionedVms = null, string uniqueId = null, bool? singlePlacementGroup = null, bool? zoneBalance = null, int? platformFaultDomainCount = null, ResourceIdentifier proximityPlacementGroupId = null, ResourceIdentifier hostGroupId = null, AdditionalCapabilities additionalCapabilities = null, ScaleInPolicy scaleInPolicy = null, OrchestrationMode? orchestrationMode = null, SpotRestorePolicy spotRestorePolicy = null, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, DateTimeOffset? timeCreated = null, bool? constrainedMaximumCapacity = null, ResiliencyPolicy resiliencyPolicy = null, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = null, ComputeSkuProfile skuProfile = null, IDictionary additionalProperties = null) { - tags ??= new Dictionary(); - zones ??= new List(); + additionalProperties ??= new Dictionary(); - return new VirtualMachineScaleSetData( - id, - name, - resourceType, - systemData, - tags, - location, - sku, - plan, - identity, - zones?.ToList(), - extendedLocation, - etag, + return new VirtualMachineScaleSetProperties( upgradePolicy, scheduledEventsPolicy, automaticRepairsPolicy, @@ -171,11 +184,11 @@ public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIden spotRestorePolicy, priorityMixPolicy, timeCreated, - isMaximumCapacityConstrained, + constrainedMaximumCapacity, resiliencyPolicy, zonalPlatformFaultDomainAlignMode, skuProfile, - serializedAdditionalRawData: null); + additionalProperties); } /// Initializes a new instance of . @@ -4224,47 +4237,6 @@ public static OSVersionPropertiesBase OSVersionPropertiesBase(string version = n return new OSVersionPropertiesBase(version, label, isDefault, isActive, serializedAdditionalRawData: null); } - /// Initializes a new instance of . - /// The id. - /// The name. - /// The resourceType. - /// The systemData. - /// The tags. - /// The location. - /// The virtual machine scale set sku. - /// 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**. - /// The identity of the virtual machine scale set, if configured. - /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. - /// The extended location of the Virtual Machine Scale Set. - /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. - /// The upgrade policy. - /// The ScheduledEventsPolicy. - /// Policy for automatic repairs. - /// The virtual machine profile. - /// The provisioning state, which only appears in the response. - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - /// 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. - /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. - /// 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. - /// 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. - /// Fault Domain count for each placement group. - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. - /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. - /// 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. - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - /// Specifies the orchestration mode for the virtual machine scale set. - /// Specifies the Spot Restore properties for the virtual machine scale set. - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. - /// Policy for Resiliency. - /// A new instance for mocking. - [EditorBrowsable(EditorBrowsableState.Never)] - public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IEnumerable zones, ExtendedLocation extendedLocation, string etag, VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, ResourceIdentifier proximityPlacementGroupId, ResourceIdentifier hostGroupId, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy) - { - return VirtualMachineScaleSetData(id: id, name: name, resourceType: resourceType, systemData: systemData, tags: tags, location: location, sku: sku, plan: plan, identity: identity, zones: zones, extendedLocation: extendedLocation, etag: etag, upgradePolicy: upgradePolicy, scheduledEventsPolicy: scheduledEventsPolicy, automaticRepairsPolicy: automaticRepairsPolicy, virtualMachineProfile: virtualMachineProfile, provisioningState: provisioningState, overprovision: overprovision, doNotRunExtensionsOnOverprovisionedVms: doNotRunExtensionsOnOverprovisionedVms, uniqueId: uniqueId, singlePlacementGroup: singlePlacementGroup, zoneBalance: zoneBalance, platformFaultDomainCount: platformFaultDomainCount, proximityPlacementGroupId: proximityPlacementGroupId, hostGroupId: hostGroupId, additionalCapabilities: additionalCapabilities, scaleInPolicy: scaleInPolicy, orchestrationMode: orchestrationMode, spotRestorePolicy: spotRestorePolicy, priorityMixPolicy: priorityMixPolicy, timeCreated: timeCreated, isMaximumCapacityConstrained: isMaximumCapacityConstrained, resiliencyPolicy: resiliencyPolicy, zonalPlatformFaultDomainAlignMode: default, skuProfile: default); - } - /// Initializes a new instance of . /// The id. /// The name. @@ -4329,46 +4301,6 @@ public static DiskRestorePointData DiskRestorePointData(ResourceIdentifier id, s return DiskRestorePointData(id: id, name: name, resourceType: resourceType, systemData: systemData, timeCreated: timeCreated, sourceResourceId: sourceResourceId, osType: osType, hyperVGeneration: hyperVGeneration, purchasePlan: purchasePlan, supportedCapabilities: supportedCapabilities, familyId: familyId, sourceUniqueId: sourceUniqueId, encryption: encryption, supportsHibernation: supportsHibernation, networkAccessPolicy: networkAccessPolicy, publicNetworkAccess: publicNetworkAccess, diskAccessId: diskAccessId, completionPercent: completionPercent, replicationState: replicationState, sourceResourceLocation: sourceResourceLocation, securityProfile: securityProfile, logicalSectorSize: default); } - /// Initializes a new instance of . - /// The id. - /// The name. - /// The resourceType. - /// The systemData. - /// The tags. - /// The location. - /// The virtual machine scale set sku. - /// 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**. - /// The identity of the virtual machine scale set, if configured. - /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. - /// The extended location of the Virtual Machine Scale Set. - /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. - /// The upgrade policy. - /// Policy for automatic repairs. - /// The virtual machine profile. - /// The provisioning state, which only appears in the response. - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - /// 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. - /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. - /// 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. - /// 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. - /// Fault Domain count for each placement group. - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. - /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. - /// 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. - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - /// Specifies the orchestration mode for the virtual machine scale set. - /// Specifies the Spot Restore properties for the virtual machine scale set. - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. - /// Policy for Resiliency. - /// A new instance for mocking. - [EditorBrowsable(EditorBrowsableState.Never)] - public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IEnumerable zones, ExtendedLocation extendedLocation, string etag, VirtualMachineScaleSetUpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, ResourceIdentifier proximityPlacementGroupId, ResourceIdentifier hostGroupId, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy) - { - return VirtualMachineScaleSetData(id: id, name: name, resourceType: resourceType, systemData: systemData, tags: tags, location: location, sku: sku, plan: plan, identity: identity, zones: zones, extendedLocation: extendedLocation, etag: etag, upgradePolicy: upgradePolicy, scheduledEventsPolicy: default, automaticRepairsPolicy: automaticRepairsPolicy, virtualMachineProfile: virtualMachineProfile, provisioningState: provisioningState, overprovision: overprovision, doNotRunExtensionsOnOverprovisionedVms: doNotRunExtensionsOnOverprovisionedVms, uniqueId: uniqueId, singlePlacementGroup: singlePlacementGroup, zoneBalance: zoneBalance, platformFaultDomainCount: platformFaultDomainCount, proximityPlacementGroupId: proximityPlacementGroupId, hostGroupId: hostGroupId, additionalCapabilities: additionalCapabilities, scaleInPolicy: scaleInPolicy, orchestrationMode: orchestrationMode, spotRestorePolicy: spotRestorePolicy, priorityMixPolicy: priorityMixPolicy, timeCreated: timeCreated, isMaximumCapacityConstrained: isMaximumCapacityConstrained, resiliencyPolicy: resiliencyPolicy, zonalPlatformFaultDomainAlignMode: default, skuProfile: default); - } - /// Initializes a new instance of . /// 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. /// The disk name. diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs new file mode 100644 index 000000000000..55079a22d4e4 --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs @@ -0,0 +1,474 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Compute.Models +{ + public partial class VirtualMachineScaleSetProperties : IUtf8JsonSerializable, IJsonModel + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) => ((IJsonModel)this).Write(writer, ModelSerializationExtensions.WireOptions); + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + writer.WriteStartObject(); + JsonModelWriteCore(writer, options); + writer.WriteEndObject(); + } + + /// The JSON writer. + /// The client options for reading and writing models. + protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(VirtualMachineScaleSetProperties)} does not support writing '{format}' format."); + } + + if (Optional.IsDefined(UpgradePolicy)) + { + writer.WritePropertyName("upgradePolicy"u8); + writer.WriteObjectValue(UpgradePolicy, options); + } + if (Optional.IsDefined(ScheduledEventsPolicy)) + { + writer.WritePropertyName("scheduledEventsPolicy"u8); + writer.WriteObjectValue(ScheduledEventsPolicy, options); + } + if (Optional.IsDefined(AutomaticRepairsPolicy)) + { + writer.WritePropertyName("automaticRepairsPolicy"u8); + writer.WriteObjectValue(AutomaticRepairsPolicy, options); + } + if (Optional.IsDefined(VirtualMachineProfile)) + { + writer.WritePropertyName("virtualMachineProfile"u8); + writer.WriteObjectValue(VirtualMachineProfile, options); + } + if (options.Format != "W" && Optional.IsDefined(ProvisioningState)) + { + writer.WritePropertyName("provisioningState"u8); + writer.WriteStringValue(ProvisioningState); + } + if (Optional.IsDefined(Overprovision)) + { + writer.WritePropertyName("overprovision"u8); + writer.WriteBooleanValue(Overprovision.Value); + } + if (Optional.IsDefined(DoNotRunExtensionsOnOverprovisionedVms)) + { + writer.WritePropertyName("doNotRunExtensionsOnOverprovisionedVMs"u8); + writer.WriteBooleanValue(DoNotRunExtensionsOnOverprovisionedVms.Value); + } + if (options.Format != "W" && Optional.IsDefined(UniqueId)) + { + writer.WritePropertyName("uniqueId"u8); + writer.WriteStringValue(UniqueId); + } + if (Optional.IsDefined(SinglePlacementGroup)) + { + writer.WritePropertyName("singlePlacementGroup"u8); + writer.WriteBooleanValue(SinglePlacementGroup.Value); + } + if (Optional.IsDefined(ZoneBalance)) + { + writer.WritePropertyName("zoneBalance"u8); + writer.WriteBooleanValue(ZoneBalance.Value); + } + if (Optional.IsDefined(PlatformFaultDomainCount)) + { + writer.WritePropertyName("platformFaultDomainCount"u8); + writer.WriteNumberValue(PlatformFaultDomainCount.Value); + } + if (Optional.IsDefined(ProximityPlacementGroup)) + { + writer.WritePropertyName("proximityPlacementGroup"u8); + JsonSerializer.Serialize(writer, ProximityPlacementGroup); + } + if (Optional.IsDefined(HostGroup)) + { + writer.WritePropertyName("hostGroup"u8); + JsonSerializer.Serialize(writer, HostGroup); + } + if (Optional.IsDefined(AdditionalCapabilities)) + { + writer.WritePropertyName("additionalCapabilities"u8); + writer.WriteObjectValue(AdditionalCapabilities, options); + } + if (Optional.IsDefined(ScaleInPolicy)) + { + writer.WritePropertyName("scaleInPolicy"u8); + writer.WriteObjectValue(ScaleInPolicy, options); + } + if (Optional.IsDefined(OrchestrationMode)) + { + writer.WritePropertyName("orchestrationMode"u8); + writer.WriteStringValue(OrchestrationMode.Value.ToString()); + } + if (Optional.IsDefined(SpotRestorePolicy)) + { + writer.WritePropertyName("spotRestorePolicy"u8); + writer.WriteObjectValue(SpotRestorePolicy, options); + } + if (Optional.IsDefined(PriorityMixPolicy)) + { + writer.WritePropertyName("priorityMixPolicy"u8); + writer.WriteObjectValue(PriorityMixPolicy, options); + } + if (options.Format != "W" && Optional.IsDefined(TimeCreated)) + { + writer.WritePropertyName("timeCreated"u8); + writer.WriteStringValue(TimeCreated.Value, "O"); + } + if (Optional.IsDefined(ConstrainedMaximumCapacity)) + { + writer.WritePropertyName("constrainedMaximumCapacity"u8); + writer.WriteBooleanValue(ConstrainedMaximumCapacity.Value); + } + if (Optional.IsDefined(ResiliencyPolicy)) + { + writer.WritePropertyName("resiliencyPolicy"u8); + writer.WriteObjectValue(ResiliencyPolicy, options); + } + if (Optional.IsDefined(ZonalPlatformFaultDomainAlignMode)) + { + writer.WritePropertyName("zonalPlatformFaultDomainAlignMode"u8); + writer.WriteStringValue(ZonalPlatformFaultDomainAlignMode.Value.ToString()); + } + if (Optional.IsDefined(SkuProfile)) + { + writer.WritePropertyName("skuProfile"u8); + writer.WriteObjectValue(SkuProfile, options); + } + foreach (var item in AdditionalProperties) + { + writer.WritePropertyName(item.Key); +#if NET6_0_OR_GREATER + writer.WriteRawValue(item.Value); +#else + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); + } +#endif + } + } + + VirtualMachineScaleSetProperties IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(VirtualMachineScaleSetProperties)} does not support reading '{format}' format."); + } + + using JsonDocument document = JsonDocument.ParseValue(ref reader); + return DeserializeVirtualMachineScaleSetProperties(document.RootElement, options); + } + + internal static VirtualMachineScaleSetProperties DeserializeVirtualMachineScaleSetProperties(JsonElement element, ModelReaderWriterOptions options = null) + { + options ??= ModelSerializationExtensions.WireOptions; + + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + VirtualMachineScaleSetUpgradePolicy upgradePolicy = default; + ScheduledEventsPolicy scheduledEventsPolicy = default; + AutomaticRepairsPolicy automaticRepairsPolicy = default; + VirtualMachineScaleSetVmProfile virtualMachineProfile = default; + string provisioningState = default; + bool? overprovision = default; + bool? doNotRunExtensionsOnOverprovisionedVms = default; + string uniqueId = default; + bool? singlePlacementGroup = default; + bool? zoneBalance = default; + int? platformFaultDomainCount = default; + WritableSubResource proximityPlacementGroup = default; + WritableSubResource hostGroup = default; + AdditionalCapabilities additionalCapabilities = default; + ScaleInPolicy scaleInPolicy = default; + OrchestrationMode? orchestrationMode = default; + SpotRestorePolicy spotRestorePolicy = default; + VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = default; + DateTimeOffset? timeCreated = default; + bool? constrainedMaximumCapacity = default; + ResiliencyPolicy resiliencyPolicy = default; + ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default; + ComputeSkuProfile skuProfile = default; + IDictionary additionalProperties = default; + Dictionary additionalPropertiesDictionary = new Dictionary(); + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("upgradePolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + upgradePolicy = VirtualMachineScaleSetUpgradePolicy.DeserializeVirtualMachineScaleSetUpgradePolicy(property.Value, options); + continue; + } + if (property.NameEquals("scheduledEventsPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + scheduledEventsPolicy = ScheduledEventsPolicy.DeserializeScheduledEventsPolicy(property.Value, options); + continue; + } + if (property.NameEquals("automaticRepairsPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + automaticRepairsPolicy = AutomaticRepairsPolicy.DeserializeAutomaticRepairsPolicy(property.Value, options); + continue; + } + if (property.NameEquals("virtualMachineProfile"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + virtualMachineProfile = VirtualMachineScaleSetVmProfile.DeserializeVirtualMachineScaleSetVmProfile(property.Value, options); + continue; + } + if (property.NameEquals("provisioningState"u8)) + { + provisioningState = property.Value.GetString(); + continue; + } + if (property.NameEquals("overprovision"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + overprovision = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("doNotRunExtensionsOnOverprovisionedVMs"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + doNotRunExtensionsOnOverprovisionedVms = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("uniqueId"u8)) + { + uniqueId = property.Value.GetString(); + continue; + } + if (property.NameEquals("singlePlacementGroup"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + singlePlacementGroup = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("zoneBalance"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + zoneBalance = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("platformFaultDomainCount"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + platformFaultDomainCount = property.Value.GetInt32(); + continue; + } + if (property.NameEquals("proximityPlacementGroup"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + proximityPlacementGroup = JsonSerializer.Deserialize(property.Value.GetRawText()); + continue; + } + if (property.NameEquals("hostGroup"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + hostGroup = JsonSerializer.Deserialize(property.Value.GetRawText()); + continue; + } + if (property.NameEquals("additionalCapabilities"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property.Value, options); + continue; + } + if (property.NameEquals("scaleInPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + scaleInPolicy = ScaleInPolicy.DeserializeScaleInPolicy(property.Value, options); + continue; + } + if (property.NameEquals("orchestrationMode"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + orchestrationMode = new OrchestrationMode(property.Value.GetString()); + continue; + } + if (property.NameEquals("spotRestorePolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + spotRestorePolicy = SpotRestorePolicy.DeserializeSpotRestorePolicy(property.Value, options); + continue; + } + if (property.NameEquals("priorityMixPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + priorityMixPolicy = VirtualMachineScaleSetPriorityMixPolicy.DeserializeVirtualMachineScaleSetPriorityMixPolicy(property.Value, options); + continue; + } + if (property.NameEquals("timeCreated"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + timeCreated = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("constrainedMaximumCapacity"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + constrainedMaximumCapacity = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("resiliencyPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + resiliencyPolicy = ResiliencyPolicy.DeserializeResiliencyPolicy(property.Value, options); + continue; + } + if (property.NameEquals("zonalPlatformFaultDomainAlignMode"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + zonalPlatformFaultDomainAlignMode = new ZonalPlatformFaultDomainAlignMode(property.Value.GetString()); + continue; + } + if (property.NameEquals("skuProfile"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + skuProfile = ComputeSkuProfile.DeserializeComputeSkuProfile(property.Value, options); + continue; + } + additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); + } + additionalProperties = additionalPropertiesDictionary; + return new VirtualMachineScaleSetProperties( + upgradePolicy, + scheduledEventsPolicy, + automaticRepairsPolicy, + virtualMachineProfile, + provisioningState, + overprovision, + doNotRunExtensionsOnOverprovisionedVms, + uniqueId, + singlePlacementGroup, + zoneBalance, + platformFaultDomainCount, + proximityPlacementGroup, + hostGroup, + additionalCapabilities, + scaleInPolicy, + orchestrationMode, + spotRestorePolicy, + priorityMixPolicy, + timeCreated, + constrainedMaximumCapacity, + resiliencyPolicy, + zonalPlatformFaultDomainAlignMode, + skuProfile, + additionalProperties); + } + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + return ModelReaderWriter.Write(this, options); + default: + throw new FormatException($"The model {nameof(VirtualMachineScaleSetProperties)} does not support writing '{options.Format}' format."); + } + } + + VirtualMachineScaleSetProperties IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + { + using JsonDocument document = JsonDocument.Parse(data); + return DeserializeVirtualMachineScaleSetProperties(document.RootElement, options); + } + default: + throw new FormatException($"The model {nameof(VirtualMachineScaleSetProperties)} does not support reading '{options.Format}' format."); + } + } + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J"; + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs new file mode 100644 index 000000000000..72532e83e3f1 --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs @@ -0,0 +1,179 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using Azure.Core; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Compute.Models +{ + /// Describes the properties of a Virtual Machine Scale Set. + public partial class VirtualMachineScaleSetProperties + { + /// Initializes a new instance of . + public VirtualMachineScaleSetProperties() + { + AdditionalProperties = new ChangeTrackingDictionary(); + } + + /// Initializes a new instance of . + /// The upgrade policy. + /// The ScheduledEventsPolicy. + /// Policy for automatic repairs. + /// The virtual machine profile. + /// The provisioning state, which only appears in the response. + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// 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. + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + /// 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. + /// 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. + /// Fault Domain count for each placement group. + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// 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. + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// Specifies the orchestration mode for the virtual machine scale set. + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + /// Optional property which must either be set to True or omitted. + /// Policy for Resiliency. + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + /// Specifies the sku profile for the virtual machine scale set. + /// Additional Properties. + internal VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, WritableSubResource proximityPlacementGroup, WritableSubResource hostGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? constrainedMaximumCapacity, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile, IDictionary additionalProperties) + { + UpgradePolicy = upgradePolicy; + ScheduledEventsPolicy = scheduledEventsPolicy; + AutomaticRepairsPolicy = automaticRepairsPolicy; + VirtualMachineProfile = virtualMachineProfile; + ProvisioningState = provisioningState; + Overprovision = overprovision; + DoNotRunExtensionsOnOverprovisionedVms = doNotRunExtensionsOnOverprovisionedVms; + UniqueId = uniqueId; + SinglePlacementGroup = singlePlacementGroup; + ZoneBalance = zoneBalance; + PlatformFaultDomainCount = platformFaultDomainCount; + ProximityPlacementGroup = proximityPlacementGroup; + HostGroup = hostGroup; + AdditionalCapabilities = additionalCapabilities; + ScaleInPolicy = scaleInPolicy; + OrchestrationMode = orchestrationMode; + SpotRestorePolicy = spotRestorePolicy; + PriorityMixPolicy = priorityMixPolicy; + TimeCreated = timeCreated; + ConstrainedMaximumCapacity = constrainedMaximumCapacity; + ResiliencyPolicy = resiliencyPolicy; + ZonalPlatformFaultDomainAlignMode = zonalPlatformFaultDomainAlignMode; + SkuProfile = skuProfile; + AdditionalProperties = additionalProperties; + } + + /// The upgrade policy. + public VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get; set; } + /// The ScheduledEventsPolicy. + public ScheduledEventsPolicy ScheduledEventsPolicy { get; set; } + /// Policy for automatic repairs. + public AutomaticRepairsPolicy AutomaticRepairsPolicy { get; set; } + /// The virtual machine profile. + public VirtualMachineScaleSetVmProfile VirtualMachineProfile { get; set; } + /// The provisioning state, which only appears in the response. + public string ProvisioningState { get; } + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + public bool? Overprovision { get; set; } + /// 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. + public bool? DoNotRunExtensionsOnOverprovisionedVms { get; set; } + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + public string UniqueId { get; } + /// 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. + public bool? SinglePlacementGroup { get; set; } + /// 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. + public bool? ZoneBalance { get; set; } + /// Fault Domain count for each placement group. + public int? PlatformFaultDomainCount { get; set; } + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + internal WritableSubResource ProximityPlacementGroup { get; set; } + /// Gets or sets Id. + public ResourceIdentifier ProximityPlacementGroupId + { + get => ProximityPlacementGroup is null ? default : ProximityPlacementGroup.Id; + set + { + if (ProximityPlacementGroup is null) + ProximityPlacementGroup = new WritableSubResource(); + ProximityPlacementGroup.Id = value; + } + } + + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + internal WritableSubResource HostGroup { get; set; } + /// Gets or sets Id. + public ResourceIdentifier HostGroupId + { + get => HostGroup is null ? default : HostGroup.Id; + set + { + if (HostGroup is null) + HostGroup = new WritableSubResource(); + HostGroup.Id = value; + } + } + + /// 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. + public AdditionalCapabilities AdditionalCapabilities { get; set; } + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + public ScaleInPolicy ScaleInPolicy { get; set; } + /// Specifies the orchestration mode for the virtual machine scale set. + public OrchestrationMode? OrchestrationMode { get; set; } + /// Specifies the Spot Restore properties for the virtual machine scale set. + public SpotRestorePolicy SpotRestorePolicy { get; set; } + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get; set; } + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + public DateTimeOffset? TimeCreated { get; } + /// Optional property which must either be set to True or omitted. + public bool? ConstrainedMaximumCapacity { get; set; } + /// Policy for Resiliency. + public ResiliencyPolicy ResiliencyPolicy { get; set; } + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get; set; } + /// Specifies the sku profile for the virtual machine scale set. + public ComputeSkuProfile SkuProfile { get; set; } + /// + /// Additional Properties + /// + /// To assign an object to the value of this property use . + /// + /// + /// To assign an already formatted json string to this property use . + /// + /// + /// Examples: + /// + /// + /// BinaryData.FromObjectAsJson("foo") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromString("\"foo\"") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromObjectAsJson(new { key = "value" }) + /// Creates a payload of { "key": "value" }. + /// + /// + /// BinaryData.FromString("{\"key\": \"value\"}") + /// Creates a payload of { "key": "value" }. + /// + /// + /// + /// + public IDictionary AdditionalProperties { get; } + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.Serialization.cs index c7b9d7e6d0cb..cbb91a4dd430 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.Serialization.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.Serialization.cs @@ -49,20 +49,17 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit writer.WritePropertyName("automaticOSUpgradePolicy"u8); writer.WriteObjectValue(AutomaticOSUpgradePolicy, options); } - if (options.Format != "W" && _serializedAdditionalRawData != null) + foreach (var item in AdditionalProperties) { - foreach (var item in _serializedAdditionalRawData) - { - writer.WritePropertyName(item.Key); + writer.WritePropertyName(item.Key); #if NET6_0_OR_GREATER writer.WriteRawValue(item.Value); #else - using (JsonDocument document = JsonDocument.Parse(item.Value)) - { - JsonSerializer.Serialize(writer, document.RootElement); - } -#endif + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); } +#endif } } @@ -89,8 +86,8 @@ internal static VirtualMachineScaleSetUpgradePolicy DeserializeVirtualMachineSca VirtualMachineScaleSetUpgradeMode? mode = default; RollingUpgradePolicy rollingUpgradePolicy = default; AutomaticOSUpgradePolicy automaticOSUpgradePolicy = default; - IDictionary serializedAdditionalRawData = default; - Dictionary rawDataDictionary = new Dictionary(); + IDictionary additionalProperties = default; + Dictionary additionalPropertiesDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("mode"u8)) @@ -120,13 +117,10 @@ internal static VirtualMachineScaleSetUpgradePolicy DeserializeVirtualMachineSca automaticOSUpgradePolicy = AutomaticOSUpgradePolicy.DeserializeAutomaticOSUpgradePolicy(property.Value, options); continue; } - if (options.Format != "W") - { - rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); - } + additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } - serializedAdditionalRawData = rawDataDictionary; - return new VirtualMachineScaleSetUpgradePolicy(mode, rollingUpgradePolicy, automaticOSUpgradePolicy, serializedAdditionalRawData); + additionalProperties = additionalPropertiesDictionary; + return new VirtualMachineScaleSetUpgradePolicy(mode, rollingUpgradePolicy, automaticOSUpgradePolicy, additionalProperties); } BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.cs index b0068d404b34..8fb0458fa2c4 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetUpgradePolicy.cs @@ -13,8 +13,33 @@ namespace Azure.ResourceManager.Compute.Models /// Describes an upgrade policy - automatic, manual, or rolling. public partial class VirtualMachineScaleSetUpgradePolicy { + /// Initializes a new instance of . + public VirtualMachineScaleSetUpgradePolicy() + { + AdditionalProperties = new ChangeTrackingDictionary(); + } + + /// Initializes a new instance of . + /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. + /// The configuration parameters used while performing a rolling upgrade. + /// Configuration parameters used for performing automatic OS Upgrade. + /// Additional Properties. + internal VirtualMachineScaleSetUpgradePolicy(VirtualMachineScaleSetUpgradeMode? mode, RollingUpgradePolicy rollingUpgradePolicy, AutomaticOSUpgradePolicy automaticOSUpgradePolicy, IDictionary additionalProperties) + { + Mode = mode; + RollingUpgradePolicy = rollingUpgradePolicy; + AutomaticOSUpgradePolicy = automaticOSUpgradePolicy; + AdditionalProperties = additionalProperties; + } + + /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. + public VirtualMachineScaleSetUpgradeMode? Mode { get; set; } + /// The configuration parameters used while performing a rolling upgrade. + public RollingUpgradePolicy RollingUpgradePolicy { get; set; } + /// Configuration parameters used for performing automatic OS Upgrade. + public AutomaticOSUpgradePolicy AutomaticOSUpgradePolicy { get; set; } /// - /// Keeps track of any properties unknown to the library. + /// Additional Properties /// /// To assign an object to the value of this property use . /// @@ -43,31 +68,6 @@ public partial class VirtualMachineScaleSetUpgradePolicy /// /// /// - private IDictionary _serializedAdditionalRawData; - - /// Initializes a new instance of . - public VirtualMachineScaleSetUpgradePolicy() - { - } - - /// Initializes a new instance of . - /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. - /// The configuration parameters used while performing a rolling upgrade. - /// Configuration parameters used for performing automatic OS Upgrade. - /// Keeps track of any properties unknown to the library. - internal VirtualMachineScaleSetUpgradePolicy(VirtualMachineScaleSetUpgradeMode? mode, RollingUpgradePolicy rollingUpgradePolicy, AutomaticOSUpgradePolicy automaticOSUpgradePolicy, IDictionary serializedAdditionalRawData) - { - Mode = mode; - RollingUpgradePolicy = rollingUpgradePolicy; - AutomaticOSUpgradePolicy = automaticOSUpgradePolicy; - _serializedAdditionalRawData = serializedAdditionalRawData; - } - - /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. - public VirtualMachineScaleSetUpgradeMode? Mode { get; set; } - /// The configuration parameters used while performing a rolling upgrade. - public RollingUpgradePolicy RollingUpgradePolicy { get; set; } - /// Configuration parameters used for performing automatic OS Upgrade. - public AutomaticOSUpgradePolicy AutomaticOSUpgradePolicy { get; set; } + public IDictionary AdditionalProperties { get; } } } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.Serialization.cs index c4358dba7a23..208daadfae00 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.Serialization.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.Serialization.cs @@ -48,6 +48,11 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri writer.WritePropertyName("plan"u8); writer.WriteObjectValue(Plan, options); } + if (Optional.IsDefined(Properties)) + { + writer.WritePropertyName("properties"u8); + writer.WriteObjectValue(Properties, options); + } if (Optional.IsDefined(Identity)) { writer.WritePropertyName("identity"u8); @@ -73,124 +78,6 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri writer.WritePropertyName("etag"u8); writer.WriteStringValue(ETag); } - writer.WritePropertyName("properties"u8); - writer.WriteStartObject(); - if (Optional.IsDefined(UpgradePolicy)) - { - writer.WritePropertyName("upgradePolicy"u8); - writer.WriteObjectValue(UpgradePolicy, options); - } - if (Optional.IsDefined(ScheduledEventsPolicy)) - { - writer.WritePropertyName("scheduledEventsPolicy"u8); - writer.WriteObjectValue(ScheduledEventsPolicy, options); - } - if (Optional.IsDefined(AutomaticRepairsPolicy)) - { - writer.WritePropertyName("automaticRepairsPolicy"u8); - writer.WriteObjectValue(AutomaticRepairsPolicy, options); - } - if (Optional.IsDefined(VirtualMachineProfile)) - { - writer.WritePropertyName("virtualMachineProfile"u8); - writer.WriteObjectValue(VirtualMachineProfile, options); - } - if (options.Format != "W" && Optional.IsDefined(ProvisioningState)) - { - writer.WritePropertyName("provisioningState"u8); - writer.WriteStringValue(ProvisioningState); - } - if (Optional.IsDefined(Overprovision)) - { - writer.WritePropertyName("overprovision"u8); - writer.WriteBooleanValue(Overprovision.Value); - } - if (Optional.IsDefined(DoNotRunExtensionsOnOverprovisionedVms)) - { - writer.WritePropertyName("doNotRunExtensionsOnOverprovisionedVMs"u8); - writer.WriteBooleanValue(DoNotRunExtensionsOnOverprovisionedVms.Value); - } - if (options.Format != "W" && Optional.IsDefined(UniqueId)) - { - writer.WritePropertyName("uniqueId"u8); - writer.WriteStringValue(UniqueId); - } - if (Optional.IsDefined(SinglePlacementGroup)) - { - writer.WritePropertyName("singlePlacementGroup"u8); - writer.WriteBooleanValue(SinglePlacementGroup.Value); - } - if (Optional.IsDefined(ZoneBalance)) - { - writer.WritePropertyName("zoneBalance"u8); - writer.WriteBooleanValue(ZoneBalance.Value); - } - if (Optional.IsDefined(PlatformFaultDomainCount)) - { - writer.WritePropertyName("platformFaultDomainCount"u8); - writer.WriteNumberValue(PlatformFaultDomainCount.Value); - } - if (Optional.IsDefined(ProximityPlacementGroup)) - { - writer.WritePropertyName("proximityPlacementGroup"u8); - JsonSerializer.Serialize(writer, ProximityPlacementGroup); - } - if (Optional.IsDefined(HostGroup)) - { - writer.WritePropertyName("hostGroup"u8); - JsonSerializer.Serialize(writer, HostGroup); - } - if (Optional.IsDefined(AdditionalCapabilities)) - { - writer.WritePropertyName("additionalCapabilities"u8); - writer.WriteObjectValue(AdditionalCapabilities, options); - } - if (Optional.IsDefined(ScaleInPolicy)) - { - writer.WritePropertyName("scaleInPolicy"u8); - writer.WriteObjectValue(ScaleInPolicy, options); - } - if (Optional.IsDefined(OrchestrationMode)) - { - writer.WritePropertyName("orchestrationMode"u8); - writer.WriteStringValue(OrchestrationMode.Value.ToString()); - } - if (Optional.IsDefined(SpotRestorePolicy)) - { - writer.WritePropertyName("spotRestorePolicy"u8); - writer.WriteObjectValue(SpotRestorePolicy, options); - } - if (Optional.IsDefined(PriorityMixPolicy)) - { - writer.WritePropertyName("priorityMixPolicy"u8); - writer.WriteObjectValue(PriorityMixPolicy, options); - } - if (options.Format != "W" && Optional.IsDefined(TimeCreated)) - { - writer.WritePropertyName("timeCreated"u8); - writer.WriteStringValue(TimeCreated.Value, "O"); - } - if (Optional.IsDefined(IsMaximumCapacityConstrained)) - { - writer.WritePropertyName("constrainedMaximumCapacity"u8); - writer.WriteBooleanValue(IsMaximumCapacityConstrained.Value); - } - if (Optional.IsDefined(ResiliencyPolicy)) - { - writer.WritePropertyName("resiliencyPolicy"u8); - writer.WriteObjectValue(ResiliencyPolicy, options); - } - if (Optional.IsDefined(ZonalPlatformFaultDomainAlignMode)) - { - writer.WritePropertyName("zonalPlatformFaultDomainAlignMode"u8); - writer.WriteStringValue(ZonalPlatformFaultDomainAlignMode.Value.ToString()); - } - if (Optional.IsDefined(SkuProfile)) - { - writer.WritePropertyName("skuProfile"u8); - writer.WriteObjectValue(SkuProfile, options); - } - writer.WriteEndObject(); } VirtualMachineScaleSetData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) @@ -215,6 +102,7 @@ internal static VirtualMachineScaleSetData DeserializeVirtualMachineScaleSetData } ComputeSku sku = default; ComputePlan plan = default; + VirtualMachineScaleSetProperties properties = default; ManagedServiceIdentity identity = default; IList zones = default; ExtendedLocation extendedLocation = default; @@ -225,29 +113,6 @@ internal static VirtualMachineScaleSetData DeserializeVirtualMachineScaleSetData string name = default; ResourceType type = default; SystemData systemData = default; - VirtualMachineScaleSetUpgradePolicy upgradePolicy = default; - ScheduledEventsPolicy scheduledEventsPolicy = default; - AutomaticRepairsPolicy automaticRepairsPolicy = default; - VirtualMachineScaleSetVmProfile virtualMachineProfile = default; - string provisioningState = default; - bool? overprovision = default; - bool? doNotRunExtensionsOnOverprovisionedVms = default; - string uniqueId = default; - bool? singlePlacementGroup = default; - bool? zoneBalance = default; - int? platformFaultDomainCount = default; - WritableSubResource proximityPlacementGroup = default; - WritableSubResource hostGroup = default; - AdditionalCapabilities additionalCapabilities = default; - ScaleInPolicy scaleInPolicy = default; - OrchestrationMode? orchestrationMode = default; - SpotRestorePolicy spotRestorePolicy = default; - VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = default; - DateTimeOffset? timeCreated = default; - bool? constrainedMaximumCapacity = default; - ResiliencyPolicy resiliencyPolicy = default; - ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default; - ComputeSkuProfile skuProfile = default; IDictionary serializedAdditionalRawData = default; Dictionary rawDataDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) @@ -270,6 +135,15 @@ internal static VirtualMachineScaleSetData DeserializeVirtualMachineScaleSetData plan = ComputePlan.DeserializeComputePlan(property.Value, options); continue; } + if (property.NameEquals("properties"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + properties = VirtualMachineScaleSetProperties.DeserializeVirtualMachineScaleSetProperties(property.Value, options); + continue; + } if (property.NameEquals("identity"u8)) { if (property.Value.ValueKind == JsonValueKind.Null) @@ -350,217 +224,6 @@ internal static VirtualMachineScaleSetData DeserializeVirtualMachineScaleSetData systemData = JsonSerializer.Deserialize(property.Value.GetRawText()); continue; } - if (property.NameEquals("properties"u8)) - { - if (property.Value.ValueKind == JsonValueKind.Null) - { - property.ThrowNonNullablePropertyIsNull(); - continue; - } - foreach (var property0 in property.Value.EnumerateObject()) - { - if (property0.NameEquals("upgradePolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - upgradePolicy = VirtualMachineScaleSetUpgradePolicy.DeserializeVirtualMachineScaleSetUpgradePolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("scheduledEventsPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - scheduledEventsPolicy = ScheduledEventsPolicy.DeserializeScheduledEventsPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("automaticRepairsPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - automaticRepairsPolicy = AutomaticRepairsPolicy.DeserializeAutomaticRepairsPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("virtualMachineProfile"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - virtualMachineProfile = VirtualMachineScaleSetVmProfile.DeserializeVirtualMachineScaleSetVmProfile(property0.Value, options); - continue; - } - if (property0.NameEquals("provisioningState"u8)) - { - provisioningState = property0.Value.GetString(); - continue; - } - if (property0.NameEquals("overprovision"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - overprovision = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("doNotRunExtensionsOnOverprovisionedVMs"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - doNotRunExtensionsOnOverprovisionedVms = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("uniqueId"u8)) - { - uniqueId = property0.Value.GetString(); - continue; - } - if (property0.NameEquals("singlePlacementGroup"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - singlePlacementGroup = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("zoneBalance"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - zoneBalance = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("platformFaultDomainCount"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - platformFaultDomainCount = property0.Value.GetInt32(); - continue; - } - if (property0.NameEquals("proximityPlacementGroup"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - proximityPlacementGroup = JsonSerializer.Deserialize(property0.Value.GetRawText()); - continue; - } - if (property0.NameEquals("hostGroup"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - hostGroup = JsonSerializer.Deserialize(property0.Value.GetRawText()); - continue; - } - if (property0.NameEquals("additionalCapabilities"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property0.Value, options); - continue; - } - if (property0.NameEquals("scaleInPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - scaleInPolicy = ScaleInPolicy.DeserializeScaleInPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("orchestrationMode"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - orchestrationMode = new OrchestrationMode(property0.Value.GetString()); - continue; - } - if (property0.NameEquals("spotRestorePolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - spotRestorePolicy = SpotRestorePolicy.DeserializeSpotRestorePolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("priorityMixPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - priorityMixPolicy = VirtualMachineScaleSetPriorityMixPolicy.DeserializeVirtualMachineScaleSetPriorityMixPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("timeCreated"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - timeCreated = property0.Value.GetDateTimeOffset("O"); - continue; - } - if (property0.NameEquals("constrainedMaximumCapacity"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - constrainedMaximumCapacity = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("resiliencyPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - resiliencyPolicy = ResiliencyPolicy.DeserializeResiliencyPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("zonalPlatformFaultDomainAlignMode"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - zonalPlatformFaultDomainAlignMode = new ZonalPlatformFaultDomainAlignMode(property0.Value.GetString()); - continue; - } - if (property0.NameEquals("skuProfile"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - skuProfile = ComputeSkuProfile.DeserializeComputeSkuProfile(property0.Value, options); - continue; - } - } - continue; - } if (options.Format != "W") { rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); @@ -576,33 +239,11 @@ internal static VirtualMachineScaleSetData DeserializeVirtualMachineScaleSetData location, sku, plan, + properties, identity, zones ?? new ChangeTrackingList(), extendedLocation, etag, - upgradePolicy, - scheduledEventsPolicy, - automaticRepairsPolicy, - virtualMachineProfile, - provisioningState, - overprovision, - doNotRunExtensionsOnOverprovisionedVms, - uniqueId, - singlePlacementGroup, - zoneBalance, - platformFaultDomainCount, - proximityPlacementGroup, - hostGroup, - additionalCapabilities, - scaleInPolicy, - orchestrationMode, - spotRestorePolicy, - priorityMixPolicy, - timeCreated, - constrainedMaximumCapacity, - resiliencyPolicy, - zonalPlatformFaultDomainAlignMode, - skuProfile, serializedAdditionalRawData); } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.cs index a718cc43b443..8d1b3bb95c07 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/VirtualMachineScaleSetData.cs @@ -68,65 +68,21 @@ public VirtualMachineScaleSetData(AzureLocation location) : base(location) /// The location. /// The virtual machine scale set sku. /// 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**. + /// Describes the properties of a Virtual Machine Scale Set. /// The identity of the virtual machine scale set, if configured. /// The virtual machine scale set zones. /// The extended location of the Virtual Machine Scale Set. /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. - /// The upgrade policy. - /// The ScheduledEventsPolicy. - /// Policy for automatic repairs. - /// The virtual machine profile. - /// The provisioning state, which only appears in the response. - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - /// 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. - /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. - /// 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. - /// 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. - /// Fault Domain count for each placement group. - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. - /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. - /// 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. - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - /// Specifies the orchestration mode for the virtual machine scale set. - /// Specifies the Spot Restore properties for the virtual machine scale set. - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. - /// Policy for Resiliency. - /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. - /// Specifies the sku profile for the virtual machine scale set. /// Keeps track of any properties unknown to the library. - internal VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IList zones, ExtendedLocation extendedLocation, string etag, VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, WritableSubResource proximityPlacementGroup, WritableSubResource hostGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile, IDictionary serializedAdditionalRawData) : base(id, name, resourceType, systemData, tags, location) + internal VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, VirtualMachineScaleSetProperties properties, ManagedServiceIdentity identity, IList zones, ExtendedLocation extendedLocation, string etag, IDictionary serializedAdditionalRawData) : base(id, name, resourceType, systemData, tags, location) { Sku = sku; Plan = plan; + Properties = properties; Identity = identity; Zones = zones; ExtendedLocation = extendedLocation; ETag = etag; - UpgradePolicy = upgradePolicy; - ScheduledEventsPolicy = scheduledEventsPolicy; - AutomaticRepairsPolicy = automaticRepairsPolicy; - VirtualMachineProfile = virtualMachineProfile; - ProvisioningState = provisioningState; - Overprovision = overprovision; - DoNotRunExtensionsOnOverprovisionedVms = doNotRunExtensionsOnOverprovisionedVms; - UniqueId = uniqueId; - SinglePlacementGroup = singlePlacementGroup; - ZoneBalance = zoneBalance; - PlatformFaultDomainCount = platformFaultDomainCount; - ProximityPlacementGroup = proximityPlacementGroup; - HostGroup = hostGroup; - AdditionalCapabilities = additionalCapabilities; - ScaleInPolicy = scaleInPolicy; - OrchestrationMode = orchestrationMode; - SpotRestorePolicy = spotRestorePolicy; - PriorityMixPolicy = priorityMixPolicy; - TimeCreated = timeCreated; - IsMaximumCapacityConstrained = isMaximumCapacityConstrained; - ResiliencyPolicy = resiliencyPolicy; - ZonalPlatformFaultDomainAlignMode = zonalPlatformFaultDomainAlignMode; - SkuProfile = skuProfile; _serializedAdditionalRawData = serializedAdditionalRawData; } @@ -139,6 +95,8 @@ internal VirtualMachineScaleSetData() public ComputeSku Sku { get; set; } /// 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**. public ComputePlan Plan { get; set; } + /// Describes the properties of a Virtual Machine Scale Set. + public VirtualMachineScaleSetProperties Properties { get; set; } /// The identity of the virtual machine scale set, if configured. public ManagedServiceIdentity Identity { get; set; } /// The virtual machine scale set zones. @@ -147,75 +105,5 @@ internal VirtualMachineScaleSetData() public ExtendedLocation ExtendedLocation { get; set; } /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. public string ETag { get; } - /// The upgrade policy. - public VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get; set; } - /// The ScheduledEventsPolicy. - public ScheduledEventsPolicy ScheduledEventsPolicy { get; set; } - /// Policy for automatic repairs. - public AutomaticRepairsPolicy AutomaticRepairsPolicy { get; set; } - /// The virtual machine profile. - public VirtualMachineScaleSetVmProfile VirtualMachineProfile { get; set; } - /// The provisioning state, which only appears in the response. - public string ProvisioningState { get; } - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - public bool? Overprovision { get; set; } - /// 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. - public bool? DoNotRunExtensionsOnOverprovisionedVms { get; set; } - /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. - public string UniqueId { get; } - /// 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. - public bool? SinglePlacementGroup { get; set; } - /// 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. - public bool? ZoneBalance { get; set; } - /// Fault Domain count for each placement group. - public int? PlatformFaultDomainCount { get; set; } - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. - internal WritableSubResource ProximityPlacementGroup { get; set; } - /// Gets or sets Id. - public ResourceIdentifier ProximityPlacementGroupId - { - get => ProximityPlacementGroup is null ? default : ProximityPlacementGroup.Id; - set - { - if (ProximityPlacementGroup is null) - ProximityPlacementGroup = new WritableSubResource(); - ProximityPlacementGroup.Id = value; - } - } - - /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. - internal WritableSubResource HostGroup { get; set; } - /// Gets or sets Id. - public ResourceIdentifier HostGroupId - { - get => HostGroup is null ? default : HostGroup.Id; - set - { - if (HostGroup is null) - HostGroup = new WritableSubResource(); - HostGroup.Id = value; - } - } - - /// 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. - public AdditionalCapabilities AdditionalCapabilities { get; set; } - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - public ScaleInPolicy ScaleInPolicy { get; set; } - /// Specifies the orchestration mode for the virtual machine scale set. - public OrchestrationMode? OrchestrationMode { get; set; } - /// Specifies the Spot Restore properties for the virtual machine scale set. - public SpotRestorePolicy SpotRestorePolicy { get; set; } - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get; set; } - /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - public DateTimeOffset? TimeCreated { get; } - /// Optional property which must either be set to True or omitted. - public bool? IsMaximumCapacityConstrained { get; set; } - /// Policy for Resiliency. - public ResiliencyPolicy ResiliencyPolicy { get; set; } - /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. - public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get; set; } - /// Specifies the sku profile for the virtual machine scale set. - public ComputeSkuProfile SkuProfile { get; set; } } } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md index 05caf87f1e77..95005ee843bd 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md +++ b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md @@ -396,9 +396,16 @@ directive: where: $.definitions.VirtualMachineScaleSetProperties transform: > $.additionalProperties = true; + - from: virtualMachineScaleSet.json + where: $.definitions.VirtualMachineScaleSet.properties + transform: > + $.properties["x-ms-client-flatten"] = false; + - from: virtualMachineScaleSet.json + where: $.definitions.UpgradePolicy + transform: > + $.additionalProperties = true; - from: computeRPCommon.json where: $.definitions.VMSizeProperties transform: > $.additionalProperties = true; - ``` From 39a008195222183889747043243d724ab7526657 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 22 Nov 2024 10:51:51 +0800 Subject: [PATCH 3/5] introduce missing APIs back --- .../Azure.ResourceManager.Compute.net8.0.cs | 63 ++++ ....ResourceManager.Compute.netstandard2.0.cs | 63 ++++ .../src/Customize/ArmComputeModelFactory.cs | 124 ++++++- .../Customize/VirtualMachineScaleSetData.cs | 330 ++++++++++++++++++ .../src/Generated/ArmComputeModelFactory.cs | 6 +- ...MachineScaleSetProperties.Serialization.cs | 4 +- .../VirtualMachineScaleSetProperties.cs | 8 +- .../src/autorest.md | 2 +- .../tests/Scenario/LroRehydrationTests.cs | 19 +- .../VirtualMachineScaleSetOperationsTests.cs | 2 +- 10 files changed, 591 insertions(+), 30 deletions(-) create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs diff --git a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs index b4fe47aa3540..c918563a6d63 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs @@ -2477,33 +2477,57 @@ protected VirtualMachineScaleSetCollection() { } public partial class VirtualMachineScaleSetData : Azure.ResourceManager.Models.TrackedResourceData, System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetData(Azure.Core.AzureLocation location) { } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } public string ETag { get { throw null; } } public Azure.ResourceManager.Resources.Models.ExtendedLocation ExtendedLocation { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier HostGroupId { get { throw null; } set { } } public Azure.ResourceManager.Models.ManagedServiceIdentity Identity { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? IsMaximumCapacityConstrained { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.OrchestrationMode? OrchestrationMode { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? Overprovision { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputePlan Plan { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public int? PlatformFaultDomainCount { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties Properties { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public string ProvisioningState { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy ScheduledEventsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? SinglePlacementGroup { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputeSku Sku { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public System.DateTimeOffset? TimeCreated { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public string UniqueId { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile VirtualMachineProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? ZoneBalance { get { throw null; } set { } } public System.Collections.Generic.IList Zones { get { throw null; } } protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } @@ -3423,16 +3447,19 @@ public static partial class ArmComputeModelFactory public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandInstanceView VirtualMachineRunCommandInstanceView(Azure.ResourceManager.Compute.Models.ExecutionState? executionState = default(Azure.ResourceManager.Compute.Models.ExecutionState?), string executionMessage = null, int? exitCode = default(int?), string output = null, string error = null, System.DateTimeOffset? startOn = default(System.DateTimeOffset?), System.DateTimeOffset? endOn = default(System.DateTimeOffset?), System.Collections.Generic.IEnumerable statuses = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandResult VirtualMachineRunCommandResult(System.Collections.Generic.IEnumerable value = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandUpdate VirtualMachineRunCommandUpdate(System.Collections.Generic.IDictionary tags = null, Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandScriptSource source = null, System.Collections.Generic.IEnumerable parameters = null, System.Collections.Generic.IEnumerable protectedParameters = null, bool? asyncExecution = default(bool?), string runAsUser = null, string runAsPassword = null, int? timeoutInSeconds = default(int?), System.Uri outputBlobUri = null, System.Uri errorBlobUri = null, Azure.ResourceManager.Compute.Models.RunCommandManagedIdentity outputBlobManagedIdentity = null, Azure.ResourceManager.Compute.Models.RunCommandManagedIdentity errorBlobManagedIdentity = null, string provisioningState = null, Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandInstanceView instanceView = null, bool? treatFailureAsDeploymentFailure = default(bool?)) { throw null; } + public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.ComputePlan plan = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties properties = null, Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, System.Collections.Generic.IEnumerable zones = null, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation = null, string etag = null) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, string etag, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, string etag, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.ComputePlan plan = null, Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, System.Collections.Generic.IEnumerable zones = null, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation = null, string etag = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy = null, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVms = default(bool?), string uniqueId = null, bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), Azure.Core.ResourceIdentifier proximityPlacementGroupId = null, Azure.Core.ResourceIdentifier hostGroupId = null, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities = null, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy = null, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode = default(Azure.ResourceManager.Compute.Models.OrchestrationMode?), Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, System.DateTimeOffset? timeCreated = default(System.DateTimeOffset?), bool? isMaximumCapacityConstrained = default(bool?), Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy = null, Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default(Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode?), Azure.ResourceManager.Compute.Models.ComputeSkuProfile skuProfile = null) { throw null; } public static Azure.ResourceManager.Compute.VirtualMachineScaleSetExtensionData VirtualMachineScaleSetExtensionData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, string forceUpdateTag = null, string publisher = null, string extensionType = null, string typeHandlerVersion = null, bool? autoUpgradeMinorVersion = default(bool?), bool? enableAutomaticUpgrade = default(bool?), System.BinaryData settings = null, System.BinaryData protectedSettings = null, string provisioningState = null, System.Collections.Generic.IEnumerable provisionAfterExtensions = null, bool? suppressFailures = default(bool?), Azure.ResourceManager.Compute.Models.KeyVaultSecretReference keyVaultProtectedSettings = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetExtensionPatch VirtualMachineScaleSetExtensionPatch(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, string forceUpdateTag = null, string publisher = null, string extensionType = null, string typeHandlerVersion = null, bool? autoUpgradeMinorVersion = default(bool?), bool? enableAutomaticUpgrade = default(bool?), System.BinaryData settings = null, System.BinaryData protectedSettings = null, string provisioningState = null, System.Collections.Generic.IEnumerable provisionAfterExtensions = null, bool? suppressFailures = default(bool?), Azure.ResourceManager.Compute.Models.KeyVaultSecretReference keyVaultProtectedSettings = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetInstanceView VirtualMachineScaleSetInstanceView(System.Collections.Generic.IEnumerable virtualMachineStatusesSummary = null, System.Collections.Generic.IEnumerable extensions = null, System.Collections.Generic.IEnumerable statuses = null, System.Collections.Generic.IEnumerable orchestrationServices = null) { throw null; } + public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties(Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy = null, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVms = default(bool?), string uniqueId = null, bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), Azure.Core.ResourceIdentifier proximityPlacementGroupId = null, Azure.Core.ResourceIdentifier hostGroupId = null, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities = null, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy = null, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode = default(Azure.ResourceManager.Compute.Models.OrchestrationMode?), Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, System.DateTimeOffset? timeCreated = default(System.DateTimeOffset?), bool? isMaximumCapacityConstrained = default(bool?), Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy = null, Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default(Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode?), Azure.ResourceManager.Compute.Models.ComputeSkuProfile skuProfile = null, System.Collections.Generic.IDictionary additionalProperties = null) { throw null; } public static Azure.ResourceManager.Compute.VirtualMachineScaleSetRollingUpgradeData VirtualMachineScaleSetRollingUpgradeData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.RollingUpgradePolicy policy = null, Azure.ResourceManager.Compute.Models.RollingUpgradeRunningStatus runningStatus = null, Azure.ResourceManager.Compute.Models.RollingUpgradeProgressInfo progress = null, Azure.ResourceManager.Compute.Models.ComputeApiError error = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSku VirtualMachineScaleSetSku(Azure.Core.ResourceType? resourceType = default(Azure.Core.ResourceType?), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuCapacity capacity = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuCapacity VirtualMachineScaleSetSkuCapacity(long? minimum = default(long?), long? maximum = default(long?), long? defaultCapacity = default(long?), Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuScaleType? scaleType = default(Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuScaleType?)) { throw null; } @@ -9025,6 +9052,40 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class VirtualMachineScaleSetProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + public VirtualMachineScaleSetProperties() { } + public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } + public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } + public Azure.Core.ResourceIdentifier HostGroupId { get { throw null; } set { } } + public bool? IsMaximumCapacityConstrained { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.OrchestrationMode? OrchestrationMode { get { throw null; } set { } } + public bool? Overprovision { get { throw null; } set { } } + public int? PlatformFaultDomainCount { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public string ProvisioningState { get { throw null; } } + public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy ScheduledEventsPolicy { get { throw null; } set { } } + public bool? SinglePlacementGroup { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + public System.DateTimeOffset? TimeCreated { get { throw null; } } + public string UniqueId { get { throw null; } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile VirtualMachineProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + public bool? ZoneBalance { get { throw null; } set { } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class VirtualMachineScaleSetPublicIPAddressConfiguration : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPublicIPAddressConfiguration(string name) { } @@ -9287,6 +9348,7 @@ public enum VirtualMachineScaleSetUpgradeMode public partial class VirtualMachineScaleSetUpgradePolicy : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetUpgradePolicy() { } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } public Azure.ResourceManager.Compute.Models.AutomaticOSUpgradePolicy AutomaticOSUpgradePolicy { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradeMode? Mode { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.RollingUpgradePolicy RollingUpgradePolicy { get { throw null; } set { } } @@ -9451,6 +9513,7 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer public partial class VirtualMachineSizeProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineSizeProperties() { } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } public int? VCpusAvailable { get { throw null; } set { } } public int? VCpusPerCore { get { throw null; } set { } } protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } diff --git a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs index b4fe47aa3540..c918563a6d63 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs @@ -2477,33 +2477,57 @@ protected VirtualMachineScaleSetCollection() { } public partial class VirtualMachineScaleSetData : Azure.ResourceManager.Models.TrackedResourceData, System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetData(Azure.Core.AzureLocation location) { } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } public string ETag { get { throw null; } } public Azure.ResourceManager.Resources.Models.ExtendedLocation ExtendedLocation { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier HostGroupId { get { throw null; } set { } } public Azure.ResourceManager.Models.ManagedServiceIdentity Identity { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? IsMaximumCapacityConstrained { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.OrchestrationMode? OrchestrationMode { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? Overprovision { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputePlan Plan { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public int? PlatformFaultDomainCount { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties Properties { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public string ProvisioningState { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy ScheduledEventsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? SinglePlacementGroup { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputeSku Sku { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public System.DateTimeOffset? TimeCreated { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public string UniqueId { get { throw null; } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile VirtualMachineProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? ZoneBalance { get { throw null; } set { } } public System.Collections.Generic.IList Zones { get { throw null; } } protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } @@ -3423,16 +3447,19 @@ public static partial class ArmComputeModelFactory public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandInstanceView VirtualMachineRunCommandInstanceView(Azure.ResourceManager.Compute.Models.ExecutionState? executionState = default(Azure.ResourceManager.Compute.Models.ExecutionState?), string executionMessage = null, int? exitCode = default(int?), string output = null, string error = null, System.DateTimeOffset? startOn = default(System.DateTimeOffset?), System.DateTimeOffset? endOn = default(System.DateTimeOffset?), System.Collections.Generic.IEnumerable statuses = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandResult VirtualMachineRunCommandResult(System.Collections.Generic.IEnumerable value = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandUpdate VirtualMachineRunCommandUpdate(System.Collections.Generic.IDictionary tags = null, Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandScriptSource source = null, System.Collections.Generic.IEnumerable parameters = null, System.Collections.Generic.IEnumerable protectedParameters = null, bool? asyncExecution = default(bool?), string runAsUser = null, string runAsPassword = null, int? timeoutInSeconds = default(int?), System.Uri outputBlobUri = null, System.Uri errorBlobUri = null, Azure.ResourceManager.Compute.Models.RunCommandManagedIdentity outputBlobManagedIdentity = null, Azure.ResourceManager.Compute.Models.RunCommandManagedIdentity errorBlobManagedIdentity = null, string provisioningState = null, Azure.ResourceManager.Compute.Models.VirtualMachineRunCommandInstanceView instanceView = null, bool? treatFailureAsDeploymentFailure = default(bool?)) { throw null; } + public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.ComputePlan plan = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties properties = null, Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, System.Collections.Generic.IEnumerable zones = null, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation = null, string etag = null) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, string etag, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy) { throw null; } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id, string name, Azure.Core.ResourceType resourceType, Azure.ResourceManager.Models.SystemData systemData, System.Collections.Generic.IDictionary tags, Azure.Core.AzureLocation location, Azure.ResourceManager.Compute.Models.ComputeSku sku, Azure.ResourceManager.Compute.Models.ComputePlan plan, Azure.ResourceManager.Models.ManagedServiceIdentity identity, System.Collections.Generic.IEnumerable zones, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation, string etag, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, Azure.Core.ResourceIdentifier proximityPlacementGroupId, Azure.Core.ResourceIdentifier hostGroupId, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode, Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, System.DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public static Azure.ResourceManager.Compute.VirtualMachineScaleSetData VirtualMachineScaleSetData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.ComputePlan plan = null, Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, System.Collections.Generic.IEnumerable zones = null, Azure.ResourceManager.Resources.Models.ExtendedLocation extendedLocation = null, string etag = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy = null, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVms = default(bool?), string uniqueId = null, bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), Azure.Core.ResourceIdentifier proximityPlacementGroupId = null, Azure.Core.ResourceIdentifier hostGroupId = null, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities = null, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy = null, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode = default(Azure.ResourceManager.Compute.Models.OrchestrationMode?), Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, System.DateTimeOffset? timeCreated = default(System.DateTimeOffset?), bool? isMaximumCapacityConstrained = default(bool?), Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy = null, Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default(Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode?), Azure.ResourceManager.Compute.Models.ComputeSkuProfile skuProfile = null) { throw null; } public static Azure.ResourceManager.Compute.VirtualMachineScaleSetExtensionData VirtualMachineScaleSetExtensionData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, string forceUpdateTag = null, string publisher = null, string extensionType = null, string typeHandlerVersion = null, bool? autoUpgradeMinorVersion = default(bool?), bool? enableAutomaticUpgrade = default(bool?), System.BinaryData settings = null, System.BinaryData protectedSettings = null, string provisioningState = null, System.Collections.Generic.IEnumerable provisionAfterExtensions = null, bool? suppressFailures = default(bool?), Azure.ResourceManager.Compute.Models.KeyVaultSecretReference keyVaultProtectedSettings = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetExtensionPatch VirtualMachineScaleSetExtensionPatch(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, string forceUpdateTag = null, string publisher = null, string extensionType = null, string typeHandlerVersion = null, bool? autoUpgradeMinorVersion = default(bool?), bool? enableAutomaticUpgrade = default(bool?), System.BinaryData settings = null, System.BinaryData protectedSettings = null, string provisioningState = null, System.Collections.Generic.IEnumerable provisionAfterExtensions = null, bool? suppressFailures = default(bool?), Azure.ResourceManager.Compute.Models.KeyVaultSecretReference keyVaultProtectedSettings = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetInstanceView VirtualMachineScaleSetInstanceView(System.Collections.Generic.IEnumerable virtualMachineStatusesSummary = null, System.Collections.Generic.IEnumerable extensions = null, System.Collections.Generic.IEnumerable statuses = null, System.Collections.Generic.IEnumerable orchestrationServices = null) { throw null; } + public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties(Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy scheduledEventsPolicy = null, Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy automaticRepairsPolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = default(bool?), bool? doNotRunExtensionsOnOverprovisionedVms = default(bool?), string uniqueId = null, bool? singlePlacementGroup = default(bool?), bool? zoneBalance = default(bool?), int? platformFaultDomainCount = default(int?), Azure.Core.ResourceIdentifier proximityPlacementGroupId = null, Azure.Core.ResourceIdentifier hostGroupId = null, Azure.ResourceManager.Compute.Models.AdditionalCapabilities additionalCapabilities = null, Azure.ResourceManager.Compute.Models.ScaleInPolicy scaleInPolicy = null, Azure.ResourceManager.Compute.Models.OrchestrationMode? orchestrationMode = default(Azure.ResourceManager.Compute.Models.OrchestrationMode?), Azure.ResourceManager.Compute.Models.SpotRestorePolicy spotRestorePolicy = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, System.DateTimeOffset? timeCreated = default(System.DateTimeOffset?), bool? isMaximumCapacityConstrained = default(bool?), Azure.ResourceManager.Compute.Models.ResiliencyPolicy resiliencyPolicy = null, Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default(Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode?), Azure.ResourceManager.Compute.Models.ComputeSkuProfile skuProfile = null, System.Collections.Generic.IDictionary additionalProperties = null) { throw null; } public static Azure.ResourceManager.Compute.VirtualMachineScaleSetRollingUpgradeData VirtualMachineScaleSetRollingUpgradeData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Compute.Models.RollingUpgradePolicy policy = null, Azure.ResourceManager.Compute.Models.RollingUpgradeRunningStatus runningStatus = null, Azure.ResourceManager.Compute.Models.RollingUpgradeProgressInfo progress = null, Azure.ResourceManager.Compute.Models.ComputeApiError error = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSku VirtualMachineScaleSetSku(Azure.Core.ResourceType? resourceType = default(Azure.Core.ResourceType?), Azure.ResourceManager.Compute.Models.ComputeSku sku = null, Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuCapacity capacity = null) { throw null; } public static Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuCapacity VirtualMachineScaleSetSkuCapacity(long? minimum = default(long?), long? maximum = default(long?), long? defaultCapacity = default(long?), Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuScaleType? scaleType = default(Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetSkuScaleType?)) { throw null; } @@ -9025,6 +9052,40 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class VirtualMachineScaleSetProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + public VirtualMachineScaleSetProperties() { } + public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } + public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } + public Azure.Core.ResourceIdentifier HostGroupId { get { throw null; } set { } } + public bool? IsMaximumCapacityConstrained { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.OrchestrationMode? OrchestrationMode { get { throw null; } set { } } + public bool? Overprovision { get { throw null; } set { } } + public int? PlatformFaultDomainCount { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public string ProvisioningState { get { throw null; } } + public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScheduledEventsPolicy ScheduledEventsPolicy { get { throw null; } set { } } + public bool? SinglePlacementGroup { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + public System.DateTimeOffset? TimeCreated { get { throw null; } } + public string UniqueId { get { throw null; } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetVmProfile VirtualMachineProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + public bool? ZoneBalance { get { throw null; } set { } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetProperties System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class VirtualMachineScaleSetPublicIPAddressConfiguration : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPublicIPAddressConfiguration(string name) { } @@ -9287,6 +9348,7 @@ public enum VirtualMachineScaleSetUpgradeMode public partial class VirtualMachineScaleSetUpgradePolicy : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetUpgradePolicy() { } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } public Azure.ResourceManager.Compute.Models.AutomaticOSUpgradePolicy AutomaticOSUpgradePolicy { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradeMode? Mode { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.RollingUpgradePolicy RollingUpgradePolicy { get { throw null; } set { } } @@ -9451,6 +9513,7 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer public partial class VirtualMachineSizeProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineSizeProperties() { } + public System.Collections.Generic.IDictionary AdditionalProperties { get { throw null; } } public int? VCpusAvailable { get { throw null; } set { } } public int? VCpusPerCore { get { throw null; } set { } } protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/ArmComputeModelFactory.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/ArmComputeModelFactory.cs index 172f11c367aa..ccaa46e8e335 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/ArmComputeModelFactory.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/ArmComputeModelFactory.cs @@ -8,7 +8,6 @@ using System.ComponentModel; using System.Linq; using Azure.Core; -using Azure.ResourceManager.Compute; using Azure.ResourceManager.Models; using Azure.ResourceManager.Resources.Models; @@ -21,6 +20,129 @@ public static partial class ArmComputeModelFactory public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IEnumerable zones, ExtendedLocation extendedLocation, VirtualMachineScaleSetUpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, ResourceIdentifier proximityPlacementGroupId, ResourceIdentifier hostGroupId, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained) => VirtualMachineScaleSetData(id, name, resourceType, systemData, tags, location, sku, plan, identity, zones, extendedLocation, null, upgradePolicy, automaticRepairsPolicy, virtualMachineProfile, provisioningState, overprovision, doNotRunExtensionsOnOverprovisionedVms, uniqueId, singlePlacementGroup, zoneBalance, platformFaultDomainCount, proximityPlacementGroupId, hostGroupId, additionalCapabilities, scaleInPolicy, orchestrationMode, spotRestorePolicy, priorityMixPolicy, timeCreated, isMaximumCapacityConstrained, null); + /// Initializes a new instance of . + /// The id. + /// The name. + /// The resourceType. + /// The systemData. + /// The tags. + /// The location. + /// The virtual machine scale set sku. + /// 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**. + /// The identity of the virtual machine scale set, if configured. + /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. + /// The extended location of the Virtual Machine Scale Set. + /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. + /// The upgrade policy. + /// The ScheduledEventsPolicy. + /// Policy for automatic repairs. + /// The virtual machine profile. + /// The provisioning state, which only appears in the response. + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// 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. + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + /// 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. + /// 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. + /// Fault Domain count for each placement group. + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// 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. + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// Specifies the orchestration mode for the virtual machine scale set. + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + /// Optional property which must either be set to True or omitted. + /// Policy for Resiliency. + /// A new instance for mocking. + [EditorBrowsable(EditorBrowsableState.Never)] + public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IEnumerable zones, ExtendedLocation extendedLocation, string etag, VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, ResourceIdentifier proximityPlacementGroupId, ResourceIdentifier hostGroupId, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy) + { + return VirtualMachineScaleSetData(id: id, name: name, resourceType: resourceType, systemData: systemData, tags: tags, location: location, sku: sku, plan: plan, identity: identity, zones: zones, extendedLocation: extendedLocation, etag: etag, upgradePolicy: upgradePolicy, scheduledEventsPolicy: scheduledEventsPolicy, automaticRepairsPolicy: automaticRepairsPolicy, virtualMachineProfile: virtualMachineProfile, provisioningState: provisioningState, overprovision: overprovision, doNotRunExtensionsOnOverprovisionedVms: doNotRunExtensionsOnOverprovisionedVms, uniqueId: uniqueId, singlePlacementGroup: singlePlacementGroup, zoneBalance: zoneBalance, platformFaultDomainCount: platformFaultDomainCount, proximityPlacementGroupId: proximityPlacementGroupId, hostGroupId: hostGroupId, additionalCapabilities: additionalCapabilities, scaleInPolicy: scaleInPolicy, orchestrationMode: orchestrationMode, spotRestorePolicy: spotRestorePolicy, priorityMixPolicy: priorityMixPolicy, timeCreated: timeCreated, isMaximumCapacityConstrained: isMaximumCapacityConstrained, resiliencyPolicy: resiliencyPolicy, zonalPlatformFaultDomainAlignMode: default, skuProfile: default); + } + + /// Initializes a new instance of . + /// The id. + /// The name. + /// The resourceType. + /// The systemData. + /// The tags. + /// The location. + /// The virtual machine scale set sku. + /// 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**. + /// The identity of the virtual machine scale set, if configured. + /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. + /// The extended location of the Virtual Machine Scale Set. + /// Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates. + /// The upgrade policy. + /// Policy for automatic repairs. + /// The virtual machine profile. + /// The provisioning state, which only appears in the response. + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// 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. + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + /// 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. + /// 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. + /// Fault Domain count for each placement group. + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// 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. + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// Specifies the orchestration mode for the virtual machine scale set. + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + /// Optional property which must either be set to True or omitted. + /// Policy for Resiliency. + /// A new instance for mocking. + [EditorBrowsable(EditorBrowsableState.Never)] + public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IEnumerable zones, ExtendedLocation extendedLocation, string etag, VirtualMachineScaleSetUpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, ResourceIdentifier proximityPlacementGroupId, ResourceIdentifier hostGroupId, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy) + { + return VirtualMachineScaleSetData(id: id, name: name, resourceType: resourceType, systemData: systemData, tags: tags, location: location, sku: sku, plan: plan, identity: identity, zones: zones, extendedLocation: extendedLocation, etag: etag, upgradePolicy: upgradePolicy, scheduledEventsPolicy: default, automaticRepairsPolicy: automaticRepairsPolicy, virtualMachineProfile: virtualMachineProfile, provisioningState: provisioningState, overprovision: overprovision, doNotRunExtensionsOnOverprovisionedVms: doNotRunExtensionsOnOverprovisionedVms, uniqueId: uniqueId, singlePlacementGroup: singlePlacementGroup, zoneBalance: zoneBalance, platformFaultDomainCount: platformFaultDomainCount, proximityPlacementGroupId: proximityPlacementGroupId, hostGroupId: hostGroupId, additionalCapabilities: additionalCapabilities, scaleInPolicy: scaleInPolicy, orchestrationMode: orchestrationMode, spotRestorePolicy: spotRestorePolicy, priorityMixPolicy: priorityMixPolicy, timeCreated: timeCreated, isMaximumCapacityConstrained: isMaximumCapacityConstrained, resiliencyPolicy: resiliencyPolicy, zonalPlatformFaultDomainAlignMode: default, skuProfile: default); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, ComputeSku sku = null, ComputePlan plan = null, ManagedServiceIdentity identity = null, IEnumerable zones = null, ExtendedLocation extendedLocation = null, string etag = null, VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, ScheduledEventsPolicy scheduledEventsPolicy = null, AutomaticRepairsPolicy automaticRepairsPolicy = null, VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = null, bool? doNotRunExtensionsOnOverprovisionedVms = null, string uniqueId = null, bool? singlePlacementGroup = null, bool? zoneBalance = null, int? platformFaultDomainCount = null, ResourceIdentifier proximityPlacementGroupId = null, ResourceIdentifier hostGroupId = null, AdditionalCapabilities additionalCapabilities = null, ScaleInPolicy scaleInPolicy = null, OrchestrationMode? orchestrationMode = null, SpotRestorePolicy spotRestorePolicy = null, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, DateTimeOffset? timeCreated = null, bool? isMaximumCapacityConstrained = null, ResiliencyPolicy resiliencyPolicy = null, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = null, ComputeSkuProfile skuProfile = null) + { + return VirtualMachineScaleSetData( + id: id, + name: name, + resourceType: resourceType, + systemData: systemData, + tags: tags, + location: location, + sku: sku, + plan: plan, + properties: VirtualMachineScaleSetProperties( + upgradePolicy: upgradePolicy, + scheduledEventsPolicy: scheduledEventsPolicy, + automaticRepairsPolicy: automaticRepairsPolicy, + virtualMachineProfile: virtualMachineProfile, + provisioningState: provisioningState, + overprovision: overprovision, + doNotRunExtensionsOnOverprovisionedVms: doNotRunExtensionsOnOverprovisionedVms, + uniqueId: uniqueId, + singlePlacementGroup: singlePlacementGroup, + zoneBalance: zoneBalance, + platformFaultDomainCount: platformFaultDomainCount, + proximityPlacementGroupId: proximityPlacementGroupId, + hostGroupId: hostGroupId, + additionalCapabilities: additionalCapabilities, + scaleInPolicy: scaleInPolicy, + orchestrationMode: orchestrationMode, + spotRestorePolicy: spotRestorePolicy, + priorityMixPolicy: priorityMixPolicy, + timeCreated: timeCreated, + isMaximumCapacityConstrained: isMaximumCapacityConstrained, + resiliencyPolicy: resiliencyPolicy, + zonalPlatformFaultDomainAlignMode: zonalPlatformFaultDomainAlignMode, + skuProfile: skuProfile), + identity: identity, + zones: zones, + extendedLocation: extendedLocation, + etag: etag); + } + [EditorBrowsable(EditorBrowsableState.Never)] public static VirtualMachineScaleSetVmData VirtualMachineScaleSetVmData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, string instanceId, ComputeSku sku, ComputePlan plan, IEnumerable resources, IEnumerable zones, ManagedServiceIdentity identity, bool? latestModelApplied, string vmId, VirtualMachineScaleSetVmInstanceView instanceView, VirtualMachineHardwareProfile hardwareProfile, VirtualMachineStorageProfile storageProfile, AdditionalCapabilities additionalCapabilities, VirtualMachineOSProfile osProfile, SecurityProfile securityProfile, VirtualMachineNetworkProfile networkProfile, IEnumerable networkInterfaceConfigurations, BootDiagnostics bootDiagnostics, ResourceIdentifier availabilitySetId, string provisioningState, string licenseType, string modelDefinitionApplied, VirtualMachineScaleSetVmProtectionPolicy protectionPolicy, string userData, DateTimeOffset? timeCreated) => VirtualMachineScaleSetVmData(id, name, resourceType, systemData, tags, location, instanceId, sku, plan, resources, zones, identity, null, latestModelApplied, vmId, instanceView, hardwareProfile, storageProfile, additionalCapabilities, osProfile, securityProfile, networkProfile, networkInterfaceConfigurations, bootDiagnostics, availabilitySetId, provisioningState, licenseType, modelDefinitionApplied, protectionPolicy, userData, timeCreated); diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs new file mode 100644 index 000000000000..00c09d7ac79e --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs @@ -0,0 +1,330 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#nullable disable + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using Azure.Core; +using Azure.ResourceManager.Compute.Models; +using Azure.ResourceManager.Models; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Compute +{ + public partial class VirtualMachineScaleSetData : TrackedResourceData + { + /// The upgrade policy. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetUpgradePolicy UpgradePolicy + { + get => Properties?.UpgradePolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.UpgradePolicy = value; + } + } + + /// The ScheduledEventsPolicy. + [EditorBrowsable(EditorBrowsableState.Never)] + public ScheduledEventsPolicy ScheduledEventsPolicy + { + get => Properties?.ScheduledEventsPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ScheduledEventsPolicy = value; + } + } + + /// Policy for automatic repairs. + [EditorBrowsable(EditorBrowsableState.Never)] + public AutomaticRepairsPolicy AutomaticRepairsPolicy + { + get => Properties?.AutomaticRepairsPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.AutomaticRepairsPolicy = value; + } + } + + /// The virtual machine profile. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetVmProfile VirtualMachineProfile + { + get => Properties?.VirtualMachineProfile; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.VirtualMachineProfile = value; + } + } + + /// The provisioning state, which only appears in the response. + [EditorBrowsable(EditorBrowsableState.Never)] + public string ProvisioningState => Properties?.ProvisioningState; + + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? Overprovision + { + get => Properties?.Overprovision; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.Overprovision = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? DoNotRunExtensionsOnOverprovisionedVms + { + get => Properties?.DoNotRunExtensionsOnOverprovisionedVms; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.DoNotRunExtensionsOnOverprovisionedVms = value; + } + } + + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + [EditorBrowsable(EditorBrowsableState.Never)] + public string UniqueId => Properties?.UniqueId; + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? SinglePlacementGroup + { + get => Properties?.SinglePlacementGroup; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.SinglePlacementGroup = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? ZoneBalance + { + get => Properties?.ZoneBalance; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ZoneBalance = value; + } + } + + /// Fault Domain count for each placement group. + [EditorBrowsable(EditorBrowsableState.Never)] + public int? PlatformFaultDomainCount + { + get => Properties?.PlatformFaultDomainCount; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.PlatformFaultDomainCount = value; + } + } + + /// Gets or sets Id. + [EditorBrowsable(EditorBrowsableState.Never)] + public ResourceIdentifier ProximityPlacementGroupId + { + get => Properties?.ProximityPlacementGroupId; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ProximityPlacementGroupId = value; + } + } + + /// Gets or sets Id. + [EditorBrowsable(EditorBrowsableState.Never)] + public ResourceIdentifier HostGroupId + { + get => Properties?.HostGroupId; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.HostGroupId = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public AdditionalCapabilities AdditionalCapabilities + { + get => Properties?.AdditionalCapabilities; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.AdditionalCapabilities = value; + } + } + + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + [EditorBrowsable(EditorBrowsableState.Never)] + public ScaleInPolicy ScaleInPolicy + { + get => Properties?.ScaleInPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ScaleInPolicy = value; + } + } + + /// Specifies the orchestration mode for the virtual machine scale set. + [EditorBrowsable(EditorBrowsableState.Never)] + public OrchestrationMode? OrchestrationMode + { + get => Properties?.OrchestrationMode; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.OrchestrationMode = value; + } + } + + /// Specifies the Spot Restore properties for the virtual machine scale set. + [EditorBrowsable(EditorBrowsableState.Never)] + public SpotRestorePolicy SpotRestorePolicy + { + get => Properties?.SpotRestorePolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.SpotRestorePolicy = value; + } + } + + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy + { + get => Properties?.PriorityMixPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.PriorityMixPolicy = value; + } + } + + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + [EditorBrowsable(EditorBrowsableState.Never)] + public DateTimeOffset? TimeCreated => Properties?.TimeCreated; + + /// Optional property which must either be set to True or omitted. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? IsMaximumCapacityConstrained + { + get => Properties?.IsMaximumCapacityConstrained; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.IsMaximumCapacityConstrained = value; + } + } + + /// Policy for Resiliency. + [EditorBrowsable(EditorBrowsableState.Never)] + public ResiliencyPolicy ResiliencyPolicy + { + get => Properties?.ResiliencyPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ResiliencyPolicy = value; + } + } + + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + [EditorBrowsable(EditorBrowsableState.Never)] + public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode + { + get => Properties?.ZonalPlatformFaultDomainAlignMode; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.ZonalPlatformFaultDomainAlignMode = value; + } + } + + /// Specifies the sku profile for the virtual machine scale set. + [EditorBrowsable(EditorBrowsableState.Never)] + public ComputeSkuProfile SkuProfile + { + get => Properties?.SkuProfile; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetProperties(); + } + Properties.SkuProfile = value; + } + } + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs index 1e01df38da26..6d06d7eba7c1 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/ArmComputeModelFactory.cs @@ -154,13 +154,13 @@ public static VirtualMachineScaleSetData VirtualMachineScaleSetData(ResourceIden /// Specifies the Spot Restore properties for the virtual machine scale set. /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. + /// Optional property which must either be set to True or omitted. /// Policy for Resiliency. /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. /// Specifies the sku profile for the virtual machine scale set. /// Additional Properties. /// A new instance for mocking. - public static VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, ScheduledEventsPolicy scheduledEventsPolicy = null, AutomaticRepairsPolicy automaticRepairsPolicy = null, VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = null, bool? doNotRunExtensionsOnOverprovisionedVms = null, string uniqueId = null, bool? singlePlacementGroup = null, bool? zoneBalance = null, int? platformFaultDomainCount = null, ResourceIdentifier proximityPlacementGroupId = null, ResourceIdentifier hostGroupId = null, AdditionalCapabilities additionalCapabilities = null, ScaleInPolicy scaleInPolicy = null, OrchestrationMode? orchestrationMode = null, SpotRestorePolicy spotRestorePolicy = null, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, DateTimeOffset? timeCreated = null, bool? constrainedMaximumCapacity = null, ResiliencyPolicy resiliencyPolicy = null, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = null, ComputeSkuProfile skuProfile = null, IDictionary additionalProperties = null) + public static VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy = null, ScheduledEventsPolicy scheduledEventsPolicy = null, AutomaticRepairsPolicy automaticRepairsPolicy = null, VirtualMachineScaleSetVmProfile virtualMachineProfile = null, string provisioningState = null, bool? overprovision = null, bool? doNotRunExtensionsOnOverprovisionedVms = null, string uniqueId = null, bool? singlePlacementGroup = null, bool? zoneBalance = null, int? platformFaultDomainCount = null, ResourceIdentifier proximityPlacementGroupId = null, ResourceIdentifier hostGroupId = null, AdditionalCapabilities additionalCapabilities = null, ScaleInPolicy scaleInPolicy = null, OrchestrationMode? orchestrationMode = null, SpotRestorePolicy spotRestorePolicy = null, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = null, DateTimeOffset? timeCreated = null, bool? isMaximumCapacityConstrained = null, ResiliencyPolicy resiliencyPolicy = null, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = null, ComputeSkuProfile skuProfile = null, IDictionary additionalProperties = null) { additionalProperties ??= new Dictionary(); @@ -184,7 +184,7 @@ public static VirtualMachineScaleSetProperties VirtualMachineScaleSetProperties( spotRestorePolicy, priorityMixPolicy, timeCreated, - constrainedMaximumCapacity, + isMaximumCapacityConstrained, resiliencyPolicy, zonalPlatformFaultDomainAlignMode, skuProfile, diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs index 55079a22d4e4..242ec7248f89 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.Serialization.cs @@ -130,10 +130,10 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit writer.WritePropertyName("timeCreated"u8); writer.WriteStringValue(TimeCreated.Value, "O"); } - if (Optional.IsDefined(ConstrainedMaximumCapacity)) + if (Optional.IsDefined(IsMaximumCapacityConstrained)) { writer.WritePropertyName("constrainedMaximumCapacity"u8); - writer.WriteBooleanValue(ConstrainedMaximumCapacity.Value); + writer.WriteBooleanValue(IsMaximumCapacityConstrained.Value); } if (Optional.IsDefined(ResiliencyPolicy)) { diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs index 72532e83e3f1..768acec935d4 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetProperties.cs @@ -41,12 +41,12 @@ public VirtualMachineScaleSetProperties() /// Specifies the Spot Restore properties for the virtual machine scale set. /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. - /// Optional property which must either be set to True or omitted. + /// Optional property which must either be set to True or omitted. /// Policy for Resiliency. /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. /// Specifies the sku profile for the virtual machine scale set. /// Additional Properties. - internal VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, WritableSubResource proximityPlacementGroup, WritableSubResource hostGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? constrainedMaximumCapacity, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile, IDictionary additionalProperties) + internal VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy, ScheduledEventsPolicy scheduledEventsPolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetVmProfile virtualMachineProfile, string provisioningState, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, string uniqueId, bool? singlePlacementGroup, bool? zoneBalance, int? platformFaultDomainCount, WritableSubResource proximityPlacementGroup, WritableSubResource hostGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, OrchestrationMode? orchestrationMode, SpotRestorePolicy spotRestorePolicy, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, DateTimeOffset? timeCreated, bool? isMaximumCapacityConstrained, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile, IDictionary additionalProperties) { UpgradePolicy = upgradePolicy; ScheduledEventsPolicy = scheduledEventsPolicy; @@ -67,7 +67,7 @@ internal VirtualMachineScaleSetProperties(VirtualMachineScaleSetUpgradePolicy up SpotRestorePolicy = spotRestorePolicy; PriorityMixPolicy = priorityMixPolicy; TimeCreated = timeCreated; - ConstrainedMaximumCapacity = constrainedMaximumCapacity; + IsMaximumCapacityConstrained = isMaximumCapacityConstrained; ResiliencyPolicy = resiliencyPolicy; ZonalPlatformFaultDomainAlignMode = zonalPlatformFaultDomainAlignMode; SkuProfile = skuProfile; @@ -137,7 +137,7 @@ public ResourceIdentifier HostGroupId /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. public DateTimeOffset? TimeCreated { get; } /// Optional property which must either be set to True or omitted. - public bool? ConstrainedMaximumCapacity { get; set; } + public bool? IsMaximumCapacityConstrained { get; set; } /// Policy for Resiliency. public ResiliencyPolicy ResiliencyPolicy { get; set; } /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md index 95005ee843bd..76c94fc3c812 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md +++ b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md @@ -261,7 +261,7 @@ rename-mapping: VirtualMachineScaleSetUpdateNetworkConfiguration.properties.disableTcpStateTracking: IsTcpStateTrackingDisabled AlternativeOption: ImageAlternativeOption AlternativeType: ImageAlternativeType - VirtualMachineScaleSet.properties.constrainedMaximumCapacity : IsMaximumCapacityConstrained + VirtualMachineScaleSetProperties.constrainedMaximumCapacity : IsMaximumCapacityConstrained RollingUpgradePolicy.maxSurge : IsMaxSurgeEnabled ScheduledEventsProfile: ComputeScheduledEventsProfile ExpandTypeForListVMs: GetVirtualMachineExpandType diff --git a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/LroRehydrationTests.cs b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/LroRehydrationTests.cs index c989f5d933b1..25dc2348405b 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/LroRehydrationTests.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/LroRehydrationTests.cs @@ -60,24 +60,7 @@ public async Task CreateOrUpdate() Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.Plan), JsonSerializer.Serialize(rehydratedResult.Data.Plan)); Assert.AreEqual(originalResult.Data.Identity, rehydratedResult.Data.Identity); Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.Location), JsonSerializer.Serialize(rehydratedResult.Data.Location)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.UpgradePolicy), JsonSerializer.Serialize(rehydratedResult.Data.UpgradePolicy)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.AutomaticRepairsPolicy), JsonSerializer.Serialize(rehydratedResult.Data.AutomaticRepairsPolicy)); - Assert.AreEqual(originalResult.Data.ProvisioningState, rehydratedResult.Data.ProvisioningState); - Assert.AreEqual(originalResult.Data.Overprovision, rehydratedResult.Data.Overprovision); - Assert.AreEqual(originalResult.Data.DoNotRunExtensionsOnOverprovisionedVms, rehydratedResult.Data.DoNotRunExtensionsOnOverprovisionedVms); - Assert.AreEqual(originalResult.Data.UniqueId, rehydratedResult.Data.UniqueId); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.SinglePlacementGroup), JsonSerializer.Serialize(rehydratedResult.Data.SinglePlacementGroup)); - Assert.AreEqual(originalResult.Data.ZoneBalance, rehydratedResult.Data.ZoneBalance); - Assert.AreEqual(originalResult.Data.PlatformFaultDomainCount, rehydratedResult.Data.PlatformFaultDomainCount); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.ProximityPlacementGroup), JsonSerializer.Serialize(rehydratedResult.Data.ProximityPlacementGroup)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.HostGroup), JsonSerializer.Serialize(rehydratedResult.Data.HostGroup)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.AdditionalCapabilities), JsonSerializer.Serialize(rehydratedResult.Data.AdditionalCapabilities)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.ScaleInPolicy), JsonSerializer.Serialize(rehydratedResult.Data.ScaleInPolicy)); - Assert.AreEqual(originalResult.Data.OrchestrationMode, rehydratedResult.Data.OrchestrationMode); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.SpotRestorePolicy), JsonSerializer.Serialize(rehydratedResult.Data.SpotRestorePolicy)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.PriorityMixPolicy), JsonSerializer.Serialize(rehydratedResult.Data.PriorityMixPolicy)); - Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.TimeCreated), JsonSerializer.Serialize(rehydratedResult.Data.TimeCreated)); - Assert.AreEqual(originalResult.Data.IsMaximumCapacityConstrained, rehydratedResult.Data.IsMaximumCapacityConstrained); + Assert.AreEqual(JsonSerializer.Serialize(originalResult.Data.Properties), JsonSerializer.Serialize(rehydratedResult.Data.Properties)); var originalResponse = originalLro.GetRawResponse(); var rehydratedResponse = resourceRehydratedLro.GetRawResponse(); diff --git a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs index 84f0e4431815..8a7174423d50 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs @@ -70,7 +70,7 @@ public async Task Update() var lro = await vmss.UpdateAsync(WaitUntil.Completed, update); VirtualMachineScaleSetResource updatedVM = lro.Value; - Assert.AreEqual(ppg.Id, updatedVM.Data.ProximityPlacementGroup.Id); + Assert.AreEqual(ppg.Id, updatedVM.Data.Properties.ProximityPlacementGroupId); } [TestCase] From cfb4755066bb07dc7d7d5074ddeb7ac583eab2e1 Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 22 Nov 2024 14:45:07 +0800 Subject: [PATCH 4/5] udpate on vmssupdate model --- .../CHANGELOG.md | 5 + .../Azure.ResourceManager.Compute.net8.0.cs | 39 ++ ....ResourceManager.Compute.netstandard2.0.cs | 39 ++ .../Sample_VirtualMachineScaleSetResource.cs | 271 +++++++------- .../Models/VirtualMachineScaleSetPatch.cs | 223 ++++++++++++ .../Customize/VirtualMachineScaleSetData.cs | 2 - ...rtualMachineScaleSetPatch.Serialization.cs | 258 +------------ .../Models/VirtualMachineScaleSetPatch.cs | 76 +--- ...neScaleSetPatchProperties.Serialization.cs | 344 ++++++++++++++++++ .../VirtualMachineScaleSetPatchProperties.cs | 131 +++++++ .../src/autorest.md | 5 + .../VirtualMachineScaleSetOperationsTests.cs | 5 +- 12 files changed, 946 insertions(+), 452 deletions(-) create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Customize/Models/VirtualMachineScaleSetPatch.cs create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.Serialization.cs create mode 100644 sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.cs diff --git a/sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md b/sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md index b070f4c2774f..c7f11a10bb60 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md +++ b/sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md @@ -4,6 +4,11 @@ ### Features Added +- Please use the properties in `VirtualMachineScaleSetData.Properties` to set the properties of the VMSS, instead of using those properties at the root level of `VirtualMachineScaleSetData` class. +- Please use the properties in `VirtualMachineScaleSetPatch.Properties` to set the properties of the VMSS, instead of using those properties at the root level of `VirtualMachineScaleSetPatch` class. +- Added `VirtualMachineScaleSetProperties` which supports `AdditionalProperties` to send and receive private/internal properties supported by the service. +- Added `AdditionalProperties` to `VirtualMachineSizeProperties` and `VirtualMachineScaleSetUpgradePolicy` classes to support private/internal properties supported by the service. + ### Breaking Changes ### Bugs Fixed diff --git a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs index c918563a6d63..0558ee99e44a 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.net8.0.cs @@ -9015,22 +9015,37 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer public partial class VirtualMachineScaleSetPatch : Azure.ResourceManager.Compute.Models.ComputeResourcePatch, System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPatch() { } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } public Azure.ResourceManager.Models.ManagedServiceIdentity Identity { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? Overprovision { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputePlan Plan { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties Properties { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? SinglePlacementGroup { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputeSku Sku { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } public System.Collections.Generic.IList Zones { get { throw null; } } protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } @@ -9040,6 +9055,30 @@ protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter write string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class VirtualMachineScaleSetPatchProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + public VirtualMachineScaleSetPatchProperties() { } + public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } + public bool? Overprovision { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + public bool? SinglePlacementGroup { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class VirtualMachineScaleSetPriorityMixPolicy : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPriorityMixPolicy() { } diff --git a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs index c918563a6d63..0558ee99e44a 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/api/Azure.ResourceManager.Compute.netstandard2.0.cs @@ -9015,22 +9015,37 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer public partial class VirtualMachineScaleSetPatch : Azure.ResourceManager.Compute.Models.ComputeResourcePatch, System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPatch() { } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } public Azure.ResourceManager.Models.ManagedServiceIdentity Identity { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? Overprovision { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputePlan Plan { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties Properties { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public bool? SinglePlacementGroup { get { throw null; } set { } } public Azure.ResourceManager.Compute.Models.ComputeSku Sku { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get { throw null; } set { } } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } public System.Collections.Generic.IList Zones { get { throw null; } } protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } @@ -9040,6 +9055,30 @@ protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter write string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } } + public partial class VirtualMachineScaleSetPatchProperties : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel + { + public VirtualMachineScaleSetPatchProperties() { } + public Azure.ResourceManager.Compute.Models.AdditionalCapabilities AdditionalCapabilities { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.AutomaticRepairsPolicy AutomaticRepairsPolicy { get { throw null; } set { } } + public bool? DoNotRunExtensionsOnOverprovisionedVms { get { throw null; } set { } } + public bool? Overprovision { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get { throw null; } set { } } + public Azure.Core.ResourceIdentifier ProximityPlacementGroupId { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ResiliencyPolicy ResiliencyPolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ScaleInPolicy ScaleInPolicy { get { throw null; } set { } } + public bool? SinglePlacementGroup { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ComputeSkuProfile SkuProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.SpotRestorePolicy SpotRestorePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get { throw null; } set { } } + public Azure.ResourceManager.Compute.Models.ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get { throw null; } set { } } + protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties System.ClientModel.Primitives.IJsonModel.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + void System.ClientModel.Primitives.IJsonModel.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { } + Azure.ResourceManager.Compute.Models.VirtualMachineScaleSetPatchProperties System.ClientModel.Primitives.IPersistableModel.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + string System.ClientModel.Primitives.IPersistableModel.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + System.BinaryData System.ClientModel.Primitives.IPersistableModel.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; } + } public partial class VirtualMachineScaleSetPriorityMixPolicy : System.ClientModel.Primitives.IJsonModel, System.ClientModel.Primitives.IPersistableModel { public VirtualMachineScaleSetPriorityMixPolicy() { } diff --git a/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetResource.cs b/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetResource.cs index a3492acccf0f..55df6206dff5 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetResource.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/samples/Generated/Samples/Sample_VirtualMachineScaleSetResource.cs @@ -88,54 +88,45 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() Product = "windows-data-science-vm", PromotionCode = "aaaaaaaaaa", }, - Identity = new ManagedServiceIdentity("SystemAssigned") - { - UserAssignedIdentities = -{ -[new ResourceIdentifier("key3951")] = new UserAssignedIdentity(), -}, - }, - Zones = -{ -"1","2","3" -}, - UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() + Properties = new VirtualMachineScaleSetPatchProperties() { - Mode = VirtualMachineScaleSetUpgradeMode.Manual, - RollingUpgradePolicy = new RollingUpgradePolicy() + UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy() { - MaxBatchInstancePercent = 49, - MaxUnhealthyInstancePercent = 81, - MaxUnhealthyUpgradedInstancePercent = 98, - PauseTimeBetweenBatches = "aaaaaaaaaaaaaaa", - EnableCrossZoneUpgrade = true, - PrioritizeUnhealthyInstances = true, - RollbackFailedInstancesOnPolicyBreach = true, - IsMaxSurgeEnabled = true, + Mode = VirtualMachineScaleSetUpgradeMode.Manual, + RollingUpgradePolicy = new RollingUpgradePolicy() + { + MaxBatchInstancePercent = 49, + MaxUnhealthyInstancePercent = 81, + MaxUnhealthyUpgradedInstancePercent = 98, + PauseTimeBetweenBatches = "aaaaaaaaaaaaaaa", + EnableCrossZoneUpgrade = true, + PrioritizeUnhealthyInstances = true, + RollbackFailedInstancesOnPolicyBreach = true, + IsMaxSurgeEnabled = true, + }, + AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() + { + EnableAutomaticOSUpgrade = true, + DisableAutomaticRollback = true, + OSRollingUpgradeDeferral = true, + }, }, - AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy() + AutomaticRepairsPolicy = new AutomaticRepairsPolicy() { - EnableAutomaticOSUpgrade = true, - DisableAutomaticRollback = true, - OSRollingUpgradeDeferral = true, + Enabled = true, + GracePeriod = "PT30M", }, - }, - AutomaticRepairsPolicy = new AutomaticRepairsPolicy() - { - Enabled = true, - GracePeriod = "PT30M", - }, - VirtualMachineProfile = new VirtualMachineScaleSetUpdateVmProfile() - { - OSProfile = new VirtualMachineScaleSetUpdateOSProfile() + VirtualMachineProfile = new VirtualMachineScaleSetUpdateVmProfile() { - CustomData = "aaaaaaaaaaaaaaaaaaaaaaaaaa", - WindowsConfiguration = new WindowsConfiguration() + OSProfile = new VirtualMachineScaleSetUpdateOSProfile() { - ProvisionVmAgent = true, - IsAutomaticUpdatesEnabled = true, - TimeZone = "aaaaaaaaaaaaaaaa", - AdditionalUnattendContent = + CustomData = "aaaaaaaaaaaaaaaaaaaaaaaaaa", + WindowsConfiguration = new WindowsConfiguration() + { + ProvisionVmAgent = true, + IsAutomaticUpdatesEnabled = true, + TimeZone = "aaaaaaaaaaaaaaaa", + AdditionalUnattendContent = { new AdditionalUnattendContent() { @@ -145,17 +136,17 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() Content = "aaaaaaaaaaaaaaaaaaaa", } }, - PatchSettings = new PatchSettings() - { - PatchMode = WindowsVmGuestPatchMode.AutomaticByPlatform, - EnableHotpatching = true, - AssessmentMode = WindowsPatchAssessmentMode.ImageDefault, - AutomaticByPlatformSettings = new WindowsVmGuestPatchAutomaticByPlatformSettings() + PatchSettings = new PatchSettings() { - RebootSetting = WindowsVmGuestPatchAutomaticByPlatformRebootSetting.Never, + PatchMode = WindowsVmGuestPatchMode.AutomaticByPlatform, + EnableHotpatching = true, + AssessmentMode = WindowsPatchAssessmentMode.ImageDefault, + AutomaticByPlatformSettings = new WindowsVmGuestPatchAutomaticByPlatformSettings() + { + RebootSetting = WindowsVmGuestPatchAutomaticByPlatformRebootSetting.Never, + }, }, - }, - WinRMListeners = + WinRMListeners = { new WinRMListener() { @@ -163,11 +154,11 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() CertificateUri = new Uri("aaaaaaaaaaaaaaaaaaaaaa"), } }, - }, - LinuxConfiguration = new LinuxConfiguration() - { - IsPasswordAuthenticationDisabled = true, - SshPublicKeys = + }, + LinuxConfiguration = new LinuxConfiguration() + { + IsPasswordAuthenticationDisabled = true, + SshPublicKeys = { new SshPublicKeyConfiguration() { @@ -175,14 +166,14 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() KeyData = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1", } }, - ProvisionVmAgent = true, - PatchSettings = new LinuxPatchSettings() - { - PatchMode = LinuxVmGuestPatchMode.ImageDefault, - AssessmentMode = LinuxPatchAssessmentMode.ImageDefault, + ProvisionVmAgent = true, + PatchSettings = new LinuxPatchSettings() + { + PatchMode = LinuxVmGuestPatchMode.ImageDefault, + AssessmentMode = LinuxPatchAssessmentMode.ImageDefault, + }, }, - }, - Secrets = + Secrets = { new VaultSecretGroup() { @@ -197,40 +188,40 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() }, } }, - }, - StorageProfile = new VirtualMachineScaleSetUpdateStorageProfile() - { - ImageReference = new ImageReference() - { - Publisher = "MicrosoftWindowsServer", - Offer = "WindowsServer", - Sku = "2016-Datacenter", - Version = "latest", - SharedGalleryImageUniqueId = "aaaaaa", - Id = new ResourceIdentifier("aaaaaaaaaaaaaaaaaaa"), }, - OSDisk = new VirtualMachineScaleSetUpdateOSDisk() + StorageProfile = new VirtualMachineScaleSetUpdateStorageProfile() { - Caching = CachingType.ReadWrite, - WriteAcceleratorEnabled = true, - DiffDiskSettings = new DiffDiskSettings() + ImageReference = new ImageReference() { - Option = DiffDiskOption.Local, - Placement = DiffDiskPlacement.CacheDisk, + Publisher = "MicrosoftWindowsServer", + Offer = "WindowsServer", + Sku = "2016-Datacenter", + Version = "latest", + SharedGalleryImageUniqueId = "aaaaaa", + Id = new ResourceIdentifier("aaaaaaaaaaaaaaaaaaa"), }, - DiskSizeGB = 6, - ImageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"), - VhdContainers = + OSDisk = new VirtualMachineScaleSetUpdateOSDisk() + { + Caching = CachingType.ReadWrite, + WriteAcceleratorEnabled = true, + DiffDiskSettings = new DiffDiskSettings() + { + Option = DiffDiskOption.Local, + Placement = DiffDiskPlacement.CacheDisk, + }, + DiskSizeGB = 6, + ImageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"), + VhdContainers = { "aa" }, - ManagedDisk = new VirtualMachineScaleSetManagedDisk() - { - StorageAccountType = StorageAccountType.StandardLrs, - DiskEncryptionSetId = new ResourceIdentifier("aaaaaaaaaaaa"), + ManagedDisk = new VirtualMachineScaleSetManagedDisk() + { + StorageAccountType = StorageAccountType.StandardLrs, + DiskEncryptionSetId = new ResourceIdentifier("aaaaaaaaaaaa"), + }, }, - }, - DataDisks = + DataDisks = { new VirtualMachineScaleSetDataDisk(26,DiskCreateOptionType.Empty) { @@ -247,11 +238,11 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() DiskMBpsReadWrite = 15L, } }, - }, - NetworkProfile = new VirtualMachineScaleSetUpdateNetworkProfile() - { - HealthProbeId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"), - NetworkInterfaceConfigurations = + }, + NetworkProfile = new VirtualMachineScaleSetUpdateNetworkProfile() + { + HealthProbeId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"), + NetworkInterfaceConfigurations = { new VirtualMachineScaleSetUpdateNetworkConfiguration() { @@ -312,26 +303,26 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() DeleteOption = ComputeDeleteOption.Delete, } }, - NetworkApiVersion = NetworkApiVersion.TwoThousandTwenty1101, - }, - SecurityProfile = new SecurityProfile() - { - UefiSettings = new UefiSettings() + NetworkApiVersion = NetworkApiVersion.TwoThousandTwenty1101, + }, + SecurityProfile = new SecurityProfile() + { + UefiSettings = new UefiSettings() + { + IsSecureBootEnabled = true, + IsVirtualTpmEnabled = true, + }, + EncryptionAtHost = true, + SecurityType = SecurityType.TrustedLaunch, + }, + BootDiagnostics = new BootDiagnostics() { - IsSecureBootEnabled = true, - IsVirtualTpmEnabled = true, + Enabled = true, + StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), }, - EncryptionAtHost = true, - SecurityType = SecurityType.TrustedLaunch, - }, - BootDiagnostics = new BootDiagnostics() - { - Enabled = true, - StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"), - }, - ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() - { - Extensions = + ExtensionProfile = new VirtualMachineScaleSetExtensionProfile() + { + Extensions = { new VirtualMachineScaleSetExtensionData() { @@ -354,37 +345,49 @@ public async Task Update_VirtualMachineScaleSetUpdateMaximumSetGen() SuppressFailures = true, } }, - ExtensionsTimeBudget = "PT1H20M", - }, - LicenseType = "aaaaaaaaaaaa", - BillingMaxPrice = -1, - ScheduledEventsProfile = new ComputeScheduledEventsProfile() - { - TerminateNotificationProfile = new TerminateNotificationProfile() + ExtensionsTimeBudget = "PT1H20M", + }, + LicenseType = "aaaaaaaaaaaa", + BillingMaxPrice = -1, + ScheduledEventsProfile = new ComputeScheduledEventsProfile() { - NotBeforeTimeout = "PT10M", - Enable = true, + TerminateNotificationProfile = new TerminateNotificationProfile() + { + NotBeforeTimeout = "PT10M", + Enable = true, + }, }, + UserData = "aaaaaaaaaaaaa", }, - UserData = "aaaaaaaaaaaaa", - }, - Overprovision = true, - DoNotRunExtensionsOnOverprovisionedVms = true, - SinglePlacementGroup = true, - AdditionalCapabilities = new AdditionalCapabilities() - { - UltraSsdEnabled = true, - HibernationEnabled = true, + Overprovision = true, + DoNotRunExtensionsOnOverprovisionedVms = true, + SinglePlacementGroup = true, + AdditionalCapabilities = new AdditionalCapabilities() + { + UltraSsdEnabled = true, + HibernationEnabled = true, + }, + ScaleInPolicy = new ScaleInPolicy() + { + Rules = +{ +VirtualMachineScaleSetScaleInRule.OldestVm +}, + ForceDeletion = true, + }, + ProximityPlacementGroupId = new ResourceIdentifier("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"), }, - ScaleInPolicy = new ScaleInPolicy() + Identity = new ManagedServiceIdentity("SystemAssigned") { - Rules = + UserAssignedIdentities = { -VirtualMachineScaleSetScaleInRule.OldestVm +[new ResourceIdentifier("key3951")] = new UserAssignedIdentity(), }, - ForceDeletion = true, }, - ProximityPlacementGroupId = new ResourceIdentifier("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"), + Zones = +{ +"1","2","3" +}, Tags = { ["key246"] = "aaaaaaaaaaaaaaaaaaaaaaaa", diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/Models/VirtualMachineScaleSetPatch.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/Models/VirtualMachineScaleSetPatch.cs new file mode 100644 index 000000000000..da6c05f6fb7a --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/Models/VirtualMachineScaleSetPatch.cs @@ -0,0 +1,223 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#nullable disable + +using System.ComponentModel; +using Azure.Core; + +namespace Azure.ResourceManager.Compute.Models +{ + public partial class VirtualMachineScaleSetPatch : ComputeResourcePatch + { + /// The upgrade policy. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetUpgradePolicy UpgradePolicy + { + get => Properties?.UpgradePolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.UpgradePolicy = value; + } + } + + /// Policy for automatic repairs. + [EditorBrowsable(EditorBrowsableState.Never)] + public AutomaticRepairsPolicy AutomaticRepairsPolicy + { + get => Properties?.AutomaticRepairsPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.AutomaticRepairsPolicy = value; + } + } + + /// The virtual machine profile. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile + { + get => Properties?.VirtualMachineProfile; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.VirtualMachineProfile = value; + } + } + + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? Overprovision + { + get => Properties?.Overprovision; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.Overprovision = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? DoNotRunExtensionsOnOverprovisionedVms + { + get => Properties?.DoNotRunExtensionsOnOverprovisionedVms; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.DoNotRunExtensionsOnOverprovisionedVms = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public bool? SinglePlacementGroup + { + get => Properties?.SinglePlacementGroup; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.SinglePlacementGroup = value; + } + } + + /// 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. + [EditorBrowsable(EditorBrowsableState.Never)] + public AdditionalCapabilities AdditionalCapabilities + { + get => Properties?.AdditionalCapabilities; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.AdditionalCapabilities = value; + } + } + + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + [EditorBrowsable(EditorBrowsableState.Never)] + public ScaleInPolicy ScaleInPolicy + { + get => Properties?.ScaleInPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.ScaleInPolicy = value; + } + } + + /// Gets or sets Id. + [EditorBrowsable(EditorBrowsableState.Never)] + public ResourceIdentifier ProximityPlacementGroupId + { + get => Properties?.ProximityPlacementGroupId; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.ProximityPlacementGroupId = value; + } + } + + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + [EditorBrowsable(EditorBrowsableState.Never)] + public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy + { + get => Properties?.PriorityMixPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.PriorityMixPolicy = value; + } + } + + /// Specifies the Spot Restore properties for the virtual machine scale set. + [EditorBrowsable(EditorBrowsableState.Never)] + public SpotRestorePolicy SpotRestorePolicy + { + get => Properties?.SpotRestorePolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.SpotRestorePolicy = value; + } + } + + /// Policy for Resiliency. + [EditorBrowsable(EditorBrowsableState.Never)] + public ResiliencyPolicy ResiliencyPolicy + { + get => Properties?.ResiliencyPolicy; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.ResiliencyPolicy = value; + } + } + + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + [EditorBrowsable(EditorBrowsableState.Never)] + public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode + { + get => Properties?.ZonalPlatformFaultDomainAlignMode; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.ZonalPlatformFaultDomainAlignMode = value; + } + } + + /// Specifies the sku profile for the virtual machine scale set. + [EditorBrowsable(EditorBrowsableState.Never)] + public ComputeSkuProfile SkuProfile + { + get => Properties?.SkuProfile; + set + { + if (Properties is null) + { + Properties = new VirtualMachineScaleSetPatchProperties(); + } + Properties.SkuProfile = value; + } + } + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs index 00c09d7ac79e..c9425ba20e97 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Customize/VirtualMachineScaleSetData.cs @@ -4,12 +4,10 @@ #nullable disable using System; -using System.Collections.Generic; using System.ComponentModel; using Azure.Core; using Azure.ResourceManager.Compute.Models; using Azure.ResourceManager.Models; -using Azure.ResourceManager.Resources.Models; namespace Azure.ResourceManager.Compute { diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.Serialization.cs index 05c6d3695d2d..7e385903c908 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.Serialization.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.Serialization.cs @@ -11,7 +11,6 @@ using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; -using Azure.ResourceManager.Resources.Models; namespace Azure.ResourceManager.Compute.Models { @@ -47,6 +46,11 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri writer.WritePropertyName("plan"u8); writer.WriteObjectValue(Plan, options); } + if (Optional.IsDefined(Properties)) + { + writer.WritePropertyName("properties"u8); + writer.WriteObjectValue(Properties, options); + } if (Optional.IsDefined(Identity)) { writer.WritePropertyName("identity"u8); @@ -62,79 +66,6 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri } writer.WriteEndArray(); } - writer.WritePropertyName("properties"u8); - writer.WriteStartObject(); - if (Optional.IsDefined(UpgradePolicy)) - { - writer.WritePropertyName("upgradePolicy"u8); - writer.WriteObjectValue(UpgradePolicy, options); - } - if (Optional.IsDefined(AutomaticRepairsPolicy)) - { - writer.WritePropertyName("automaticRepairsPolicy"u8); - writer.WriteObjectValue(AutomaticRepairsPolicy, options); - } - if (Optional.IsDefined(VirtualMachineProfile)) - { - writer.WritePropertyName("virtualMachineProfile"u8); - writer.WriteObjectValue(VirtualMachineProfile, options); - } - if (Optional.IsDefined(Overprovision)) - { - writer.WritePropertyName("overprovision"u8); - writer.WriteBooleanValue(Overprovision.Value); - } - if (Optional.IsDefined(DoNotRunExtensionsOnOverprovisionedVms)) - { - writer.WritePropertyName("doNotRunExtensionsOnOverprovisionedVMs"u8); - writer.WriteBooleanValue(DoNotRunExtensionsOnOverprovisionedVms.Value); - } - if (Optional.IsDefined(SinglePlacementGroup)) - { - writer.WritePropertyName("singlePlacementGroup"u8); - writer.WriteBooleanValue(SinglePlacementGroup.Value); - } - if (Optional.IsDefined(AdditionalCapabilities)) - { - writer.WritePropertyName("additionalCapabilities"u8); - writer.WriteObjectValue(AdditionalCapabilities, options); - } - if (Optional.IsDefined(ScaleInPolicy)) - { - writer.WritePropertyName("scaleInPolicy"u8); - writer.WriteObjectValue(ScaleInPolicy, options); - } - if (Optional.IsDefined(ProximityPlacementGroup)) - { - writer.WritePropertyName("proximityPlacementGroup"u8); - JsonSerializer.Serialize(writer, ProximityPlacementGroup); - } - if (Optional.IsDefined(PriorityMixPolicy)) - { - writer.WritePropertyName("priorityMixPolicy"u8); - writer.WriteObjectValue(PriorityMixPolicy, options); - } - if (Optional.IsDefined(SpotRestorePolicy)) - { - writer.WritePropertyName("spotRestorePolicy"u8); - writer.WriteObjectValue(SpotRestorePolicy, options); - } - if (Optional.IsDefined(ResiliencyPolicy)) - { - writer.WritePropertyName("resiliencyPolicy"u8); - writer.WriteObjectValue(ResiliencyPolicy, options); - } - if (Optional.IsDefined(ZonalPlatformFaultDomainAlignMode)) - { - writer.WritePropertyName("zonalPlatformFaultDomainAlignMode"u8); - writer.WriteStringValue(ZonalPlatformFaultDomainAlignMode.Value.ToString()); - } - if (Optional.IsDefined(SkuProfile)) - { - writer.WritePropertyName("skuProfile"u8); - writer.WriteObjectValue(SkuProfile, options); - } - writer.WriteEndObject(); } VirtualMachineScaleSetPatch IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) @@ -159,23 +90,10 @@ internal static VirtualMachineScaleSetPatch DeserializeVirtualMachineScaleSetPat } ComputeSku sku = default; ComputePlan plan = default; + VirtualMachineScaleSetPatchProperties properties = default; ManagedServiceIdentity identity = default; IList zones = default; IDictionary tags = default; - VirtualMachineScaleSetUpgradePolicy upgradePolicy = default; - AutomaticRepairsPolicy automaticRepairsPolicy = default; - VirtualMachineScaleSetUpdateVmProfile virtualMachineProfile = default; - bool? overprovision = default; - bool? doNotRunExtensionsOnOverprovisionedVms = default; - bool? singlePlacementGroup = default; - AdditionalCapabilities additionalCapabilities = default; - ScaleInPolicy scaleInPolicy = default; - WritableSubResource proximityPlacementGroup = default; - VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = default; - SpotRestorePolicy spotRestorePolicy = default; - ResiliencyPolicy resiliencyPolicy = default; - ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default; - ComputeSkuProfile skuProfile = default; IDictionary serializedAdditionalRawData = default; Dictionary rawDataDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) @@ -198,6 +116,15 @@ internal static VirtualMachineScaleSetPatch DeserializeVirtualMachineScaleSetPat plan = ComputePlan.DeserializeComputePlan(property.Value, options); continue; } + if (property.NameEquals("properties"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + properties = VirtualMachineScaleSetPatchProperties.DeserializeVirtualMachineScaleSetPatchProperties(property.Value, options); + continue; + } if (property.NameEquals("identity"u8)) { if (property.Value.ValueKind == JsonValueKind.Null) @@ -235,144 +162,6 @@ internal static VirtualMachineScaleSetPatch DeserializeVirtualMachineScaleSetPat tags = dictionary; continue; } - if (property.NameEquals("properties"u8)) - { - if (property.Value.ValueKind == JsonValueKind.Null) - { - property.ThrowNonNullablePropertyIsNull(); - continue; - } - foreach (var property0 in property.Value.EnumerateObject()) - { - if (property0.NameEquals("upgradePolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - upgradePolicy = VirtualMachineScaleSetUpgradePolicy.DeserializeVirtualMachineScaleSetUpgradePolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("automaticRepairsPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - automaticRepairsPolicy = AutomaticRepairsPolicy.DeserializeAutomaticRepairsPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("virtualMachineProfile"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - virtualMachineProfile = VirtualMachineScaleSetUpdateVmProfile.DeserializeVirtualMachineScaleSetUpdateVmProfile(property0.Value, options); - continue; - } - if (property0.NameEquals("overprovision"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - overprovision = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("doNotRunExtensionsOnOverprovisionedVMs"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - doNotRunExtensionsOnOverprovisionedVms = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("singlePlacementGroup"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - singlePlacementGroup = property0.Value.GetBoolean(); - continue; - } - if (property0.NameEquals("additionalCapabilities"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property0.Value, options); - continue; - } - if (property0.NameEquals("scaleInPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - scaleInPolicy = ScaleInPolicy.DeserializeScaleInPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("proximityPlacementGroup"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - proximityPlacementGroup = JsonSerializer.Deserialize(property0.Value.GetRawText()); - continue; - } - if (property0.NameEquals("priorityMixPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - priorityMixPolicy = VirtualMachineScaleSetPriorityMixPolicy.DeserializeVirtualMachineScaleSetPriorityMixPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("spotRestorePolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - spotRestorePolicy = SpotRestorePolicy.DeserializeSpotRestorePolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("resiliencyPolicy"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - resiliencyPolicy = ResiliencyPolicy.DeserializeResiliencyPolicy(property0.Value, options); - continue; - } - if (property0.NameEquals("zonalPlatformFaultDomainAlignMode"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - zonalPlatformFaultDomainAlignMode = new ZonalPlatformFaultDomainAlignMode(property0.Value.GetString()); - continue; - } - if (property0.NameEquals("skuProfile"u8)) - { - if (property0.Value.ValueKind == JsonValueKind.Null) - { - continue; - } - skuProfile = ComputeSkuProfile.DeserializeComputeSkuProfile(property0.Value, options); - continue; - } - } - continue; - } if (options.Format != "W") { rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); @@ -384,22 +173,9 @@ internal static VirtualMachineScaleSetPatch DeserializeVirtualMachineScaleSetPat serializedAdditionalRawData, sku, plan, + properties, identity, - zones ?? new ChangeTrackingList(), - upgradePolicy, - automaticRepairsPolicy, - virtualMachineProfile, - overprovision, - doNotRunExtensionsOnOverprovisionedVms, - singlePlacementGroup, - additionalCapabilities, - scaleInPolicy, - proximityPlacementGroup, - priorityMixPolicy, - spotRestorePolicy, - resiliencyPolicy, - zonalPlatformFaultDomainAlignMode, - skuProfile); + zones ?? new ChangeTrackingList()); } BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.cs index b68cbbcdb156..de64d05e4a57 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatch.cs @@ -7,9 +7,7 @@ using System; using System.Collections.Generic; -using Azure.Core; using Azure.ResourceManager.Models; -using Azure.ResourceManager.Resources.Models; namespace Azure.ResourceManager.Compute.Models { @@ -27,91 +25,27 @@ public VirtualMachineScaleSetPatch() /// Keeps track of any properties unknown to the library. /// The virtual machine scale set sku. /// The purchase plan when deploying a virtual machine scale set from VM Marketplace images. + /// Describes the properties of a Virtual Machine Scale Set. /// The identity of the virtual machine scale set, if configured. /// The virtual machine scale set zones. - /// The upgrade policy. - /// Policy for automatic repairs. - /// The virtual machine profile. - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - /// 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. - /// 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. - /// 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. - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - /// Specifies the Spot Restore properties for the virtual machine scale set. - /// Policy for Resiliency. - /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. - /// Specifies the sku profile for the virtual machine scale set. - internal VirtualMachineScaleSetPatch(IDictionary tags, IDictionary serializedAdditionalRawData, ComputeSku sku, ComputePlan plan, ManagedServiceIdentity identity, IList zones, VirtualMachineScaleSetUpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetUpdateVmProfile virtualMachineProfile, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, bool? singlePlacementGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, WritableSubResource proximityPlacementGroup, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, SpotRestorePolicy spotRestorePolicy, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile) : base(tags, serializedAdditionalRawData) + internal VirtualMachineScaleSetPatch(IDictionary tags, IDictionary serializedAdditionalRawData, ComputeSku sku, ComputePlan plan, VirtualMachineScaleSetPatchProperties properties, ManagedServiceIdentity identity, IList zones) : base(tags, serializedAdditionalRawData) { Sku = sku; Plan = plan; + Properties = properties; Identity = identity; Zones = zones; - UpgradePolicy = upgradePolicy; - AutomaticRepairsPolicy = automaticRepairsPolicy; - VirtualMachineProfile = virtualMachineProfile; - Overprovision = overprovision; - DoNotRunExtensionsOnOverprovisionedVms = doNotRunExtensionsOnOverprovisionedVms; - SinglePlacementGroup = singlePlacementGroup; - AdditionalCapabilities = additionalCapabilities; - ScaleInPolicy = scaleInPolicy; - ProximityPlacementGroup = proximityPlacementGroup; - PriorityMixPolicy = priorityMixPolicy; - SpotRestorePolicy = spotRestorePolicy; - ResiliencyPolicy = resiliencyPolicy; - ZonalPlatformFaultDomainAlignMode = zonalPlatformFaultDomainAlignMode; - SkuProfile = skuProfile; } /// The virtual machine scale set sku. public ComputeSku Sku { get; set; } /// The purchase plan when deploying a virtual machine scale set from VM Marketplace images. public ComputePlan Plan { get; set; } + /// Describes the properties of a Virtual Machine Scale Set. + public VirtualMachineScaleSetPatchProperties Properties { get; set; } /// The identity of the virtual machine scale set, if configured. public ManagedServiceIdentity Identity { get; set; } /// The virtual machine scale set zones. public IList Zones { get; } - /// The upgrade policy. - public VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get; set; } - /// Policy for automatic repairs. - public AutomaticRepairsPolicy AutomaticRepairsPolicy { get; set; } - /// The virtual machine profile. - public VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get; set; } - /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. - public bool? Overprovision { get; set; } - /// 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. - public bool? DoNotRunExtensionsOnOverprovisionedVms { get; set; } - /// 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. - public bool? SinglePlacementGroup { get; set; } - /// 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. - public AdditionalCapabilities AdditionalCapabilities { get; set; } - /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. - public ScaleInPolicy ScaleInPolicy { get; set; } - /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. - internal WritableSubResource ProximityPlacementGroup { get; set; } - /// Gets or sets Id. - public ResourceIdentifier ProximityPlacementGroupId - { - get => ProximityPlacementGroup is null ? default : ProximityPlacementGroup.Id; - set - { - if (ProximityPlacementGroup is null) - ProximityPlacementGroup = new WritableSubResource(); - ProximityPlacementGroup.Id = value; - } - } - - /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. - public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get; set; } - /// Specifies the Spot Restore properties for the virtual machine scale set. - public SpotRestorePolicy SpotRestorePolicy { get; set; } - /// Policy for Resiliency. - public ResiliencyPolicy ResiliencyPolicy { get; set; } - /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. - public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get; set; } - /// Specifies the sku profile for the virtual machine scale set. - public ComputeSkuProfile SkuProfile { get; set; } } } diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.Serialization.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.Serialization.cs new file mode 100644 index 000000000000..ba35a1178120 --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.Serialization.cs @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Compute.Models +{ + public partial class VirtualMachineScaleSetPatchProperties : IUtf8JsonSerializable, IJsonModel + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) => ((IJsonModel)this).Write(writer, ModelSerializationExtensions.WireOptions); + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + writer.WriteStartObject(); + JsonModelWriteCore(writer, options); + writer.WriteEndObject(); + } + + /// The JSON writer. + /// The client options for reading and writing models. + protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(VirtualMachineScaleSetPatchProperties)} does not support writing '{format}' format."); + } + + if (Optional.IsDefined(UpgradePolicy)) + { + writer.WritePropertyName("upgradePolicy"u8); + writer.WriteObjectValue(UpgradePolicy, options); + } + if (Optional.IsDefined(AutomaticRepairsPolicy)) + { + writer.WritePropertyName("automaticRepairsPolicy"u8); + writer.WriteObjectValue(AutomaticRepairsPolicy, options); + } + if (Optional.IsDefined(VirtualMachineProfile)) + { + writer.WritePropertyName("virtualMachineProfile"u8); + writer.WriteObjectValue(VirtualMachineProfile, options); + } + if (Optional.IsDefined(Overprovision)) + { + writer.WritePropertyName("overprovision"u8); + writer.WriteBooleanValue(Overprovision.Value); + } + if (Optional.IsDefined(DoNotRunExtensionsOnOverprovisionedVms)) + { + writer.WritePropertyName("doNotRunExtensionsOnOverprovisionedVMs"u8); + writer.WriteBooleanValue(DoNotRunExtensionsOnOverprovisionedVms.Value); + } + if (Optional.IsDefined(SinglePlacementGroup)) + { + writer.WritePropertyName("singlePlacementGroup"u8); + writer.WriteBooleanValue(SinglePlacementGroup.Value); + } + if (Optional.IsDefined(AdditionalCapabilities)) + { + writer.WritePropertyName("additionalCapabilities"u8); + writer.WriteObjectValue(AdditionalCapabilities, options); + } + if (Optional.IsDefined(ScaleInPolicy)) + { + writer.WritePropertyName("scaleInPolicy"u8); + writer.WriteObjectValue(ScaleInPolicy, options); + } + if (Optional.IsDefined(ProximityPlacementGroup)) + { + writer.WritePropertyName("proximityPlacementGroup"u8); + JsonSerializer.Serialize(writer, ProximityPlacementGroup); + } + if (Optional.IsDefined(PriorityMixPolicy)) + { + writer.WritePropertyName("priorityMixPolicy"u8); + writer.WriteObjectValue(PriorityMixPolicy, options); + } + if (Optional.IsDefined(SpotRestorePolicy)) + { + writer.WritePropertyName("spotRestorePolicy"u8); + writer.WriteObjectValue(SpotRestorePolicy, options); + } + if (Optional.IsDefined(ResiliencyPolicy)) + { + writer.WritePropertyName("resiliencyPolicy"u8); + writer.WriteObjectValue(ResiliencyPolicy, options); + } + if (Optional.IsDefined(ZonalPlatformFaultDomainAlignMode)) + { + writer.WritePropertyName("zonalPlatformFaultDomainAlignMode"u8); + writer.WriteStringValue(ZonalPlatformFaultDomainAlignMode.Value.ToString()); + } + if (Optional.IsDefined(SkuProfile)) + { + writer.WritePropertyName("skuProfile"u8); + writer.WriteObjectValue(SkuProfile, options); + } + if (options.Format != "W" && _serializedAdditionalRawData != null) + { + foreach (var item in _serializedAdditionalRawData) + { + writer.WritePropertyName(item.Key); +#if NET6_0_OR_GREATER + writer.WriteRawValue(item.Value); +#else + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); + } +#endif + } + } + } + + VirtualMachineScaleSetPatchProperties IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(VirtualMachineScaleSetPatchProperties)} does not support reading '{format}' format."); + } + + using JsonDocument document = JsonDocument.ParseValue(ref reader); + return DeserializeVirtualMachineScaleSetPatchProperties(document.RootElement, options); + } + + internal static VirtualMachineScaleSetPatchProperties DeserializeVirtualMachineScaleSetPatchProperties(JsonElement element, ModelReaderWriterOptions options = null) + { + options ??= ModelSerializationExtensions.WireOptions; + + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + VirtualMachineScaleSetUpgradePolicy upgradePolicy = default; + AutomaticRepairsPolicy automaticRepairsPolicy = default; + VirtualMachineScaleSetUpdateVmProfile virtualMachineProfile = default; + bool? overprovision = default; + bool? doNotRunExtensionsOnOverprovisionedVms = default; + bool? singlePlacementGroup = default; + AdditionalCapabilities additionalCapabilities = default; + ScaleInPolicy scaleInPolicy = default; + WritableSubResource proximityPlacementGroup = default; + VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy = default; + SpotRestorePolicy spotRestorePolicy = default; + ResiliencyPolicy resiliencyPolicy = default; + ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode = default; + ComputeSkuProfile skuProfile = default; + IDictionary serializedAdditionalRawData = default; + Dictionary rawDataDictionary = new Dictionary(); + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("upgradePolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + upgradePolicy = VirtualMachineScaleSetUpgradePolicy.DeserializeVirtualMachineScaleSetUpgradePolicy(property.Value, options); + continue; + } + if (property.NameEquals("automaticRepairsPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + automaticRepairsPolicy = AutomaticRepairsPolicy.DeserializeAutomaticRepairsPolicy(property.Value, options); + continue; + } + if (property.NameEquals("virtualMachineProfile"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + virtualMachineProfile = VirtualMachineScaleSetUpdateVmProfile.DeserializeVirtualMachineScaleSetUpdateVmProfile(property.Value, options); + continue; + } + if (property.NameEquals("overprovision"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + overprovision = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("doNotRunExtensionsOnOverprovisionedVMs"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + doNotRunExtensionsOnOverprovisionedVms = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("singlePlacementGroup"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + singlePlacementGroup = property.Value.GetBoolean(); + continue; + } + if (property.NameEquals("additionalCapabilities"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property.Value, options); + continue; + } + if (property.NameEquals("scaleInPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + scaleInPolicy = ScaleInPolicy.DeserializeScaleInPolicy(property.Value, options); + continue; + } + if (property.NameEquals("proximityPlacementGroup"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + proximityPlacementGroup = JsonSerializer.Deserialize(property.Value.GetRawText()); + continue; + } + if (property.NameEquals("priorityMixPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + priorityMixPolicy = VirtualMachineScaleSetPriorityMixPolicy.DeserializeVirtualMachineScaleSetPriorityMixPolicy(property.Value, options); + continue; + } + if (property.NameEquals("spotRestorePolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + spotRestorePolicy = SpotRestorePolicy.DeserializeSpotRestorePolicy(property.Value, options); + continue; + } + if (property.NameEquals("resiliencyPolicy"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + resiliencyPolicy = ResiliencyPolicy.DeserializeResiliencyPolicy(property.Value, options); + continue; + } + if (property.NameEquals("zonalPlatformFaultDomainAlignMode"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + zonalPlatformFaultDomainAlignMode = new ZonalPlatformFaultDomainAlignMode(property.Value.GetString()); + continue; + } + if (property.NameEquals("skuProfile"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + skuProfile = ComputeSkuProfile.DeserializeComputeSkuProfile(property.Value, options); + continue; + } + if (options.Format != "W") + { + rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); + } + } + serializedAdditionalRawData = rawDataDictionary; + return new VirtualMachineScaleSetPatchProperties( + upgradePolicy, + automaticRepairsPolicy, + virtualMachineProfile, + overprovision, + doNotRunExtensionsOnOverprovisionedVms, + singlePlacementGroup, + additionalCapabilities, + scaleInPolicy, + proximityPlacementGroup, + priorityMixPolicy, + spotRestorePolicy, + resiliencyPolicy, + zonalPlatformFaultDomainAlignMode, + skuProfile, + serializedAdditionalRawData); + } + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + return ModelReaderWriter.Write(this, options); + default: + throw new FormatException($"The model {nameof(VirtualMachineScaleSetPatchProperties)} does not support writing '{options.Format}' format."); + } + } + + VirtualMachineScaleSetPatchProperties IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + { + using JsonDocument document = JsonDocument.Parse(data); + return DeserializeVirtualMachineScaleSetPatchProperties(document.RootElement, options); + } + default: + throw new FormatException($"The model {nameof(VirtualMachineScaleSetPatchProperties)} does not support reading '{options.Format}' format."); + } + } + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J"; + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.cs b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.cs new file mode 100644 index 000000000000..1f3cb453c998 --- /dev/null +++ b/sdk/compute/Azure.ResourceManager.Compute/src/Generated/Models/VirtualMachineScaleSetPatchProperties.cs @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using Azure.Core; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Compute.Models +{ + /// Describes the properties of a Virtual Machine Scale Set. + public partial class VirtualMachineScaleSetPatchProperties + { + /// + /// Keeps track of any properties unknown to the library. + /// + /// To assign an object to the value of this property use . + /// + /// + /// To assign an already formatted json string to this property use . + /// + /// + /// Examples: + /// + /// + /// BinaryData.FromObjectAsJson("foo") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromString("\"foo\"") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromObjectAsJson(new { key = "value" }) + /// Creates a payload of { "key": "value" }. + /// + /// + /// BinaryData.FromString("{\"key\": \"value\"}") + /// Creates a payload of { "key": "value" }. + /// + /// + /// + /// + private IDictionary _serializedAdditionalRawData; + + /// Initializes a new instance of . + public VirtualMachineScaleSetPatchProperties() + { + } + + /// Initializes a new instance of . + /// The upgrade policy. + /// Policy for automatic repairs. + /// The virtual machine profile. + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// 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. + /// 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. + /// 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. + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// Policy for Resiliency. + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + /// Specifies the sku profile for the virtual machine scale set. + /// Keeps track of any properties unknown to the library. + internal VirtualMachineScaleSetPatchProperties(VirtualMachineScaleSetUpgradePolicy upgradePolicy, AutomaticRepairsPolicy automaticRepairsPolicy, VirtualMachineScaleSetUpdateVmProfile virtualMachineProfile, bool? overprovision, bool? doNotRunExtensionsOnOverprovisionedVms, bool? singlePlacementGroup, AdditionalCapabilities additionalCapabilities, ScaleInPolicy scaleInPolicy, WritableSubResource proximityPlacementGroup, VirtualMachineScaleSetPriorityMixPolicy priorityMixPolicy, SpotRestorePolicy spotRestorePolicy, ResiliencyPolicy resiliencyPolicy, ZonalPlatformFaultDomainAlignMode? zonalPlatformFaultDomainAlignMode, ComputeSkuProfile skuProfile, IDictionary serializedAdditionalRawData) + { + UpgradePolicy = upgradePolicy; + AutomaticRepairsPolicy = automaticRepairsPolicy; + VirtualMachineProfile = virtualMachineProfile; + Overprovision = overprovision; + DoNotRunExtensionsOnOverprovisionedVms = doNotRunExtensionsOnOverprovisionedVms; + SinglePlacementGroup = singlePlacementGroup; + AdditionalCapabilities = additionalCapabilities; + ScaleInPolicy = scaleInPolicy; + ProximityPlacementGroup = proximityPlacementGroup; + PriorityMixPolicy = priorityMixPolicy; + SpotRestorePolicy = spotRestorePolicy; + ResiliencyPolicy = resiliencyPolicy; + ZonalPlatformFaultDomainAlignMode = zonalPlatformFaultDomainAlignMode; + SkuProfile = skuProfile; + _serializedAdditionalRawData = serializedAdditionalRawData; + } + + /// The upgrade policy. + public VirtualMachineScaleSetUpgradePolicy UpgradePolicy { get; set; } + /// Policy for automatic repairs. + public AutomaticRepairsPolicy AutomaticRepairsPolicy { get; set; } + /// The virtual machine profile. + public VirtualMachineScaleSetUpdateVmProfile VirtualMachineProfile { get; set; } + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + public bool? Overprovision { get; set; } + /// 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. + public bool? DoNotRunExtensionsOnOverprovisionedVms { get; set; } + /// 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. + public bool? SinglePlacementGroup { get; set; } + /// 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. + public AdditionalCapabilities AdditionalCapabilities { get; set; } + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + public ScaleInPolicy ScaleInPolicy { get; set; } + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01. + internal WritableSubResource ProximityPlacementGroup { get; set; } + /// Gets or sets Id. + public ResourceIdentifier ProximityPlacementGroupId + { + get => ProximityPlacementGroup is null ? default : ProximityPlacementGroup.Id; + set + { + if (ProximityPlacementGroup is null) + ProximityPlacementGroup = new WritableSubResource(); + ProximityPlacementGroup.Id = value; + } + } + + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + public VirtualMachineScaleSetPriorityMixPolicy PriorityMixPolicy { get; set; } + /// Specifies the Spot Restore properties for the virtual machine scale set. + public SpotRestorePolicy SpotRestorePolicy { get; set; } + /// Policy for Resiliency. + public ResiliencyPolicy ResiliencyPolicy { get; set; } + /// Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count. + public ZonalPlatformFaultDomainAlignMode? ZonalPlatformFaultDomainAlignMode { get; set; } + /// Specifies the sku profile for the virtual machine scale set. + public ComputeSkuProfile SkuProfile { get; set; } + } +} diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md index 76c94fc3c812..91b89c2c03a6 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md +++ b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md @@ -262,6 +262,7 @@ rename-mapping: AlternativeOption: ImageAlternativeOption AlternativeType: ImageAlternativeType VirtualMachineScaleSetProperties.constrainedMaximumCapacity : IsMaximumCapacityConstrained + VirtualMachineScaleSetUpdateProperties: VirtualMachineScaleSetPatchProperties RollingUpgradePolicy.maxSurge : IsMaxSurgeEnabled ScheduledEventsProfile: ComputeScheduledEventsProfile ExpandTypeForListVMs: GetVirtualMachineExpandType @@ -400,6 +401,10 @@ directive: where: $.definitions.VirtualMachineScaleSet.properties transform: > $.properties["x-ms-client-flatten"] = false; + - from: virtualMachineScaleSet.json + where: $.definitions.VirtualMachineScaleSetUpdate.properties + transform: > + $.properties["x-ms-client-flatten"] = false; - from: virtualMachineScaleSet.json where: $.definitions.UpgradePolicy transform: > diff --git a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs index 8a7174423d50..14a053bb1db6 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs +++ b/sdk/compute/Azure.ResourceManager.Compute/tests/Scenario/VirtualMachineScaleSetOperationsTests.cs @@ -62,10 +62,7 @@ public async Task Update() await vmss.DeallocateAsync(WaitUntil.Completed); var update = new VirtualMachineScaleSetPatch() { - ProximityPlacementGroup = new WritableSubResource() - { - Id = ppg.Id - } + ProximityPlacementGroupId = ppg.Id }; var lro = await vmss.UpdateAsync(WaitUntil.Completed, update); VirtualMachineScaleSetResource updatedVM = lro.Value; From 8a69dfb6b4b9d3bb3fb9e0038e9b5daeba93575c Mon Sep 17 00:00:00 2001 From: Arcturus Zhang Date: Fri, 22 Nov 2024 15:05:30 +0800 Subject: [PATCH 5/5] refine autorest.md --- .../src/autorest.md | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md index 91b89c2c03a6..c2de89eba994 100644 --- a/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md +++ b/sdk/compute/Azure.ResourceManager.Compute/src/autorest.md @@ -394,21 +394,12 @@ directive: }; # add additionalproperties to a few models to support private properties supported by the service - from: virtualMachineScaleSet.json - where: $.definitions.VirtualMachineScaleSetProperties - transform: > - $.additionalProperties = true; - - from: virtualMachineScaleSet.json - where: $.definitions.VirtualMachineScaleSet.properties - transform: > - $.properties["x-ms-client-flatten"] = false; - - from: virtualMachineScaleSet.json - where: $.definitions.VirtualMachineScaleSetUpdate.properties - transform: > - $.properties["x-ms-client-flatten"] = false; - - from: virtualMachineScaleSet.json - where: $.definitions.UpgradePolicy + where: $.definitions transform: > - $.additionalProperties = true; + $.VirtualMachineScaleSetProperties.additionalProperties = true; + $.VirtualMachineScaleSet.properties.properties["x-ms-client-flatten"] = false; + $.VirtualMachineScaleSetUpdate.properties.properties["x-ms-client-flatten"] = false; + $.UpgradePolicy.additionalProperties = true; - from: computeRPCommon.json where: $.definitions.VMSizeProperties transform: >