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.fasterxml.jackson.annotation.JsonProperty;
Describes a virtual machine scale set virtual machine profile.
/** * Describes a virtual machine scale set virtual machine profile. */
public class VirtualMachineScaleSetVMProfile {
Specifies the operating system settings for the virtual machines in the scale set.
/** * Specifies the operating system settings for the virtual machines in the * scale set. */
@JsonProperty(value = "osProfile") private VirtualMachineScaleSetOSProfile osProfile;
Specifies the storage settings for the virtual machine disks.
/** * Specifies the storage settings for the virtual machine disks. */
@JsonProperty(value = "storageProfile") private VirtualMachineScaleSetStorageProfile storageProfile;
Specifies properties of the network interfaces of the virtual machines in the scale set.
/** * Specifies properties of the network interfaces of the virtual machines * in the scale set. */
@JsonProperty(value = "networkProfile") private VirtualMachineScaleSetNetworkProfile networkProfile;
Specifies the Security related profile settings for the virtual machines in the scale set.
/** * Specifies the Security related profile settings for the virtual machines * in the scale set. */
@JsonProperty(value = "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 = "diagnosticsProfile") private DiagnosticsProfile diagnosticsProfile;
Specifies a collection of settings for extensions installed on virtual machines in the scale set.
/** * Specifies a collection of settings for extensions installed on virtual * machines in the scale set. */
@JsonProperty(value = "extensionProfile") private VirtualMachineScaleSetExtensionProfile extensionProfile;
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 = "licenseType") private String licenseType;
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'.
/** * Specifies the priority for the virtual machines in the scale set. * &lt;br&gt;&lt;br&gt;Minimum api-version: 2017-10-30-preview. Possible * values include: 'Regular', 'Low', 'Spot'. */
@JsonProperty(value = "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 = "evictionPolicy") private VirtualMachineEvictionPolicyTypes evictionPolicy;
Specifies the billing related details of a Azure Spot VMSS. <br><br>Minimum api-version: 2019-03-01.
/** * Specifies the billing related details of a Azure Spot VMSS. * &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. */
@JsonProperty(value = "billingProfile") private BillingProfile billingProfile;
Specifies Scheduled Event related configurations.
/** * Specifies Scheduled Event related configurations. */
@JsonProperty(value = "scheduledEventsProfile") private ScheduledEventsProfile scheduledEventsProfile;
Get specifies the operating system settings for the virtual machines in the scale set.
Returns:the osProfile value
/** * Get specifies the operating system settings for the virtual machines in the scale set. * * @return the osProfile value */
public VirtualMachineScaleSetOSProfile osProfile() { return this.osProfile; }
Set specifies the operating system settings for the virtual machines in the scale set.
Params:
  • osProfile – the osProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies the operating system settings for the virtual machines in the scale set. * * @param osProfile the osProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withOsProfile(VirtualMachineScaleSetOSProfile osProfile) { this.osProfile = osProfile; 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 VirtualMachineScaleSetStorageProfile storageProfile() { return this.storageProfile; }
Set specifies the storage settings for the virtual machine disks.
Params:
  • storageProfile – the storageProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies the storage settings for the virtual machine disks. * * @param storageProfile the storageProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withStorageProfile(VirtualMachineScaleSetStorageProfile storageProfile) { this.storageProfile = storageProfile; return this; }
Get specifies properties of the network interfaces of the virtual machines in the scale set.
Returns:the networkProfile value
/** * Get specifies properties of the network interfaces of the virtual machines in the scale set. * * @return the networkProfile value */
public VirtualMachineScaleSetNetworkProfile networkProfile() { return this.networkProfile; }
Set specifies properties of the network interfaces of the virtual machines in the scale set.
Params:
  • networkProfile – the networkProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies properties of the network interfaces of the virtual machines in the scale set. * * @param networkProfile the networkProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withNetworkProfile(VirtualMachineScaleSetNetworkProfile networkProfile) { this.networkProfile = networkProfile; return this; }
Get specifies the Security related profile settings for the virtual machines in the scale set.
Returns:the securityProfile value
/** * Get specifies the Security related profile settings for the virtual machines in the scale set. * * @return the securityProfile value */
public SecurityProfile securityProfile() { return this.securityProfile; }
Set specifies the Security related profile settings for the virtual machines in the scale set.
Params:
  • securityProfile – the securityProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies the Security related profile settings for the virtual machines in the scale set. * * @param securityProfile the securityProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile 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 VirtualMachineScaleSetVMProfile 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 VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withDiagnosticsProfile(DiagnosticsProfile diagnosticsProfile) { this.diagnosticsProfile = diagnosticsProfile; return this; }
Get specifies a collection of settings for extensions installed on virtual machines in the scale set.
Returns:the extensionProfile value
/** * Get specifies a collection of settings for extensions installed on virtual machines in the scale set. * * @return the extensionProfile value */
public VirtualMachineScaleSetExtensionProfile extensionProfile() { return this.extensionProfile; }
Set specifies a collection of settings for extensions installed on virtual machines in the scale set.
Params:
  • extensionProfile – the extensionProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies a collection of settings for extensions installed on virtual machines in the scale set. * * @param extensionProfile the extensionProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withExtensionProfile(VirtualMachineScaleSetExtensionProfile extensionProfile) { this.extensionProfile = extensionProfile; return this; }
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 VirtualMachineScaleSetVMProfile 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 VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withLicenseType(String licenseType) { this.licenseType = licenseType; return this; }
Get 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'.
Returns:the priority value
/** * Get specifies the priority for the virtual machines in the scale set. &lt;br&gt;&lt;br&gt;Minimum api-version: 2017-10-30-preview. Possible values include: 'Regular', 'Low', 'Spot'. * * @return the priority value */
public VirtualMachinePriorityTypes priority() { return this.priority; }
Set 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'.
Params:
  • priority – the priority value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies the priority for the virtual machines in the scale set. &lt;br&gt;&lt;br&gt;Minimum api-version: 2017-10-30-preview. Possible values include: 'Regular', 'Low', 'Spot'. * * @param priority the priority value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile 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 VirtualMachineScaleSetVMProfile 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 VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withEvictionPolicy(VirtualMachineEvictionPolicyTypes evictionPolicy) { this.evictionPolicy = evictionPolicy; return this; }
Get specifies the billing related details of a Azure Spot VMSS. <br><br>Minimum api-version: 2019-03-01.
Returns:the billingProfile value
/** * Get specifies the billing related details of a Azure Spot VMSS. &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 VMSS. <br><br>Minimum api-version: 2019-03-01.
Params:
  • billingProfile – the billingProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies the billing related details of a Azure Spot VMSS. &lt;br&gt;&lt;br&gt;Minimum api-version: 2019-03-01. * * @param billingProfile the billingProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withBillingProfile(BillingProfile billingProfile) { this.billingProfile = billingProfile; return this; }
Get specifies Scheduled Event related configurations.
Returns:the scheduledEventsProfile value
/** * Get specifies Scheduled Event related configurations. * * @return the scheduledEventsProfile value */
public ScheduledEventsProfile scheduledEventsProfile() { return this.scheduledEventsProfile; }
Set specifies Scheduled Event related configurations.
Params:
  • scheduledEventsProfile – the scheduledEventsProfile value to set
Returns:the VirtualMachineScaleSetVMProfile object itself.
/** * Set specifies Scheduled Event related configurations. * * @param scheduledEventsProfile the scheduledEventsProfile value to set * @return the VirtualMachineScaleSetVMProfile object itself. */
public VirtualMachineScaleSetVMProfile withScheduledEventsProfile(ScheduledEventsProfile scheduledEventsProfile) { this.scheduledEventsProfile = scheduledEventsProfile; return this; } }