Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information. Code generated by Microsoft (R) AutoRest Code Generator.
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. */
package com.microsoft.azure.management.compute; import com.microsoft.azure.SubResource; import com.microsoft.azure.management.compute.implementation.VirtualMachineInstanceViewInner; import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.microsoft.rest.serializer.JsonFlatten;
Describes a Virtual Machine Update.
/** * Describes a Virtual Machine Update. */
@JsonFlatten public class VirtualMachineUpdate extends UpdateResource {
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**.
/** * 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**. */
@JsonProperty(value = "plan") private Plan plan;
Specifies the hardware settings for the virtual machine.
/** * Specifies the hardware settings for the virtual machine. */
@JsonProperty(value = "properties.hardwareProfile") private HardwareProfile hardwareProfile;
Specifies the storage settings for the virtual machine disks.
/** * Specifies the storage settings for the virtual machine disks. */
@JsonProperty(value = "properties.storageProfile") private StorageProfile storageProfile;
Specifies additional capabilities enabled or disabled on the virtual machine.
/** * Specifies additional capabilities enabled or disabled on the virtual * machine. */
@JsonProperty(value = "properties.additionalCapabilities") private AdditionalCapabilities additionalCapabilities;
Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.
/** * Specifies the operating system settings used while creating the virtual * machine. Some of the settings cannot be changed once VM is provisioned. */
@JsonProperty(value = "properties.osProfile") private OSProfile osProfile;
Specifies the network interfaces of the virtual machine.
/** * Specifies the network interfaces of the virtual machine. */
@JsonProperty(value = "properties.networkProfile") private NetworkProfile networkProfile;
Specifies the Security related profile settings for the virtual machine.
/** * Specifies the Security related profile settings for the virtual machine. */
@JsonProperty(value = "properties.securityProfile") private SecurityProfile securityProfile;
Specifies the boot diagnostic settings state. <br><br>Minimum api-version: 2015-06-15.
/** * Specifies the boot diagnostic settings state. * &lt;br&gt;&lt;br&gt;Minimum api-version: 2015-06-15. */
@JsonProperty(value = "properties.diagnosticsProfile") private DiagnosticsProfile diagnosticsProfile;
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.
/** * 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). * &lt;br&gt;&lt;br&gt; 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) * &lt;br&gt;&lt;br&gt; 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. * &lt;br&gt;&lt;br&gt;This property cannot exist along with a non-null * properties.virtualMachineScaleSet reference. */
@JsonProperty(value = "properties.availabilitySet") private SubResource availabilitySet;
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.
/** * 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. &lt;br&gt;&lt;br&gt;This property cannot * exist along with a non-null properties.availabilitySet reference. * &lt;br&gt;&lt;br&gt;Minimum api‐version: 2019‐03‐01. */
@JsonProperty(value = "properties.virtualMachineScaleSet") private SubResource virtualMachineScaleSet;
Specifies information about the proximity placement group that the virtual machine should be assigned to. <br><br>Minimum api-version: 2018-04-01.
/** * Specifies information about the proximity placement group that the * virtual machine should be assigned to. &lt;br&gt;&lt;br&gt;Minimum * api-version: 2018-04-01. */
@JsonProperty(value = "properties.proximityPlacementGroup") private SubResource proximityPlacementGroup;
Specifies the priority for the virtual machine. <br><br>Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'.
/** * Specifies the priority for the virtual machine. * &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. Possible values * include: 'Regular', 'Low', 'Spot'. */
@JsonProperty(value = "properties.priority") private VirtualMachinePriorityTypes priority;
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'.
/** * Specifies the eviction policy for the Azure Spot virtual machine and * Azure Spot scale set. &lt;br&gt;&lt;br&gt;For Azure Spot virtual * machines, both 'Deallocate' and 'Delete' are supported and the minimum * api-version is 2019-03-01. &lt;br&gt;&lt;br&gt;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'. */
@JsonProperty(value = "properties.evictionPolicy") private VirtualMachineEvictionPolicyTypes evictionPolicy;
Specifies the billing related details of a Azure Spot virtual machine. <br><br>Minimum api-version: 2019-03-01.
/** * Specifies the billing related details of a Azure Spot virtual machine. * &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. */
@JsonProperty(value = "properties.billingProfile") private BillingProfile billingProfile;
Specifies information about the dedicated host that the virtual machine resides in. <br><br>Minimum api-version: 2018-10-01.
/** * Specifies information about the dedicated host that the virtual machine * resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2018-10-01. */
@JsonProperty(value = "properties.host") private SubResource host;
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.
/** * Specifies information about the dedicated host group that the virtual * machine resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2020-06-01. * &lt;br&gt;&lt;br&gt;NOTE: User cannot specify both host and hostGroup * properties. */
@JsonProperty(value = "properties.hostGroup") private SubResource hostGroup;
The provisioning state, which only appears in the response.
/** * The provisioning state, which only appears in the response. */
@JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY) private String provisioningState;
The virtual machine instance view.
/** * The virtual machine instance view. */
@JsonProperty(value = "properties.instanceView", access = JsonProperty.Access.WRITE_ONLY) private VirtualMachineInstanceViewInner instanceView;
Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15.
/** * Specifies that the image or disk that is being used was licensed * on-premises. &lt;br&gt;&lt;br&gt; Possible values for Windows Server * operating system are: &lt;br&gt;&lt;br&gt; Windows_Client * &lt;br&gt;&lt;br&gt; Windows_Server &lt;br&gt;&lt;br&gt; Possible values * for Linux Server operating system are: &lt;br&gt;&lt;br&gt; RHEL_BYOS * (for RHEL) &lt;br&gt;&lt;br&gt; SLES_BYOS (for SUSE) * &lt;br&gt;&lt;br&gt; For more information, see [Azure Hybrid Use Benefit * for Windows * Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) * &lt;br&gt;&lt;br&gt; [Azure Hybrid Use Benefit for Linux * Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) * &lt;br&gt;&lt;br&gt; Minimum api-version: 2015-06-15. */
@JsonProperty(value = "properties.licenseType") private String licenseType;
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.
/** * 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. */
@JsonProperty(value = "properties.vmId", access = JsonProperty.Access.WRITE_ONLY) private String vmId;
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.
/** * 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). &lt;br&gt;&lt;br&gt; Minimum api-version: 2020-06-01. */
@JsonProperty(value = "properties.extensionsTimeBudget") private String extensionsTimeBudget;
Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.<br><li>This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.<li>The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &gt; 1.<li>This property cannot be updated once the Virtual Machine is created.<li>Fault domain assignment can be viewed in the Virtual Machine Instance View.<br><br>Minimum api‐version: 2020‐12‐01.
/** * Specifies the scale set logical fault domain into which the Virtual * Machine will be created. By default, the Virtual Machine will by * automatically assigned to a fault domain that best maintains balance * across available fault domains.&lt;br&gt;&lt;li&gt;This is applicable * only if the 'virtualMachineScaleSet' property of this Virtual Machine is * set.&lt;li&gt;The Virtual Machine Scale Set that is referenced, must * have 'platformFaultDomainCount' &amp;gt; 1.&lt;li&gt;This property * cannot be updated once the Virtual Machine is created.&lt;li&gt;Fault * domain assignment can be viewed in the Virtual Machine Instance * View.&lt;br&gt;&lt;br&gt;Minimum api‐version: 2020‐12‐01. */
@JsonProperty(value = "properties.platformFaultDomain") private Integer platformFaultDomain;
The identity of the virtual machine, if configured.
/** * The identity of the virtual machine, if configured. */
@JsonProperty(value = "identity") private VirtualMachineIdentity identity;
The virtual machine zones.
/** * The virtual machine zones. */
@JsonProperty(value = "zones") private List<String> zones;
Get 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**.
Returns:the plan value
/** * Get 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 -&gt;**. Enter any required information and then click **Save**. * * @return the plan value */
public Plan plan() { return this.plan; }
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**.
Params:
  • plan – the plan value to set
Returns:the VirtualMachineUpdate object itself.
/** * 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 -&gt;**. Enter any required information and then click **Save**. * * @param plan the plan value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withPlan(Plan plan) { this.plan = plan; return this; }
Get specifies the hardware settings for the virtual machine.
Returns:the hardwareProfile value
/** * Get specifies the hardware settings for the virtual machine. * * @return the hardwareProfile value */
public HardwareProfile hardwareProfile() { return this.hardwareProfile; }
Set specifies the hardware settings for the virtual machine.
Params:
  • hardwareProfile – the hardwareProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the hardware settings for the virtual machine. * * @param hardwareProfile the hardwareProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withHardwareProfile(HardwareProfile hardwareProfile) { this.hardwareProfile = hardwareProfile; return this; }
Get specifies the storage settings for the virtual machine disks.
Returns:the storageProfile value
/** * Get specifies the storage settings for the virtual machine disks. * * @return the storageProfile value */
public StorageProfile storageProfile() { return this.storageProfile; }
Set specifies the storage settings for the virtual machine disks.
Params:
  • storageProfile – the storageProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the storage settings for the virtual machine disks. * * @param storageProfile the storageProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withStorageProfile(StorageProfile storageProfile) { this.storageProfile = storageProfile; return this; }
Get specifies additional capabilities enabled or disabled on the virtual machine.
Returns:the additionalCapabilities value
/** * Get specifies additional capabilities enabled or disabled on the virtual machine. * * @return the additionalCapabilities value */
public AdditionalCapabilities additionalCapabilities() { return this.additionalCapabilities; }
Set specifies additional capabilities enabled or disabled on the virtual machine.
Params:
  • additionalCapabilities – the additionalCapabilities value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies additional capabilities enabled or disabled on the virtual machine. * * @param additionalCapabilities the additionalCapabilities value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withAdditionalCapabilities(AdditionalCapabilities additionalCapabilities) { this.additionalCapabilities = additionalCapabilities; return this; }
