
com.pulumi.azurenative.compute.outputs.GetVirtualMachineScaleSetResult Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.compute.outputs;
import com.pulumi.azurenative.compute.outputs.AdditionalCapabilitiesResponse;
import com.pulumi.azurenative.compute.outputs.AutomaticRepairsPolicyResponse;
import com.pulumi.azurenative.compute.outputs.ExtendedLocationResponse;
import com.pulumi.azurenative.compute.outputs.PlanResponse;
import com.pulumi.azurenative.compute.outputs.PriorityMixPolicyResponse;
import com.pulumi.azurenative.compute.outputs.ScaleInPolicyResponse;
import com.pulumi.azurenative.compute.outputs.SkuResponse;
import com.pulumi.azurenative.compute.outputs.SpotRestorePolicyResponse;
import com.pulumi.azurenative.compute.outputs.SubResourceResponse;
import com.pulumi.azurenative.compute.outputs.UpgradePolicyResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetIdentityResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetVMProfileResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class GetVirtualMachineScaleSetResult {
/**
* @return 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.
*
*/
private @Nullable AdditionalCapabilitiesResponse additionalCapabilities;
/**
* @return Policy for automatic repairs.
*
*/
private @Nullable AutomaticRepairsPolicyResponse automaticRepairsPolicy;
/**
* @return Optional property which must either be set to True or omitted.
*
*/
private @Nullable Boolean constrainedMaximumCapacity;
/**
* @return 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.
*
*/
private @Nullable Boolean doNotRunExtensionsOnOverprovisionedVMs;
/**
* @return The extended location of the Virtual Machine Scale Set.
*
*/
private @Nullable ExtendedLocationResponse extendedLocation;
/**
* @return Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
*
*/
private @Nullable SubResourceResponse hostGroup;
/**
* @return Resource Id
*
*/
private String id;
/**
* @return The identity of the virtual machine scale set, if configured.
*
*/
private @Nullable VirtualMachineScaleSetIdentityResponse identity;
/**
* @return Resource location
*
*/
private String location;
/**
* @return Resource name
*
*/
private String name;
/**
* @return Specifies the orchestration mode for the virtual machine scale set.
*
*/
private @Nullable String orchestrationMode;
/**
* @return Specifies whether the Virtual Machine Scale Set should be overprovisioned.
*
*/
private @Nullable Boolean overprovision;
/**
* @return 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**.
*
*/
private @Nullable PlanResponse plan;
/**
* @return Fault Domain count for each placement group.
*
*/
private @Nullable Integer platformFaultDomainCount;
/**
* @return Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
*
*/
private @Nullable PriorityMixPolicyResponse priorityMixPolicy;
/**
* @return The provisioning state, which only appears in the response.
*
*/
private String provisioningState;
/**
* @return Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
*
*/
private @Nullable SubResourceResponse proximityPlacementGroup;
/**
* @return Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
*
*/
private @Nullable ScaleInPolicyResponse scaleInPolicy;
/**
* @return 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.
*
*/
private @Nullable Boolean singlePlacementGroup;
/**
* @return The virtual machine scale set sku.
*
*/
private @Nullable SkuResponse sku;
/**
* @return Specifies the Spot Restore properties for the virtual machine scale set.
*
*/
private @Nullable SpotRestorePolicyResponse spotRestorePolicy;
/**
* @return Resource tags
*
*/
private @Nullable Map tags;
/**
* @return Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01.
*
*/
private String timeCreated;
/**
* @return Resource type
*
*/
private String type;
/**
* @return Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
*
*/
private String uniqueId;
/**
* @return The upgrade policy.
*
*/
private @Nullable UpgradePolicyResponse upgradePolicy;
/**
* @return The virtual machine profile.
*
*/
private @Nullable VirtualMachineScaleSetVMProfileResponse virtualMachineProfile;
/**
* @return 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.
*
*/
private @Nullable Boolean zoneBalance;
/**
* @return The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
*
*/
private @Nullable List zones;
private GetVirtualMachineScaleSetResult() {}
/**
* @return 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.
*
*/
public Optional additionalCapabilities() {
return Optional.ofNullable(this.additionalCapabilities);
}
/**
* @return Policy for automatic repairs.
*
*/
public Optional automaticRepairsPolicy() {
return Optional.ofNullable(this.automaticRepairsPolicy);
}
/**
* @return Optional property which must either be set to True or omitted.
*
*/
public Optional constrainedMaximumCapacity() {
return Optional.ofNullable(this.constrainedMaximumCapacity);
}
/**
* @return 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.
*
*/
public Optional doNotRunExtensionsOnOverprovisionedVMs() {
return Optional.ofNullable(this.doNotRunExtensionsOnOverprovisionedVMs);
}
/**
* @return The extended location of the Virtual Machine Scale Set.
*
*/
public Optional extendedLocation() {
return Optional.ofNullable(this.extendedLocation);
}
/**
* @return Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
*
*/
public Optional hostGroup() {
return Optional.ofNullable(this.hostGroup);
}
/**
* @return Resource Id
*
*/
public String id() {
return this.id;
}
/**
* @return The identity of the virtual machine scale set, if configured.
*
*/
public Optional identity() {
return Optional.ofNullable(this.identity);
}
/**
* @return Resource location
*
*/
public String location() {
return this.location;
}
/**
* @return Resource name
*
*/
public String name() {
return this.name;
}
/**
* @return Specifies the orchestration mode for the virtual machine scale set.
*
*/
public Optional orchestrationMode() {
return Optional.ofNullable(this.orchestrationMode);
}
/**
* @return Specifies whether the Virtual Machine Scale Set should be overprovisioned.
*
*/
public Optional overprovision() {
return Optional.ofNullable(this.overprovision);
}
/**
* @return 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**.
*
*/
public Optional plan() {
return Optional.ofNullable(this.plan);
}
/**
* @return Fault Domain count for each placement group.
*
*/
public Optional platformFaultDomainCount() {
return Optional.ofNullable(this.platformFaultDomainCount);
}
/**
* @return Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
*
*/
public Optional priorityMixPolicy() {
return Optional.ofNullable(this.priorityMixPolicy);
}
/**
* @return The provisioning state, which only appears in the response.
*
*/
public String provisioningState() {
return this.provisioningState;
}
/**
* @return Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
*
*/
public Optional proximityPlacementGroup() {
return Optional.ofNullable(this.proximityPlacementGroup);
}
/**
* @return Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
*
*/
public Optional scaleInPolicy() {
return Optional.ofNullable(this.scaleInPolicy);
}
/**
* @return 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.
*
*/
public Optional singlePlacementGroup() {
return Optional.ofNullable(this.singlePlacementGroup);
}
/**
* @return The virtual machine scale set sku.
*
*/
public Optional sku() {
return Optional.ofNullable(this.sku);
}
/**
* @return Specifies the Spot Restore properties for the virtual machine scale set.
*
*/
public Optional spotRestorePolicy() {
return Optional.ofNullable(this.spotRestorePolicy);
}
/**
* @return Resource tags
*
*/
public Map tags() {
return this.tags == null ? Map.of() : this.tags;
}
/**
* @return Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01.
*
*/
public String timeCreated() {
return this.timeCreated;
}
/**
* @return Resource type
*
*/
public String type() {
return this.type;
}
/**
* @return Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
*
*/
public String uniqueId() {
return this.uniqueId;
}
/**
* @return The upgrade policy.
*
*/
public Optional upgradePolicy() {
return Optional.ofNullable(this.upgradePolicy);
}
/**
* @return The virtual machine profile.
*
*/
public Optional virtualMachineProfile() {
return Optional.ofNullable(this.virtualMachineProfile);
}
/**
* @return 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.
*
*/
public Optional zoneBalance() {
return Optional.ofNullable(this.zoneBalance);
}
/**
* @return The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
*
*/
public List zones() {
return this.zones == null ? List.of() : this.zones;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetVirtualMachineScaleSetResult defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable AdditionalCapabilitiesResponse additionalCapabilities;
private @Nullable AutomaticRepairsPolicyResponse automaticRepairsPolicy;
private @Nullable Boolean constrainedMaximumCapacity;
private @Nullable Boolean doNotRunExtensionsOnOverprovisionedVMs;
private @Nullable ExtendedLocationResponse extendedLocation;
private @Nullable SubResourceResponse hostGroup;
private String id;
private @Nullable VirtualMachineScaleSetIdentityResponse identity;
private String location;
private String name;
private @Nullable String orchestrationMode;
private @Nullable Boolean overprovision;
private @Nullable PlanResponse plan;
private @Nullable Integer platformFaultDomainCount;
private @Nullable PriorityMixPolicyResponse priorityMixPolicy;
private String provisioningState;
private @Nullable SubResourceResponse proximityPlacementGroup;
private @Nullable ScaleInPolicyResponse scaleInPolicy;
private @Nullable Boolean singlePlacementGroup;
private @Nullable SkuResponse sku;
private @Nullable SpotRestorePolicyResponse spotRestorePolicy;
private @Nullable Map tags;
private String timeCreated;
private String type;
private String uniqueId;
private @Nullable UpgradePolicyResponse upgradePolicy;
private @Nullable VirtualMachineScaleSetVMProfileResponse virtualMachineProfile;
private @Nullable Boolean zoneBalance;
private @Nullable List zones;
public Builder() {}
public Builder(GetVirtualMachineScaleSetResult defaults) {
Objects.requireNonNull(defaults);
this.additionalCapabilities = defaults.additionalCapabilities;
this.automaticRepairsPolicy = defaults.automaticRepairsPolicy;
this.constrainedMaximumCapacity = defaults.constrainedMaximumCapacity;
this.doNotRunExtensionsOnOverprovisionedVMs = defaults.doNotRunExtensionsOnOverprovisionedVMs;
this.extendedLocation = defaults.extendedLocation;
this.hostGroup = defaults.hostGroup;
this.id = defaults.id;
this.identity = defaults.identity;
this.location = defaults.location;
this.name = defaults.name;
this.orchestrationMode = defaults.orchestrationMode;
this.overprovision = defaults.overprovision;
this.plan = defaults.plan;
this.platformFaultDomainCount = defaults.platformFaultDomainCount;
this.priorityMixPolicy = defaults.priorityMixPolicy;
this.provisioningState = defaults.provisioningState;
this.proximityPlacementGroup = defaults.proximityPlacementGroup;
this.scaleInPolicy = defaults.scaleInPolicy;
this.singlePlacementGroup = defaults.singlePlacementGroup;
this.sku = defaults.sku;
this.spotRestorePolicy = defaults.spotRestorePolicy;
this.tags = defaults.tags;
this.timeCreated = defaults.timeCreated;
this.type = defaults.type;
this.uniqueId = defaults.uniqueId;
this.upgradePolicy = defaults.upgradePolicy;
this.virtualMachineProfile = defaults.virtualMachineProfile;
this.zoneBalance = defaults.zoneBalance;
this.zones = defaults.zones;
}
@CustomType.Setter
public Builder additionalCapabilities(@Nullable AdditionalCapabilitiesResponse additionalCapabilities) {
this.additionalCapabilities = additionalCapabilities;
return this;
}
@CustomType.Setter
public Builder automaticRepairsPolicy(@Nullable AutomaticRepairsPolicyResponse automaticRepairsPolicy) {
this.automaticRepairsPolicy = automaticRepairsPolicy;
return this;
}
@CustomType.Setter
public Builder constrainedMaximumCapacity(@Nullable Boolean constrainedMaximumCapacity) {
this.constrainedMaximumCapacity = constrainedMaximumCapacity;
return this;
}
@CustomType.Setter
public Builder doNotRunExtensionsOnOverprovisionedVMs(@Nullable Boolean doNotRunExtensionsOnOverprovisionedVMs) {
this.doNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs;
return this;
}
@CustomType.Setter
public Builder extendedLocation(@Nullable ExtendedLocationResponse extendedLocation) {
this.extendedLocation = extendedLocation;
return this;
}
@CustomType.Setter
public Builder hostGroup(@Nullable SubResourceResponse hostGroup) {
this.hostGroup = hostGroup;
return this;
}
@CustomType.Setter
public Builder id(String id) {
if (id == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "id");
}
this.id = id;
return this;
}
@CustomType.Setter
public Builder identity(@Nullable VirtualMachineScaleSetIdentityResponse identity) {
this.identity = identity;
return this;
}
@CustomType.Setter
public Builder location(String location) {
if (location == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "location");
}
this.location = location;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder orchestrationMode(@Nullable String orchestrationMode) {
this.orchestrationMode = orchestrationMode;
return this;
}
@CustomType.Setter
public Builder overprovision(@Nullable Boolean overprovision) {
this.overprovision = overprovision;
return this;
}
@CustomType.Setter
public Builder plan(@Nullable PlanResponse plan) {
this.plan = plan;
return this;
}
@CustomType.Setter
public Builder platformFaultDomainCount(@Nullable Integer platformFaultDomainCount) {
this.platformFaultDomainCount = platformFaultDomainCount;
return this;
}
@CustomType.Setter
public Builder priorityMixPolicy(@Nullable PriorityMixPolicyResponse priorityMixPolicy) {
this.priorityMixPolicy = priorityMixPolicy;
return this;
}
@CustomType.Setter
public Builder provisioningState(String provisioningState) {
if (provisioningState == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "provisioningState");
}
this.provisioningState = provisioningState;
return this;
}
@CustomType.Setter
public Builder proximityPlacementGroup(@Nullable SubResourceResponse proximityPlacementGroup) {
this.proximityPlacementGroup = proximityPlacementGroup;
return this;
}
@CustomType.Setter
public Builder scaleInPolicy(@Nullable ScaleInPolicyResponse scaleInPolicy) {
this.scaleInPolicy = scaleInPolicy;
return this;
}
@CustomType.Setter
public Builder singlePlacementGroup(@Nullable Boolean singlePlacementGroup) {
this.singlePlacementGroup = singlePlacementGroup;
return this;
}
@CustomType.Setter
public Builder sku(@Nullable SkuResponse sku) {
this.sku = sku;
return this;
}
@CustomType.Setter
public Builder spotRestorePolicy(@Nullable SpotRestorePolicyResponse spotRestorePolicy) {
this.spotRestorePolicy = spotRestorePolicy;
return this;
}
@CustomType.Setter
public Builder tags(@Nullable Map tags) {
this.tags = tags;
return this;
}
@CustomType.Setter
public Builder timeCreated(String timeCreated) {
if (timeCreated == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "timeCreated");
}
this.timeCreated = timeCreated;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "type");
}
this.type = type;
return this;
}
@CustomType.Setter
public Builder uniqueId(String uniqueId) {
if (uniqueId == null) {
throw new MissingRequiredPropertyException("GetVirtualMachineScaleSetResult", "uniqueId");
}
this.uniqueId = uniqueId;
return this;
}
@CustomType.Setter
public Builder upgradePolicy(@Nullable UpgradePolicyResponse upgradePolicy) {
this.upgradePolicy = upgradePolicy;
return this;
}
@CustomType.Setter
public Builder virtualMachineProfile(@Nullable VirtualMachineScaleSetVMProfileResponse virtualMachineProfile) {
this.virtualMachineProfile = virtualMachineProfile;
return this;
}
@CustomType.Setter
public Builder zoneBalance(@Nullable Boolean zoneBalance) {
this.zoneBalance = zoneBalance;
return this;
}
@CustomType.Setter
public Builder zones(@Nullable List zones) {
this.zones = zones;
return this;
}
public Builder zones(String... zones) {
return zones(List.of(zones));
}
public GetVirtualMachineScaleSetResult build() {
final var _resultValue = new GetVirtualMachineScaleSetResult();
_resultValue.additionalCapabilities = additionalCapabilities;
_resultValue.automaticRepairsPolicy = automaticRepairsPolicy;
_resultValue.constrainedMaximumCapacity = constrainedMaximumCapacity;
_resultValue.doNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs;
_resultValue.extendedLocation = extendedLocation;
_resultValue.hostGroup = hostGroup;
_resultValue.id = id;
_resultValue.identity = identity;
_resultValue.location = location;
_resultValue.name = name;
_resultValue.orchestrationMode = orchestrationMode;
_resultValue.overprovision = overprovision;
_resultValue.plan = plan;
_resultValue.platformFaultDomainCount = platformFaultDomainCount;
_resultValue.priorityMixPolicy = priorityMixPolicy;
_resultValue.provisioningState = provisioningState;
_resultValue.proximityPlacementGroup = proximityPlacementGroup;
_resultValue.scaleInPolicy = scaleInPolicy;
_resultValue.singlePlacementGroup = singlePlacementGroup;
_resultValue.sku = sku;
_resultValue.spotRestorePolicy = spotRestorePolicy;
_resultValue.tags = tags;
_resultValue.timeCreated = timeCreated;
_resultValue.type = type;
_resultValue.uniqueId = uniqueId;
_resultValue.upgradePolicy = upgradePolicy;
_resultValue.virtualMachineProfile = virtualMachineProfile;
_resultValue.zoneBalance = zoneBalance;
_resultValue.zones = zones;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy