Class VirtualMachineScaleSetInner

java.lang.Object
com.azure.core.management.ProxyResource
com.azure.core.management.Resource
com.azure.resourcemanager.compute.fluent.models.VirtualMachineScaleSetInner

public final class VirtualMachineScaleSetInner extends com.azure.core.management.Resource
Describes a Virtual Machine Scale Set.
  • Constructor Details

    • VirtualMachineScaleSetInner

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

    • sku

      public Sku sku()
      Get the sku property: The virtual machine scale set sku.
      Returns:
      the sku value.
    • withSku

      public VirtualMachineScaleSetInner withSku(Sku sku)
      Set the sku property: The virtual machine scale set sku.
      Parameters:
      sku - the sku value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • plan

      public Plan plan()
      Get the plan property: 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.
    • withPlan

      public VirtualMachineScaleSetInner withPlan(Plan plan)
      Set the plan property: 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**.
      Parameters:
      plan - the plan value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • identity

      public VirtualMachineScaleSetIdentity identity()
      Get the identity property: The identity of the virtual machine scale set, if configured.
      Returns:
      the identity value.
    • withIdentity

      Set the identity property: The identity of the virtual machine scale set, if configured.
      Parameters:
      identity - the identity value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • zones

      public List<String> zones()
      Get the zones property: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set.
      Returns:
      the zones value.
    • withZones

      public VirtualMachineScaleSetInner withZones(List<String> zones)
      Set the zones property: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set.
      Parameters:
      zones - the zones value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • extendedLocation

      public ExtendedLocation extendedLocation()
      Get the extendedLocation property: The extended location of the Virtual Machine Scale Set.
      Returns:
      the extendedLocation value.
    • withExtendedLocation

      public VirtualMachineScaleSetInner withExtendedLocation(ExtendedLocation extendedLocation)
      Set the extendedLocation property: The extended location of the Virtual Machine Scale Set.
      Parameters:
      extendedLocation - the extendedLocation value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • etag

      public String etag()
      Get the etag property: Etag is property returned in Create/Update/Get response of the VMSS, so that customer can supply it in the header to ensure optimistic updates.
      Returns:
      the etag value.
    • withLocation

      public VirtualMachineScaleSetInner withLocation(String location)
      Overrides:
      withLocation in class com.azure.core.management.Resource
    • withTags

      public VirtualMachineScaleSetInner withTags(Map<String,String> tags)
      Overrides:
      withTags in class com.azure.core.management.Resource
    • upgradePolicy

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

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

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

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

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

      public VirtualMachineScaleSetInner withVirtualMachineProfile(VirtualMachineScaleSetVMProfile virtualMachineProfile)
      Set the virtualMachineProfile property: The virtual machine profile.
      Parameters:
      virtualMachineProfile - the virtualMachineProfile value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • provisioningState

      public String provisioningState()
      Get the provisioningState property: The provisioning state, which only appears in the response.
      Returns:
      the provisioningState value.
    • overprovision

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

      public VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner object itself.
    • uniqueId

      public String uniqueId()
      Get the uniqueId property: Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
      Returns:
      the uniqueId value.
    • 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner object itself.
    • zoneBalance

      public Boolean zoneBalance()
      Get the zoneBalance property: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set.
      Returns:
      the zoneBalance value.
    • withZoneBalance

      public VirtualMachineScaleSetInner withZoneBalance(Boolean zoneBalance)
      Set the zoneBalance property: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set.
      Parameters:
      zoneBalance - the zoneBalance value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • platformFaultDomainCount

      public Integer platformFaultDomainCount()
      Get the platformFaultDomainCount property: Fault Domain count for each placement group.
      Returns:
      the platformFaultDomainCount value.
    • withPlatformFaultDomainCount

      public VirtualMachineScaleSetInner withPlatformFaultDomainCount(Integer platformFaultDomainCount)
      Set the platformFaultDomainCount property: Fault Domain count for each placement group.
      Parameters:
      platformFaultDomainCount - the platformFaultDomainCount value to set.
      Returns:
      the VirtualMachineScaleSetInner 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. Minimum api-version: 2018-04-01.
      Returns:
      the proximityPlacementGroup value.
    • withProximityPlacementGroup

      public VirtualMachineScaleSetInner 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. Minimum api-version: 2018-04-01.
      Parameters:
      proximityPlacementGroup - the proximityPlacementGroup value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • hostGroup

      public com.azure.core.management.SubResource hostGroup()
      Get the hostGroup property: Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
      Returns:
      the hostGroup value.
    • withHostGroup

      public VirtualMachineScaleSetInner withHostGroup(com.azure.core.management.SubResource hostGroup)
      Set the hostGroup property: Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
      Parameters:
      hostGroup - the hostGroup value to set.
      Returns:
      the VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner object itself.
    • orchestrationMode

      public OrchestrationMode orchestrationMode()
      Get the orchestrationMode property: Specifies the orchestration mode for the virtual machine scale set.
      Returns:
      the orchestrationMode value.
    • withOrchestrationMode

      public VirtualMachineScaleSetInner withOrchestrationMode(OrchestrationMode orchestrationMode)
      Set the orchestrationMode property: Specifies the orchestration mode for the virtual machine scale set.
      Parameters:
      orchestrationMode - the orchestrationMode value to set.
      Returns:
      the VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner 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 VirtualMachineScaleSetInner object itself.
    • timeCreated

      public OffsetDateTime timeCreated()
      Get the timeCreated property: Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01.
      Returns:
      the timeCreated value.
    • constrainedMaximumCapacity

      public Boolean constrainedMaximumCapacity()
      Get the constrainedMaximumCapacity property: Optional property which must either be set to True or omitted.
      Returns:
      the constrainedMaximumCapacity value.
    • withConstrainedMaximumCapacity

      public VirtualMachineScaleSetInner withConstrainedMaximumCapacity(Boolean constrainedMaximumCapacity)
      Set the constrainedMaximumCapacity property: Optional property which must either be set to True or omitted.
      Parameters:
      constrainedMaximumCapacity - the constrainedMaximumCapacity value to set.
      Returns:
      the VirtualMachineScaleSetInner object itself.
    • resiliencyPolicy

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

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

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