Get specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.
Returns:the osProfile value
/** * Get specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. * * @return the osProfile value */
public OSProfile osProfile() { return this.osProfile; }
Set specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.
Params:
  • osProfile – the osProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. * * @param osProfile the osProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withOsProfile(OSProfile osProfile) { this.osProfile = osProfile; return this; }
Get specifies the network interfaces of the virtual machine.
Returns:the networkProfile value
/** * Get specifies the network interfaces of the virtual machine. * * @return the networkProfile value */
public NetworkProfile networkProfile() { return this.networkProfile; }
Set specifies the network interfaces of the virtual machine.
Params:
  • networkProfile – the networkProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the network interfaces of the virtual machine. * * @param networkProfile the networkProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withNetworkProfile(NetworkProfile networkProfile) { this.networkProfile = networkProfile; return this; }
Get specifies the Security related profile settings for the virtual machine.
Returns:the securityProfile value
/** * Get specifies the Security related profile settings for the virtual machine. * * @return the securityProfile value */
public SecurityProfile securityProfile() { return this.securityProfile; }
Set specifies the Security related profile settings for the virtual machine.
Params:
  • securityProfile – the securityProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the Security related profile settings for the virtual machine. * * @param securityProfile the securityProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withSecurityProfile(SecurityProfile securityProfile) { this.securityProfile = securityProfile; return this; }
Get specifies the boot diagnostic settings state. <br><br>Minimum api-version: 2015-06-15.
Returns:the diagnosticsProfile value
/** * Get specifies the boot diagnostic settings state. &lt;br&gt;&lt;br&gt;Minimum api-version: 2015-06-15. * * @return the diagnosticsProfile value */
public DiagnosticsProfile diagnosticsProfile() { return this.diagnosticsProfile; }
Set specifies the boot diagnostic settings state. <br><br>Minimum api-version: 2015-06-15.
Params:
  • diagnosticsProfile – the diagnosticsProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the boot diagnostic settings state. &lt;br&gt;&lt;br&gt;Minimum api-version: 2015-06-15. * * @param diagnosticsProfile the diagnosticsProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withDiagnosticsProfile(DiagnosticsProfile diagnosticsProfile) { this.diagnosticsProfile = diagnosticsProfile; return this; }
