Class VirtualMachineScaleSetVMProfile

java.lang.Object
com.azure.resourcemanager.compute.models.VirtualMachineScaleSetVMProfile
All Implemented Interfaces:
com.azure.json.JsonSerializable<VirtualMachineScaleSetVMProfile>

public final class VirtualMachineScaleSetVMProfile extends Object implements com.azure.json.JsonSerializable<VirtualMachineScaleSetVMProfile>
Describes a virtual machine scale set virtual machine profile.
  • Constructor Details

    • VirtualMachineScaleSetVMProfile

      public VirtualMachineScaleSetVMProfile()
      Creates an instance of VirtualMachineScaleSetVMProfile class.
  • Method Details

    • osProfile

      public VirtualMachineScaleSetOSProfile osProfile()
      Get the osProfile property: Specifies the operating system settings for the virtual machines in the scale set.
      Returns:
      the osProfile value.
    • withOsProfile

      Set the osProfile property: Specifies the operating system settings for the virtual machines in the scale set.
      Parameters:
      osProfile - the osProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • storageProfile

      public VirtualMachineScaleSetStorageProfile storageProfile()
      Get the storageProfile property: Specifies the storage settings for the virtual machine disks.
      Returns:
      the storageProfile value.
    • withStorageProfile

      public VirtualMachineScaleSetVMProfile withStorageProfile(VirtualMachineScaleSetStorageProfile storageProfile)
      Set the storageProfile property: Specifies the storage settings for the virtual machine disks.
      Parameters:
      storageProfile - the storageProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • networkProfile

      public VirtualMachineScaleSetNetworkProfile networkProfile()
      Get the networkProfile property: Specifies properties of the network interfaces of the virtual machines in the scale set.
      Returns:
      the networkProfile value.
    • withNetworkProfile

      public VirtualMachineScaleSetVMProfile withNetworkProfile(VirtualMachineScaleSetNetworkProfile networkProfile)
      Set the networkProfile property: Specifies properties of the network interfaces of the virtual machines in the scale set.
      Parameters:
      networkProfile - the networkProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • securityProfile

      public SecurityProfile securityProfile()
      Get the securityProfile property: Specifies the Security related profile settings for the virtual machines in the scale set.
      Returns:
      the securityProfile value.
    • withSecurityProfile

      public VirtualMachineScaleSetVMProfile withSecurityProfile(SecurityProfile securityProfile)
      Set the securityProfile property: Specifies the Security related profile settings for the virtual machines in the scale set.
      Parameters:
      securityProfile - the securityProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • diagnosticsProfile

      public DiagnosticsProfile diagnosticsProfile()
      Get the diagnosticsProfile property: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
      Returns:
      the diagnosticsProfile value.
    • withDiagnosticsProfile

      public VirtualMachineScaleSetVMProfile withDiagnosticsProfile(DiagnosticsProfile diagnosticsProfile)
      Set the diagnosticsProfile property: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
      Parameters:
      diagnosticsProfile - the diagnosticsProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • extensionProfile

      public VirtualMachineScaleSetExtensionProfile extensionProfile()
      Get the extensionProfile property: Specifies a collection of settings for extensions installed on virtual machines in the scale set.
      Returns:
      the extensionProfile value.
    • withExtensionProfile

      public VirtualMachineScaleSetVMProfile withExtensionProfile(VirtualMachineScaleSetExtensionProfile extensionProfile)
      Set the extensionProfile property: Specifies a collection of settings for extensions installed on virtual machines in the scale set.
      Parameters:
      extensionProfile - the extensionProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • licenseType

      public String licenseType()
      Get the licenseType property: 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.
    • withLicenseType

      public VirtualMachineScaleSetVMProfile withLicenseType(String licenseType)
      Set the licenseType property: 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.
      Parameters:
      licenseType - the licenseType value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • priority

      public VirtualMachinePriorityTypes priority()
      Get the priority property: Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview.
      Returns:
      the priority value.
    • withPriority

      Set the priority property: Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview.
      Parameters:
      priority - the priority value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • evictionPolicy

      public VirtualMachineEvictionPolicyTypes evictionPolicy()
      Get the evictionPolicy property: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
      Returns:
      the evictionPolicy value.
    • withEvictionPolicy

      public VirtualMachineScaleSetVMProfile withEvictionPolicy(VirtualMachineEvictionPolicyTypes evictionPolicy)
      Set the evictionPolicy property: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
      Parameters:
      evictionPolicy - the evictionPolicy value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • billingProfile

      public BillingProfile billingProfile()
      Get the billingProfile property: Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
      Returns:
      the billingProfile value.
    • withBillingProfile

      public VirtualMachineScaleSetVMProfile withBillingProfile(BillingProfile billingProfile)
      Set the billingProfile property: Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
      Parameters:
      billingProfile - the billingProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • scheduledEventsProfile

      public ScheduledEventsProfile scheduledEventsProfile()
      Get the scheduledEventsProfile property: Specifies Scheduled Event related configurations.
      Returns:
      the scheduledEventsProfile value.
    • withScheduledEventsProfile

      public VirtualMachineScaleSetVMProfile withScheduledEventsProfile(ScheduledEventsProfile scheduledEventsProfile)
      Set the scheduledEventsProfile property: Specifies Scheduled Event related configurations.
      Parameters:
      scheduledEventsProfile - the scheduledEventsProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • userData

      public String userData()
      Get the userData property: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01.
      Returns:
      the userData value.
    • withUserData

      public VirtualMachineScaleSetVMProfile withUserData(String userData)
      Set the userData property: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01.
      Parameters:
      userData - the userData value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • capacityReservation

      public CapacityReservationProfile capacityReservation()
      Get the capacityReservation property: Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01.
      Returns:
      the capacityReservation value.
    • withCapacityReservation

      public VirtualMachineScaleSetVMProfile withCapacityReservation(CapacityReservationProfile capacityReservation)
      Set the capacityReservation property: Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01.
      Parameters:
      capacityReservation - the capacityReservation value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • applicationProfile

      public ApplicationProfile applicationProfile()
      Get the applicationProfile property: Specifies the gallery applications that should be made available to the VM/VMSS.
      Returns:
      the applicationProfile value.
    • withApplicationProfile

      public VirtualMachineScaleSetVMProfile withApplicationProfile(ApplicationProfile applicationProfile)
      Set the applicationProfile property: Specifies the gallery applications that should be made available to the VM/VMSS.
      Parameters:
      applicationProfile - the applicationProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • hardwareProfile

      public VirtualMachineScaleSetHardwareProfile hardwareProfile()
      Get the hardwareProfile property: Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01.
      Returns:
      the hardwareProfile value.
    • withHardwareProfile

      public VirtualMachineScaleSetVMProfile withHardwareProfile(VirtualMachineScaleSetHardwareProfile hardwareProfile)
      Set the hardwareProfile property: Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01.
      Parameters:
      hardwareProfile - the hardwareProfile value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • serviceArtifactReference

      public ServiceArtifactReference serviceArtifactReference()
      Get the serviceArtifactReference property: Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01.
      Returns:
      the serviceArtifactReference value.
    • withServiceArtifactReference

      public VirtualMachineScaleSetVMProfile withServiceArtifactReference(ServiceArtifactReference serviceArtifactReference)
      Set the serviceArtifactReference property: Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01.
      Parameters:
      serviceArtifactReference - the serviceArtifactReference value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • securityPostureReference

      public SecurityPostureReference securityPostureReference()
      Get the securityPostureReference property: Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01.
      Returns:
      the securityPostureReference value.
    • withSecurityPostureReference

      public VirtualMachineScaleSetVMProfile withSecurityPostureReference(SecurityPostureReference securityPostureReference)
      Set the securityPostureReference property: Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01.
      Parameters:
      securityPostureReference - the securityPostureReference value to set.
      Returns:
      the VirtualMachineScaleSetVMProfile object itself.
    • timeCreated

      public OffsetDateTime timeCreated()
      Get the timeCreated property: Specifies the time in which this VM profile for the Virtual Machine Scale Set was created. This value will be added to VMSS Flex VM tags when creating/updating the VMSS VM Profile. Minimum API version for this property is 2023-09-01.
      Returns:
      the timeCreated value.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<VirtualMachineScaleSetVMProfile>
      Throws:
      IOException
    • fromJson

      public static VirtualMachineScaleSetVMProfile fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of VirtualMachineScaleSetVMProfile from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of VirtualMachineScaleSetVMProfile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IOException - If an error occurs while reading the VirtualMachineScaleSetVMProfile.