Class VirtualMachineScaleSetUpdateProperties

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

public final class VirtualMachineScaleSetUpdateProperties extends Object implements com.azure.json.JsonSerializable<VirtualMachineScaleSetUpdateProperties>
Describes the properties of a Virtual Machine Scale Set.
  • Constructor Details

    • VirtualMachineScaleSetUpdateProperties

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

    • upgradePolicy

      public UpgradePolicy upgradePolicy()
      Get the upgradePolicy property: The upgrade policy.
      Returns:
      the upgradePolicy value.
    • withUpgradePolicy

      public VirtualMachineScaleSetUpdateProperties withUpgradePolicy(UpgradePolicy upgradePolicy)
      Set the upgradePolicy property: The upgrade policy.
      Parameters:
      upgradePolicy - the upgradePolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • automaticRepairsPolicy

      public AutomaticRepairsPolicy automaticRepairsPolicy()
      Get the automaticRepairsPolicy property: Policy for automatic repairs.
      Returns:
      the automaticRepairsPolicy value.
    • withAutomaticRepairsPolicy

      public VirtualMachineScaleSetUpdateProperties withAutomaticRepairsPolicy(AutomaticRepairsPolicy automaticRepairsPolicy)
      Set the automaticRepairsPolicy property: Policy for automatic repairs.
      Parameters:
      automaticRepairsPolicy - the automaticRepairsPolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • virtualMachineProfile

      public VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile()
      Get the virtualMachineProfile property: The virtual machine profile.
      Returns:
      the virtualMachineProfile value.
    • withVirtualMachineProfile

      public VirtualMachineScaleSetUpdateProperties withVirtualMachineProfile(VirtualMachineScaleSetUpdateVMProfile virtualMachineProfile)
      Set the virtualMachineProfile property: The virtual machine profile.
      Parameters:
      virtualMachineProfile - the virtualMachineProfile value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • overprovision

      public Boolean overprovision()
      Get the overprovision property: Specifies whether the Virtual Machine Scale Set should be overprovisioned.
      Returns:
      the overprovision value.
    • withOverprovision

      public VirtualMachineScaleSetUpdateProperties withOverprovision(Boolean overprovision)
      Set the overprovision property: Specifies whether the Virtual Machine Scale Set should be overprovisioned.
      Parameters:
      overprovision - the overprovision value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • doNotRunExtensionsOnOverprovisionedVMs

      public Boolean doNotRunExtensionsOnOverprovisionedVMs()
      Get the doNotRunExtensionsOnOverprovisionedVMs property: When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.
      Returns:
      the doNotRunExtensionsOnOverprovisionedVMs value.
    • withDoNotRunExtensionsOnOverprovisionedVMs

      public VirtualMachineScaleSetUpdateProperties withDoNotRunExtensionsOnOverprovisionedVMs(Boolean doNotRunExtensionsOnOverprovisionedVMs)
      Set the doNotRunExtensionsOnOverprovisionedVMs property: When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.
      Parameters:
      doNotRunExtensionsOnOverprovisionedVMs - the doNotRunExtensionsOnOverprovisionedVMs value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • singlePlacementGroup

      public Boolean singlePlacementGroup()
      Get the singlePlacementGroup property: When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true.
      Returns:
      the singlePlacementGroup value.
    • withSinglePlacementGroup

      public VirtualMachineScaleSetUpdateProperties withSinglePlacementGroup(Boolean singlePlacementGroup)
      Set the singlePlacementGroup property: When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true.
      Parameters:
      singlePlacementGroup - the singlePlacementGroup value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • additionalCapabilities

      public AdditionalCapabilities additionalCapabilities()
      Get the additionalCapabilities property: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
      Returns:
      the additionalCapabilities value.
    • withAdditionalCapabilities

      public VirtualMachineScaleSetUpdateProperties withAdditionalCapabilities(AdditionalCapabilities additionalCapabilities)
      Set the additionalCapabilities property: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
      Parameters:
      additionalCapabilities - the additionalCapabilities value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • scaleInPolicy

      public ScaleInPolicy scaleInPolicy()
      Get the scaleInPolicy property: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
      Returns:
      the scaleInPolicy value.
    • withScaleInPolicy

      public VirtualMachineScaleSetUpdateProperties withScaleInPolicy(ScaleInPolicy scaleInPolicy)
      Set the scaleInPolicy property: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
      Parameters:
      scaleInPolicy - the scaleInPolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • proximityPlacementGroup

      public com.azure.core.management.SubResource proximityPlacementGroup()
      Get the proximityPlacementGroup property: Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01.
      Returns:
      the proximityPlacementGroup value.
    • withProximityPlacementGroup

      public VirtualMachineScaleSetUpdateProperties withProximityPlacementGroup(com.azure.core.management.SubResource proximityPlacementGroup)
      Set the proximityPlacementGroup property: Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. <br><br>Minimum api-version: 2018-04-01.
      Parameters:
      proximityPlacementGroup - the proximityPlacementGroup value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • priorityMixPolicy

      public PriorityMixPolicy priorityMixPolicy()
      Get the priorityMixPolicy property: Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
      Returns:
      the priorityMixPolicy value.
    • withPriorityMixPolicy

      public VirtualMachineScaleSetUpdateProperties withPriorityMixPolicy(PriorityMixPolicy priorityMixPolicy)
      Set the priorityMixPolicy property: Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
      Parameters:
      priorityMixPolicy - the priorityMixPolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • spotRestorePolicy

      public SpotRestorePolicy spotRestorePolicy()
      Get the spotRestorePolicy property: Specifies the Spot Restore properties for the virtual machine scale set.
      Returns:
      the spotRestorePolicy value.
    • withSpotRestorePolicy

      public VirtualMachineScaleSetUpdateProperties withSpotRestorePolicy(SpotRestorePolicy spotRestorePolicy)
      Set the spotRestorePolicy property: Specifies the Spot Restore properties for the virtual machine scale set.
      Parameters:
      spotRestorePolicy - the spotRestorePolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • resiliencyPolicy

      public ResiliencyPolicy resiliencyPolicy()
      Get the resiliencyPolicy property: Policy for Resiliency.
      Returns:
      the resiliencyPolicy value.
    • withResiliencyPolicy

      public VirtualMachineScaleSetUpdateProperties withResiliencyPolicy(ResiliencyPolicy resiliencyPolicy)
      Set the resiliencyPolicy property: Policy for Resiliency.
      Parameters:
      resiliencyPolicy - the resiliencyPolicy value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • zonalPlatformFaultDomainAlignMode

      public ZonalPlatformFaultDomainAlignMode zonalPlatformFaultDomainAlignMode()
      Get the zonalPlatformFaultDomainAlignMode property: Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count.
      Returns:
      the zonalPlatformFaultDomainAlignMode value.
    • withZonalPlatformFaultDomainAlignMode

      public VirtualMachineScaleSetUpdateProperties withZonalPlatformFaultDomainAlignMode(ZonalPlatformFaultDomainAlignMode zonalPlatformFaultDomainAlignMode)
      Set the zonalPlatformFaultDomainAlignMode property: Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count.
      Parameters:
      zonalPlatformFaultDomainAlignMode - the zonalPlatformFaultDomainAlignMode value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • skuProfile

      public SkuProfile skuProfile()
      Get the skuProfile property: Specifies the sku profile for the virtual machine scale set.
      Returns:
      the skuProfile value.
    • withSkuProfile

      public VirtualMachineScaleSetUpdateProperties withSkuProfile(SkuProfile skuProfile)
      Set the skuProfile property: Specifies the sku profile for the virtual machine scale set.
      Parameters:
      skuProfile - the skuProfile value to set.
      Returns:
      the VirtualMachineScaleSetUpdateProperties object itself.
    • 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<VirtualMachineScaleSetUpdateProperties>
      Throws:
      IOException
    • fromJson

      public static VirtualMachineScaleSetUpdateProperties fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of VirtualMachineScaleSetUpdateProperties from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of VirtualMachineScaleSetUpdateProperties 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 VirtualMachineScaleSetUpdateProperties.