Get 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.
Returns:the availabilitySet value
/** * Get 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). &lt;br&gt;&lt;br&gt; 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) &lt;br&gt;&lt;br&gt; 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. &lt;br&gt;&lt;br&gt;This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. * * @return the availabilitySet value */
public SubResource availabilitySet() { return this.availabilitySet; }
Set 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.
Params:
  • availabilitySet – the availabilitySet value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set 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). &lt;br&gt;&lt;br&gt; 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) &lt;br&gt;&lt;br&gt; 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. &lt;br&gt;&lt;br&gt;This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. * * @param availabilitySet the availabilitySet value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withAvailabilitySet(SubResource availabilitySet) { this.availabilitySet = availabilitySet; return this; }
Get 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.
Returns:the virtualMachineScaleSet value
/** * Get 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. &lt;br&gt;&lt;br&gt;This property cannot exist along with a non-null properties.availabilitySet reference. &lt;br&gt;&lt;br&gt;Minimum api‐version: 2019‐03‐01. * * @return the virtualMachineScaleSet value */
public SubResource virtualMachineScaleSet() { return this.virtualMachineScaleSet; }
Set 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.
Params:
  • virtualMachineScaleSet – the virtualMachineScaleSet value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set 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. &lt;br&gt;&lt;br&gt;This property cannot exist along with a non-null properties.availabilitySet reference. &lt;br&gt;&lt;br&gt;Minimum api‐version: 2019‐03‐01. * * @param virtualMachineScaleSet the virtualMachineScaleSet value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withVirtualMachineScaleSet(SubResource virtualMachineScaleSet) { this.virtualMachineScaleSet = virtualMachineScaleSet; return this; }
Get specifies information about the proximity placement group that the virtual machine should be assigned to. <br><br>Minimum api-version: 2018-04-01.
Returns:the proximityPlacementGroup value
/** * Get specifies information about the proximity placement group that the virtual machine should be assigned to. &lt;br&gt;&lt;br&gt;Minimum api-version: 2018-04-01. * * @return the proximityPlacementGroup value */
public SubResource proximityPlacementGroup() { return this.proximityPlacementGroup; }
Set specifies information about the proximity placement group that the virtual machine should be assigned to. <br><br>Minimum api-version: 2018-04-01.
Params:
  • proximityPlacementGroup – the proximityPlacementGroup value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies information about the proximity placement group that the virtual machine should be assigned to. &lt;br&gt;&lt;br&gt;Minimum api-version: 2018-04-01. * * @param proximityPlacementGroup the proximityPlacementGroup value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withProximityPlacementGroup(SubResource proximityPlacementGroup) { this.proximityPlacementGroup = proximityPlacementGroup; return this; }
Get specifies the priority for the virtual machine. <br><br>Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'.
Returns:the priority value
/** * Get specifies the priority for the virtual machine. &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'. * * @return the priority value */
public VirtualMachinePriorityTypes priority() { return this.priority; }
Set specifies the priority for the virtual machine. <br><br>Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'.
Params:
  • priority – the priority value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the priority for the virtual machine. &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'. * * @param priority the priority value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withPriority(VirtualMachinePriorityTypes priority) { this.priority = priority; return this; }
