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.
* <br><br>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. <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.
*/
@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.
* <br><br>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. <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'.
*/
@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.
* <br><br>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. <br><br>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. <br><br>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. <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.
*
* @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. <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.
*
* @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. <br><br>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. <br><br>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. <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'.
*
* @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. <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 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. <br><br>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. <br><br>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;
}
}