/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetInner /// class. /// </summary> /// <param name="sku">The virtual machine scale set sku.</param> /// <param name="plan">Specifies information about the marketplace /// image used to create the virtual machine. This element is only used /// for marketplace images. Before you can use a marketplace image from /// an API, you must enable the image for programmatic use. In the /// Azure portal, find the marketplace image that you want to use and /// then click **Want to deploy programmatically, Get Started ->**. /// Enter any required information and then click **Save**.</param> /// <param name="upgradePolicy">The upgrade policy.</param> /// <param name="automaticRepairsPolicy">Policy for automatic /// repairs.</param> /// <param name="virtualMachineProfile">The virtual machine /// profile.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="overprovision">Specifies whether the Virtual Machine /// Scale Set should be overprovisioned.</param> /// <param name="doNotRunExtensionsOnOverprovisionedVMs">When /// Overprovision is enabled, extensions are launched only on the /// requested number of VMs which are finally kept. This property will /// hence ensure that the extensions do not run on the extra /// overprovisioned VMs.</param> /// <param name="uniqueId">Specifies the ID which uniquely identifies a /// Virtual Machine Scale Set.</param> /// <param name="singlePlacementGroup">When true this limits the scale /// set to a single placement group, of max size 100 virtual machines. /// NOTE: If singlePlacementGroup is true, it may be modified to false. /// However, if singlePlacementGroup is false, it may not be modified /// to true.</param> /// <param name="zoneBalance">Whether to force strictly even Virtual /// Machine distribution cross x-zones in case there is zone /// outage.</param> /// <param name="platformFaultDomainCount">Fault Domain count for each /// placement group.</param> /// <param name="proximityPlacementGroup">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.</param> /// <param name="hostGroup">Specifies information about the dedicated /// host group that the virtual machine scale set resides in. /// <br><br>Minimum api-version: 2020-06-01.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the Virtual Machines in the /// Virtual Machine Scale Set. For instance: whether the Virtual /// Machines have the capability to support attaching managed data /// disks with UltraSSD_LRS storage account type.</param> /// <param name="scaleInPolicy">Specifies the scale-in policy that /// decides which virtual machines are chosen for removal when a /// Virtual Machine Scale Set is scaled-in.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> /// <param name="zones">The virtual machine scale set zones. NOTE: /// Availability zones can only be set when you create the scale /// set</param> public VirtualMachineScaleSetInner(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), AutomaticRepairsPolicy automaticRepairsPolicy = default(AutomaticRepairsPolicy), VirtualMachineScaleSetVMProfile virtualMachineProfile = default(VirtualMachineScaleSetVMProfile), string provisioningState = default(string), bool?overprovision = default(bool?), bool?doNotRunExtensionsOnOverprovisionedVMs = default(bool?), string uniqueId = default(string), bool?singlePlacementGroup = default(bool?), bool?zoneBalance = default(bool?), int?platformFaultDomainCount = default(int?), Management.ResourceManager.Fluent.SubResource proximityPlacementGroup = default(Management.ResourceManager.Fluent.SubResource), Management.ResourceManager.Fluent.SubResource hostGroup = default(Management.ResourceManager.Fluent.SubResource), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), ScaleInPolicy scaleInPolicy = default(ScaleInPolicy), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; 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; Identity = identity; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineInner class. /// </summary> /// <param name="plan">Specifies information about the marketplace /// image used to create the virtual machine. This element is only used /// for marketplace images. Before you can use a marketplace image from /// an API, you must enable the image for programmatic use. In the /// Azure portal, find the marketplace image that you want to use and /// then click **Want to deploy programmatically, Get Started ->**. /// Enter any required information and then click **Save**.</param> /// <param name="hardwareProfile">Specifies the hardware settings for /// the virtual machine.</param> /// <param name="storageProfile">Specifies the storage settings for the /// virtual machine disks.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the virtual machine.</param> /// <param name="osProfile">Specifies the operating system settings for /// the virtual machine.</param> /// <param name="networkProfile">Specifies the network interfaces of /// the virtual machine.</param> /// <param name="diagnosticsProfile">Specifies the boot diagnostic /// settings state. <br><br>Minimum api-version: /// 2015-06-15.</param> /// <param name="availabilitySet">Specifies information about the /// availability set that the virtual machine should be assigned to. /// Virtual machines specified in the same availability set are /// allocated to different nodes to maximize availability. For more /// information about availability sets, see [Manage the availability /// of virtual /// machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). /// <br><br> For more information on Azure planned /// maintenance, see [Planned maintenance for virtual machines in /// Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Currently, a VM can only be added to /// availability set at creation time. An existing VM cannot be added /// to an availability set.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="instanceView">The virtual machine instance /// view.</param> /// <param name="licenseType">Specifies that the image or disk that is /// being used was licensed on-premises. This element is only used for /// images that contain the Windows Server operating system. /// <br><br> Possible values are: <br><br> /// Windows_Client <br><br> Windows_Server /// <br><br> If this element is included in a request for /// an update, the value must match the initial value. This value /// cannot be updated. <br><br> For more information, see /// [Azure Hybrid Use Benefit for Windows /// Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Minimum api-version: 2015-06-15</param> /// <param name="vmId">Specifies the VM unique ID which is a 128-bits /// identifier that is encoded and stored in all Azure IaaS VMs SMBIOS /// and can be read using platform BIOS commands.</param> /// <param name="resources">The virtual machine child extension /// resources.</param> /// <param name="identity">The identity of the virtual machine, if /// configured.</param> /// <param name="zones">The virtual machine zones.</param> public VirtualMachineInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Plan plan = default(Plan), HardwareProfile hardwareProfile = default(HardwareProfile), StorageProfile storageProfile = default(StorageProfile), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), OSProfile osProfile = default(OSProfile), NetworkProfile networkProfile = default(NetworkProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), Management.ResourceManager.Fluent.SubResource availabilitySet = default(Management.ResourceManager.Fluent.SubResource), string provisioningState = default(string), VirtualMachineInstanceViewInner instanceView = default(VirtualMachineInstanceViewInner), string licenseType = default(string), string vmId = default(string), IList <VirtualMachineExtensionInner> resources = default(IList <VirtualMachineExtensionInner>), VirtualMachineIdentity identity = default(VirtualMachineIdentity), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { Plan = plan; HardwareProfile = hardwareProfile; StorageProfile = storageProfile; AdditionalCapabilities = additionalCapabilities; OsProfile = osProfile; NetworkProfile = networkProfile; DiagnosticsProfile = diagnosticsProfile; AvailabilitySet = availabilitySet; ProvisioningState = provisioningState; InstanceView = instanceView; LicenseType = licenseType; VmId = vmId; Resources = resources; Identity = identity; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineUpdate class. /// </summary> /// <param name="tags">Resource tags</param> /// <param name="plan">Specifies information about the marketplace /// image used to create the virtual machine. This element is only used /// for marketplace images. Before you can use a marketplace image from /// an API, you must enable the image for programmatic use. In the /// Azure portal, find the marketplace image that you want to use and /// then click **Want to deploy programmatically, Get Started ->**. /// Enter any required information and then click **Save**.</param> /// <param name="hardwareProfile">Specifies the hardware settings for /// the virtual machine.</param> /// <param name="storageProfile">Specifies the storage settings for the /// virtual machine disks.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the virtual machine.</param> /// <param name="osProfile">Specifies the operating system settings /// used while creating the virtual machine. Some of the settings /// cannot be changed once VM is provisioned.</param> /// <param name="networkProfile">Specifies the network interfaces of /// the virtual machine.</param> /// <param name="securityProfile">Specifies the Security related /// profile settings for the virtual machine.</param> /// <param name="diagnosticsProfile">Specifies the boot diagnostic /// settings state. <br><br>Minimum api-version: /// 2015-06-15.</param> /// <param name="availabilitySet">Specifies information about the /// availability set that the virtual machine should be assigned to. /// Virtual machines specified in the same availability set are /// allocated to different nodes to maximize availability. For more /// information about availability sets, see [Manage the availability /// of virtual /// machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). /// <br><br> For more information on Azure planned /// maintenance, see [Planned maintenance for virtual machines in /// Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Currently, a VM can only be added to /// availability set at creation time. The availability set to which /// the VM is being added should be under the same resource group as /// the availability set resource. An existing VM cannot be added to an /// availability set. <br><br>This property cannot exist /// along with a non-null properties.virtualMachineScaleSet /// reference.</param> /// <param name="virtualMachineScaleSet">Specifies information about /// the virtual machine scale set that the virtual machine should be /// assigned to. Virtual machines specified in the same virtual machine /// scale set are allocated to different nodes to maximize /// availability. Currently, a VM can only be added to virtual machine /// scale set at creation time. An existing VM cannot be added to a /// virtual machine scale set. <br><br>This property cannot /// exist along with a non-null properties.availabilitySet reference. /// <br><br>Minimum api‐version: 2019‐03‐01</param> /// <param name="proximityPlacementGroup">Specifies information about /// the proximity placement group that the virtual machine should be /// assigned to. <br><br>Minimum api-version: /// 2018-04-01.</param> /// <param name="priority">Specifies the priority for the virtual /// machine. <br><br>Minimum api-version: 2019-03-01. /// Possible values include: 'Regular', 'Low', 'Spot'</param> /// <param name="evictionPolicy">Specifies the eviction policy for the /// Azure Spot virtual machine and Azure Spot scale set. /// <br><br>For Azure Spot virtual machines, both /// 'Deallocate' and 'Delete' are supported and the minimum api-version /// is 2019-03-01. <br><br>For Azure Spot scale sets, both /// 'Deallocate' and 'Delete' are supported and the minimum api-version /// is 2017-10-30-preview. Possible values include: 'Deallocate', /// 'Delete'</param> /// <param name="billingProfile">Specifies the billing related details /// of a Azure Spot virtual machine. <br><br>Minimum /// api-version: 2019-03-01.</param> /// <param name="host">Specifies information about the dedicated host /// that the virtual machine resides in. <br><br>Minimum /// api-version: 2018-10-01.</param> /// <param name="hostGroup">Specifies information about the dedicated /// host group that the virtual machine resides in. /// <br><br>Minimum api-version: 2020-06-01. /// <br><br>NOTE: User cannot specify both host and /// hostGroup properties.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="instanceView">The virtual machine instance /// view.</param> /// <param name="licenseType">Specifies that the image or disk that is /// being used was licensed on-premises. This element is only used for /// images that contain the Windows Server operating system. /// <br><br> Possible values are: <br><br> /// Windows_Client <br><br> Windows_Server /// <br><br> If this element is included in a request for /// an update, the value must match the initial value. This value /// cannot be updated. <br><br> For more information, see /// [Azure Hybrid Use Benefit for Windows /// Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Minimum api-version: 2015-06-15</param> /// <param name="vmId">Specifies the VM unique ID which is a 128-bits /// identifier that is encoded and stored in all Azure IaaS VMs SMBIOS /// and can be read using platform BIOS commands.</param> /// <param name="extensionsTimeBudget">Specifies the time alloted for /// all extensions to start. The time duration should be between 15 /// minutes and 120 minutes (inclusive) and should be specified in ISO /// 8601 format. The default value is 90 minutes (PT1H30M). /// <br><br> Minimum api-version: 2020-06-01</param> /// <param name="identity">The identity of the virtual machine, if /// configured.</param> /// <param name="zones">The virtual machine zones.</param> public VirtualMachineUpdate(IDictionary <string, string> tags = default(IDictionary <string, string>), Plan plan = default(Plan), HardwareProfile hardwareProfile = default(HardwareProfile), StorageProfile storageProfile = default(StorageProfile), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), OSProfile osProfile = default(OSProfile), NetworkProfile networkProfile = default(NetworkProfile), SecurityProfile securityProfile = default(SecurityProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), Management.ResourceManager.Fluent.SubResource availabilitySet = default(Management.ResourceManager.Fluent.SubResource), Management.ResourceManager.Fluent.SubResource virtualMachineScaleSet = default(Management.ResourceManager.Fluent.SubResource), Management.ResourceManager.Fluent.SubResource proximityPlacementGroup = default(Management.ResourceManager.Fluent.SubResource), VirtualMachinePriorityTypes priority = default(VirtualMachinePriorityTypes), VirtualMachineEvictionPolicyTypes evictionPolicy = default(VirtualMachineEvictionPolicyTypes), BillingProfile billingProfile = default(BillingProfile), Management.ResourceManager.Fluent.SubResource host = default(Management.ResourceManager.Fluent.SubResource), Management.ResourceManager.Fluent.SubResource hostGroup = default(Management.ResourceManager.Fluent.SubResource), string provisioningState = default(string), VirtualMachineInstanceView instanceView = default(VirtualMachineInstanceView), string licenseType = default(string), string vmId = default(string), string extensionsTimeBudget = default(string), VirtualMachineIdentity identity = default(VirtualMachineIdentity), IList <string> zones = default(IList <string>)) : base(tags) { Plan = plan; HardwareProfile = hardwareProfile; StorageProfile = storageProfile; AdditionalCapabilities = additionalCapabilities; OsProfile = osProfile; NetworkProfile = networkProfile; SecurityProfile = securityProfile; DiagnosticsProfile = diagnosticsProfile; AvailabilitySet = availabilitySet; VirtualMachineScaleSet = virtualMachineScaleSet; ProximityPlacementGroup = proximityPlacementGroup; Priority = priority; EvictionPolicy = evictionPolicy; BillingProfile = billingProfile; Host = host; HostGroup = hostGroup; ProvisioningState = provisioningState; InstanceView = instanceView; LicenseType = licenseType; VmId = vmId; ExtensionsTimeBudget = extensionsTimeBudget; Identity = identity; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetVMInner /// class. /// </summary> /// <param name="instanceId">The virtual machine instance ID.</param> /// <param name="sku">The virtual machine SKU.</param> /// <param name="latestModelApplied">Specifies whether the latest model /// has been applied to the virtual machine.</param> /// <param name="protectFromScaleIn">Specifies whether the virtual /// machine instance shouldn't be considered for deletion during a /// scale-in operation</param> /// <param name="vmId">Azure VM unique ID.</param> /// <param name="instanceView">The virtual machine instance /// view.</param> /// <param name="hardwareProfile">Specifies the hardware settings for /// the virtual machine.</param> /// <param name="storageProfile">Specifies the storage settings for the /// virtual machine disks.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the virtual machine in the /// scale set. For instance: whether the virtual machine has the /// capability to support attaching managed data disks with /// UltraSSD_LRS storage account type.</param> /// <param name="osProfile">Specifies the operating system settings for /// the virtual machine.</param> /// <param name="networkProfile">Specifies the network interfaces of /// the virtual machine.</param> /// <param name="diagnosticsProfile">Specifies the boot diagnostic /// settings state. <br><br>Minimum api-version: /// 2015-06-15.</param> /// <param name="availabilitySet">Specifies information about the /// availability set that the virtual machine should be assigned to. /// Virtual machines specified in the same availability set are /// allocated to different nodes to maximize availability. For more /// information about availability sets, see [Manage the availability /// of virtual /// machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). /// <br><br> For more information on Azure planned /// maintenance, see [Planned maintenance for virtual machines in /// Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Currently, a VM can only be added to /// availability set at creation time. An existing VM cannot be added /// to an availability set.</param> /// <param name="provisioningState">The provisioning state, which only /// appears in the response.</param> /// <param name="licenseType">Specifies that the image or disk that is /// being used was licensed on-premises. This element is only used for /// images that contain the Windows Server operating system. /// <br><br> Possible values are: <br><br> /// Windows_Client <br><br> Windows_Server /// <br><br> If this element is included in a request for /// an update, the value must match the initial value. This value /// cannot be updated. <br><br> For more information, see /// [Azure Hybrid Use Benefit for Windows /// Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Minimum api-version: 2015-06-15</param> /// <param name="plan">Specifies information about the marketplace /// image used to create the virtual machine. This element is only used /// for marketplace images. Before you can use a marketplace image from /// an API, you must enable the image for programmatic use. In the /// Azure portal, find the marketplace image that you want to use and /// then click **Want to deploy programmatically, Get Started ->**. /// Enter any required information and then click **Save**.</param> /// <param name="resources">The virtual machine child extension /// resources.</param> /// <param name="zones">The virtual machine zones.</param> public VirtualMachineScaleSetVMInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string instanceId = default(string), Sku sku = default(Sku), bool?latestModelApplied = default(bool?), bool?protectFromScaleIn = default(bool?), string vmId = default(string), VirtualMachineScaleSetVMInstanceViewInner instanceView = default(VirtualMachineScaleSetVMInstanceViewInner), HardwareProfile hardwareProfile = default(HardwareProfile), StorageProfile storageProfile = default(StorageProfile), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), OSProfile osProfile = default(OSProfile), NetworkProfile networkProfile = default(NetworkProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), Management.ResourceManager.Fluent.SubResource availabilitySet = default(Management.ResourceManager.Fluent.SubResource), string provisioningState = default(string), string licenseType = default(string), Plan plan = default(Plan), IList <VirtualMachineExtensionInner> resources = default(IList <VirtualMachineExtensionInner>), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { InstanceId = instanceId; Sku = sku; LatestModelApplied = latestModelApplied; ProtectFromScaleIn = protectFromScaleIn; VmId = vmId; InstanceView = instanceView; HardwareProfile = hardwareProfile; StorageProfile = storageProfile; AdditionalCapabilities = additionalCapabilities; OsProfile = osProfile; NetworkProfile = networkProfile; DiagnosticsProfile = diagnosticsProfile; AvailabilitySet = availabilitySet; ProvisioningState = provisioningState; LicenseType = licenseType; Plan = plan; Resources = resources; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetUpdate /// class. /// </summary> /// <param name="tags">Resource tags</param> /// <param name="sku">The virtual machine scale set sku.</param> /// <param name="plan">The purchase plan when deploying a virtual /// machine scale set from VM Marketplace images.</param> /// <param name="upgradePolicy">The upgrade policy.</param> /// <param name="virtualMachineProfile">The virtual machine /// profile.</param> /// <param name="overprovision">Specifies whether the Virtual Machine /// Scale Set should be overprovisioned.</param> /// <param name="singlePlacementGroup">When true this limits the scale /// set to a single placement group, of max size 100 virtual /// machines.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the Virtual Machines in the /// Virtual Machine Scale Set. For instance: whether the Virtual /// Machines have the capability to support attaching managed data /// disks with UltraSSD_LRS storage account type.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> public VirtualMachineScaleSetUpdate(IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile = default(VirtualMachineScaleSetUpdateVMProfile), bool?overprovision = default(bool?), bool?singlePlacementGroup = default(bool?), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity)) : base(tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; VirtualMachineProfile = virtualMachineProfile; Overprovision = overprovision; SinglePlacementGroup = singlePlacementGroup; AdditionalCapabilities = additionalCapabilities; Identity = identity; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetUpdate /// class. /// </summary> /// <param name="tags">Resource tags</param> /// <param name="sku">The virtual machine scale set sku.</param> /// <param name="plan">The purchase plan when deploying a virtual /// machine scale set from VM Marketplace images.</param> /// <param name="upgradePolicy">The upgrade policy.</param> /// <param name="automaticRepairsPolicy">Policy for automatic /// repairs.</param> /// <param name="virtualMachineProfile">The virtual machine /// profile.</param> /// <param name="overprovision">Specifies whether the Virtual Machine /// Scale Set should be overprovisioned.</param> /// <param name="doNotRunExtensionsOnOverprovisionedVMs">When /// Overprovision is enabled, extensions are launched only on the /// requested number of VMs which are finally kept. This property will /// hence ensure that the extensions do not run on the extra /// overprovisioned VMs.</param> /// <param name="singlePlacementGroup">When true this limits the scale /// set to a single placement group, of max size 100 virtual machines. /// NOTE: If singlePlacementGroup is true, it may be modified to false. /// However, if singlePlacementGroup is false, it may not be modified /// to true.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the Virtual Machines in the /// Virtual Machine Scale Set. For instance: whether the Virtual /// Machines have the capability to support attaching managed data /// disks with UltraSSD_LRS storage account type.</param> /// <param name="scaleInPolicy">Specifies the scale-in policy that /// decides which virtual machines are chosen for removal when a /// Virtual Machine Scale Set is scaled-in.</param> /// <param name="proximityPlacementGroup">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.</param> /// <param name="identity">The identity of the virtual machine scale /// set, if configured.</param> public VirtualMachineScaleSetUpdate(IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Plan plan = default(Plan), UpgradePolicy upgradePolicy = default(UpgradePolicy), AutomaticRepairsPolicy automaticRepairsPolicy = default(AutomaticRepairsPolicy), VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile = default(VirtualMachineScaleSetUpdateVMProfile), bool?overprovision = default(bool?), bool?doNotRunExtensionsOnOverprovisionedVMs = default(bool?), bool?singlePlacementGroup = default(bool?), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), ScaleInPolicy scaleInPolicy = default(ScaleInPolicy), Management.ResourceManager.Fluent.SubResource proximityPlacementGroup = default(Management.ResourceManager.Fluent.SubResource), VirtualMachineScaleSetIdentity identity = default(VirtualMachineScaleSetIdentity)) : base(tags) { Sku = sku; Plan = plan; UpgradePolicy = upgradePolicy; AutomaticRepairsPolicy = automaticRepairsPolicy; VirtualMachineProfile = virtualMachineProfile; Overprovision = overprovision; DoNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs; SinglePlacementGroup = singlePlacementGroup; AdditionalCapabilities = additionalCapabilities; ScaleInPolicy = scaleInPolicy; ProximityPlacementGroup = proximityPlacementGroup; Identity = identity; CustomInit(); }
/// <summary> /// Initializes a new instance of the VirtualMachineScaleSetVMProfile /// class. /// </summary> /// <param name="osProfile">Specifies the operating system settings for /// the virtual machines in the scale set.</param> /// <param name="storageProfile">Specifies the storage settings for the /// virtual machine disks.</param> /// <param name="additionalCapabilities">Specifies additional /// capabilities enabled or disabled on the virtual machine in the /// scale set. For instance: whether the virtual machine has the /// capability to support attaching managed data disks with /// UltraSSD_LRS storage account type.</param> /// <param name="networkProfile">Specifies properties of the network /// interfaces of the virtual machines in the scale set.</param> /// <param name="diagnosticsProfile">Specifies the boot diagnostic /// settings state. <br><br>Minimum api-version: /// 2015-06-15.</param> /// <param name="extensionProfile">Specifies a collection of settings /// for extensions installed on virtual machines in the scale /// set.</param> /// <param name="licenseType">Specifies that the image or disk that is /// being used was licensed on-premises. This element is only used for /// images that contain the Windows Server operating system. /// <br><br> Possible values are: <br><br> /// Windows_Client <br><br> Windows_Server /// <br><br> If this element is included in a request for /// an update, the value must match the initial value. This value /// cannot be updated. <br><br> For more information, see /// [Azure Hybrid Use Benefit for Windows /// Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) /// <br><br> Minimum api-version: 2015-06-15</param> /// <param name="priority">Specifies the priority for the virtual /// machines in the scale set. <br><br>Minimum api-version: /// 2017-10-30-preview. Possible values include: 'Regular', /// 'Low'</param> /// <param name="evictionPolicy">Specifies the eviction policy for /// virtual machines in a low priority scale set. /// <br><br>Minimum api-version: 2017-10-30-preview. /// Possible values include: 'Deallocate', 'Delete'</param> public VirtualMachineScaleSetVMProfile(VirtualMachineScaleSetOSProfile osProfile = default(VirtualMachineScaleSetOSProfile), VirtualMachineScaleSetStorageProfile storageProfile = default(VirtualMachineScaleSetStorageProfile), AdditionalCapabilities additionalCapabilities = default(AdditionalCapabilities), VirtualMachineScaleSetNetworkProfile networkProfile = default(VirtualMachineScaleSetNetworkProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), VirtualMachineScaleSetExtensionProfile extensionProfile = default(VirtualMachineScaleSetExtensionProfile), string licenseType = default(string), VirtualMachinePriorityTypes priority = default(VirtualMachinePriorityTypes), VirtualMachineEvictionPolicyTypes evictionPolicy = default(VirtualMachineEvictionPolicyTypes)) { OsProfile = osProfile; StorageProfile = storageProfile; AdditionalCapabilities = additionalCapabilities; NetworkProfile = networkProfile; DiagnosticsProfile = diagnosticsProfile; ExtensionProfile = extensionProfile; LicenseType = licenseType; Priority = priority; EvictionPolicy = evictionPolicy; CustomInit(); }