Get 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'.
Returns:the evictionPolicy value
/** * Get specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. &lt;br&gt;&lt;br&gt;For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. &lt;br&gt;&lt;br&gt;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'. * * @return the evictionPolicy value */
public VirtualMachineEvictionPolicyTypes evictionPolicy() { return this.evictionPolicy; }
Set 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'.
Params:
  • evictionPolicy – the evictionPolicy value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. &lt;br&gt;&lt;br&gt;For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. &lt;br&gt;&lt;br&gt;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 evictionPolicy the evictionPolicy value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withEvictionPolicy(VirtualMachineEvictionPolicyTypes evictionPolicy) { this.evictionPolicy = evictionPolicy; return this; }
Get specifies the billing related details of a Azure Spot virtual machine. <br><br>Minimum api-version: 2019-03-01.
Returns:the billingProfile value
/** * Get specifies the billing related details of a Azure Spot virtual machine. &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. * * @return the billingProfile value */
public BillingProfile billingProfile() { return this.billingProfile; }
Set specifies the billing related details of a Azure Spot virtual machine. <br><br>Minimum api-version: 2019-03-01.
Params:
  • billingProfile – the billingProfile value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the billing related details of a Azure Spot virtual machine. &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. * * @param billingProfile the billingProfile value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withBillingProfile(BillingProfile billingProfile) { this.billingProfile = billingProfile; return this; }
Get specifies information about the dedicated host that the virtual machine resides in. <br><br>Minimum api-version: 2018-10-01.
Returns:the host value
/** * Get specifies information about the dedicated host that the virtual machine resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2018-10-01. * * @return the host value */
public SubResource host() { return this.host; }
Set specifies information about the dedicated host that the virtual machine resides in. <br><br>Minimum api-version: 2018-10-01.
Params:
  • host – the host value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies information about the dedicated host that the virtual machine resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2018-10-01. * * @param host the host value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withHost(SubResource host) { this.host = host; return this; }
Get 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.
Returns:the hostGroup value
/** * Get specifies information about the dedicated host group that the virtual machine resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2020-06-01. &lt;br&gt;&lt;br&gt;NOTE: User cannot specify both host and hostGroup properties. * * @return the hostGroup value */
public SubResource hostGroup() { return this.hostGroup; }
Set 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.
Params:
  • hostGroup – the hostGroup value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies information about the dedicated host group that the virtual machine resides in. &lt;br&gt;&lt;br&gt;Minimum api-version: 2020-06-01. &lt;br&gt;&lt;br&gt;NOTE: User cannot specify both host and hostGroup properties. * * @param hostGroup the hostGroup value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withHostGroup(SubResource hostGroup) { this.hostGroup = hostGroup; return this; }
Get the provisioning state, which only appears in the response.
Returns:the provisioningState value
/** * Get the provisioning state, which only appears in the response. * * @return the provisioningState value */
public String provisioningState() { return this.provisioningState; }
Get the virtual machine instance view.
Returns:the instanceView value
/** * Get the virtual machine instance view. * * @return the instanceView value */
public VirtualMachineInstanceViewInner instanceView() { return this.instanceView; }
Get specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15.
Returns:the licenseType value
/** * Get specifies that the image or disk that is being used was licensed on-premises. &lt;br&gt;&lt;br&gt; Possible values for Windows Server operating system are: &lt;br&gt;&lt;br&gt; Windows_Client &lt;br&gt;&lt;br&gt; Windows_Server &lt;br&gt;&lt;br&gt; Possible values for Linux Server operating system are: &lt;br&gt;&lt;br&gt; RHEL_BYOS (for RHEL) &lt;br&gt;&lt;br&gt; SLES_BYOS (for SUSE) &lt;br&gt;&lt;br&gt; For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) &lt;br&gt;&lt;br&gt; [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) &lt;br&gt;&lt;br&gt; Minimum api-version: 2015-06-15. * * @return the licenseType value */
public String licenseType() { return this.licenseType; }
Set specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15.
Params:
  • licenseType – the licenseType value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies that the image or disk that is being used was licensed on-premises. &lt;br&gt;&lt;br&gt; Possible values for Windows Server operating system are: &lt;br&gt;&lt;br&gt; Windows_Client &lt;br&gt;&lt;br&gt; Windows_Server &lt;br&gt;&lt;br&gt; Possible values for Linux Server operating system are: &lt;br&gt;&lt;br&gt; RHEL_BYOS (for RHEL) &lt;br&gt;&lt;br&gt; SLES_BYOS (for SUSE) &lt;br&gt;&lt;br&gt; For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) &lt;br&gt;&lt;br&gt; [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) &lt;br&gt;&lt;br&gt; Minimum api-version: 2015-06-15. * * @param licenseType the licenseType value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withLicenseType(String licenseType) { this.licenseType = licenseType; return this; }
