/// <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 /// VirtualMachineScaleSetUpdateVMProfile class. /// </summary> /// <param name="osProfile">The virtual machine scale set OS /// profile.</param> /// <param name="storageProfile">The virtual machine scale set storage /// profile.</param> /// <param name="networkProfile">The virtual machine scale set network /// profile.</param> /// <param name="diagnosticsProfile">The virtual machine scale set /// diagnostics profile.</param> /// <param name="extensionProfile">The virtual machine scale set /// extension profile.</param> /// <param name="licenseType">The license type, which is for bring your /// own license scenario.</param> /// <param name="billingProfile">Specifies the billing related details /// of a low priority VMSS. <br><br>Minimum api-version: /// 2019-03-01.</param> /// <param name="scheduledEventsProfile">Specifies Scheduled Event /// related configurations.</param> public VirtualMachineScaleSetUpdateVMProfile(VirtualMachineScaleSetUpdateOSProfile osProfile = default(VirtualMachineScaleSetUpdateOSProfile), VirtualMachineScaleSetUpdateStorageProfile storageProfile = default(VirtualMachineScaleSetUpdateStorageProfile), VirtualMachineScaleSetUpdateNetworkProfile networkProfile = default(VirtualMachineScaleSetUpdateNetworkProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), VirtualMachineScaleSetExtensionProfile extensionProfile = default(VirtualMachineScaleSetExtensionProfile), string licenseType = default(string), BillingProfile billingProfile = default(BillingProfile), ScheduledEventsProfile scheduledEventsProfile = default(ScheduledEventsProfile)) { OsProfile = osProfile; StorageProfile = storageProfile; NetworkProfile = networkProfile; DiagnosticsProfile = diagnosticsProfile; ExtensionProfile = extensionProfile; LicenseType = licenseType; BillingProfile = billingProfile; ScheduledEventsProfile = scheduledEventsProfile; 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="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', /// 'Spot'</param> /// <param name="evictionPolicy">Specifies the eviction policy for /// virtual machines in a Azure Spot scale set. /// <br><br>Minimum api-version: 2017-10-30-preview. /// Possible values include: 'Deallocate', 'Delete'</param> /// <param name="billingProfile">Specifies the billing related details /// of a Azure Spot VMSS. <br><br>Minimum api-version: /// 2019-03-01.</param> /// <param name="scheduledEventsProfile">Specifies Scheduled Event /// related configurations.</param> public VirtualMachineScaleSetVMProfile(VirtualMachineScaleSetOSProfile osProfile = default(VirtualMachineScaleSetOSProfile), VirtualMachineScaleSetStorageProfile storageProfile = default(VirtualMachineScaleSetStorageProfile), VirtualMachineScaleSetNetworkProfile networkProfile = default(VirtualMachineScaleSetNetworkProfile), DiagnosticsProfile diagnosticsProfile = default(DiagnosticsProfile), VirtualMachineScaleSetExtensionProfile extensionProfile = default(VirtualMachineScaleSetExtensionProfile), string licenseType = default(string), VirtualMachinePriorityTypes priority = default(VirtualMachinePriorityTypes), VirtualMachineEvictionPolicyTypes evictionPolicy = default(VirtualMachineEvictionPolicyTypes), BillingProfile billingProfile = default(BillingProfile), ScheduledEventsProfile scheduledEventsProfile = default(ScheduledEventsProfile)) { OsProfile = osProfile; StorageProfile = storageProfile; NetworkProfile = networkProfile; DiagnosticsProfile = diagnosticsProfile; ExtensionProfile = extensionProfile; LicenseType = licenseType; Priority = priority; EvictionPolicy = evictionPolicy; BillingProfile = billingProfile; ScheduledEventsProfile = scheduledEventsProfile; CustomInit(); }