Get 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.
Returns:the vmId value
/** * Get 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. * * @return the vmId value */
public String vmId() { return this.vmId; }
Get 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.
Returns:the extensionsTimeBudget value
/** * Get 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). &lt;br&gt;&lt;br&gt; Minimum api-version: 2020-06-01. * * @return the extensionsTimeBudget value */
public String extensionsTimeBudget() { return this.extensionsTimeBudget; }
Set 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.
Params:
  • extensionsTimeBudget – the extensionsTimeBudget value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set 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). &lt;br&gt;&lt;br&gt; Minimum api-version: 2020-06-01. * * @param extensionsTimeBudget the extensionsTimeBudget value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withExtensionsTimeBudget(String extensionsTimeBudget) { this.extensionsTimeBudget = extensionsTimeBudget; return this; }
Get specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.<br><li>This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.<li>The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &gt; 1.<li>This property cannot be updated once the Virtual Machine is created.<li>Fault domain assignment can be viewed in the Virtual Machine Instance View.<br><br>Minimum api‐version: 2020‐12‐01.
Returns:the platformFaultDomain value
/** * Get specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.&lt;br&gt;&lt;li&gt;This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.&lt;li&gt;The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &amp;gt; 1.&lt;li&gt;This property cannot be updated once the Virtual Machine is created.&lt;li&gt;Fault domain assignment can be viewed in the Virtual Machine Instance View.&lt;br&gt;&lt;br&gt;Minimum api‐version: 2020‐12‐01. * * @return the platformFaultDomain value */
public Integer platformFaultDomain() { return this.platformFaultDomain; }
Set specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.<br><li>This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.<li>The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &gt; 1.<li>This property cannot be updated once the Virtual Machine is created.<li>Fault domain assignment can be viewed in the Virtual Machine Instance View.<br><br>Minimum api‐version: 2020‐12‐01.
Params:
  • platformFaultDomain – the platformFaultDomain value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.&lt;br&gt;&lt;li&gt;This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.&lt;li&gt;The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' &amp;gt; 1.&lt;li&gt;This property cannot be updated once the Virtual Machine is created.&lt;li&gt;Fault domain assignment can be viewed in the Virtual Machine Instance View.&lt;br&gt;&lt;br&gt;Minimum api‐version: 2020‐12‐01. * * @param platformFaultDomain the platformFaultDomain value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withPlatformFaultDomain(Integer platformFaultDomain) { this.platformFaultDomain = platformFaultDomain; return this; }
Get the identity of the virtual machine, if configured.
Returns:the identity value
/** * Get the identity of the virtual machine, if configured. * * @return the identity value */
public VirtualMachineIdentity identity() { return this.identity; }
Set the identity of the virtual machine, if configured.
Params:
  • identity – the identity value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set the identity of the virtual machine, if configured. * * @param identity the identity value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withIdentity(VirtualMachineIdentity identity) { this.identity = identity; return this; }
Get the virtual machine zones.
Returns:the zones value
/** * Get the virtual machine zones. * * @return the zones value */
public List<String> zones() { return this.zones; }
Set the virtual machine zones.
Params:
  • zones – the zones value to set
Returns:the VirtualMachineUpdate object itself.
/** * Set the virtual machine zones. * * @param zones the zones value to set * @return the VirtualMachineUpdate object itself. */
public VirtualMachineUpdate withZones(List<String> zones) { this.zones = zones; return this; } }