
com.pulumi.aws.autoscaling.outputs.GetGroupMixedInstancesPolicyInstancesDistribution 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.aws.autoscaling.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
@CustomType
public final class GetGroupMixedInstancesPolicyInstancesDistribution {
/**
* @return Strategy used when launching on-demand instances.
*
*/
private String onDemandAllocationStrategy;
/**
* @return Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances.
*
*/
private Integer onDemandBaseCapacity;
private Integer onDemandPercentageAboveBaseCapacity;
/**
* @return Strategy used when launching Spot instances.
*
*/
private String spotAllocationStrategy;
/**
* @return Number of Spot pools per availability zone to allocate capacity.
*
*/
private Integer spotInstancePools;
/**
* @return Maximum price per unit hour that the user is willing to pay for the Spot instances.
*
*/
private String spotMaxPrice;
private GetGroupMixedInstancesPolicyInstancesDistribution() {}
/**
* @return Strategy used when launching on-demand instances.
*
*/
public String onDemandAllocationStrategy() {
return this.onDemandAllocationStrategy;
}
/**
* @return Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances.
*
*/
public Integer onDemandBaseCapacity() {
return this.onDemandBaseCapacity;
}
public Integer onDemandPercentageAboveBaseCapacity() {
return this.onDemandPercentageAboveBaseCapacity;
}
/**
* @return Strategy used when launching Spot instances.
*
*/
public String spotAllocationStrategy() {
return this.spotAllocationStrategy;
}
/**
* @return Number of Spot pools per availability zone to allocate capacity.
*
*/
public Integer spotInstancePools() {
return this.spotInstancePools;
}
/**
* @return Maximum price per unit hour that the user is willing to pay for the Spot instances.
*
*/
public String spotMaxPrice() {
return this.spotMaxPrice;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetGroupMixedInstancesPolicyInstancesDistribution defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String onDemandAllocationStrategy;
private Integer onDemandBaseCapacity;
private Integer onDemandPercentageAboveBaseCapacity;
private String spotAllocationStrategy;
private Integer spotInstancePools;
private String spotMaxPrice;
public Builder() {}
public Builder(GetGroupMixedInstancesPolicyInstancesDistribution defaults) {
Objects.requireNonNull(defaults);
this.onDemandAllocationStrategy = defaults.onDemandAllocationStrategy;
this.onDemandBaseCapacity = defaults.onDemandBaseCapacity;
this.onDemandPercentageAboveBaseCapacity = defaults.onDemandPercentageAboveBaseCapacity;
this.spotAllocationStrategy = defaults.spotAllocationStrategy;
this.spotInstancePools = defaults.spotInstancePools;
this.spotMaxPrice = defaults.spotMaxPrice;
}
@CustomType.Setter
public Builder onDemandAllocationStrategy(String onDemandAllocationStrategy) {
if (onDemandAllocationStrategy == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "onDemandAllocationStrategy");
}
this.onDemandAllocationStrategy = onDemandAllocationStrategy;
return this;
}
@CustomType.Setter
public Builder onDemandBaseCapacity(Integer onDemandBaseCapacity) {
if (onDemandBaseCapacity == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "onDemandBaseCapacity");
}
this.onDemandBaseCapacity = onDemandBaseCapacity;
return this;
}
@CustomType.Setter
public Builder onDemandPercentageAboveBaseCapacity(Integer onDemandPercentageAboveBaseCapacity) {
if (onDemandPercentageAboveBaseCapacity == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "onDemandPercentageAboveBaseCapacity");
}
this.onDemandPercentageAboveBaseCapacity = onDemandPercentageAboveBaseCapacity;
return this;
}
@CustomType.Setter
public Builder spotAllocationStrategy(String spotAllocationStrategy) {
if (spotAllocationStrategy == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "spotAllocationStrategy");
}
this.spotAllocationStrategy = spotAllocationStrategy;
return this;
}
@CustomType.Setter
public Builder spotInstancePools(Integer spotInstancePools) {
if (spotInstancePools == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "spotInstancePools");
}
this.spotInstancePools = spotInstancePools;
return this;
}
@CustomType.Setter
public Builder spotMaxPrice(String spotMaxPrice) {
if (spotMaxPrice == null) {
throw new MissingRequiredPropertyException("GetGroupMixedInstancesPolicyInstancesDistribution", "spotMaxPrice");
}
this.spotMaxPrice = spotMaxPrice;
return this;
}
public GetGroupMixedInstancesPolicyInstancesDistribution build() {
final var _resultValue = new GetGroupMixedInstancesPolicyInstancesDistribution();
_resultValue.onDemandAllocationStrategy = onDemandAllocationStrategy;
_resultValue.onDemandBaseCapacity = onDemandBaseCapacity;
_resultValue.onDemandPercentageAboveBaseCapacity = onDemandPercentageAboveBaseCapacity;
_resultValue.spotAllocationStrategy = spotAllocationStrategy;
_resultValue.spotInstancePools = spotInstancePools;
_resultValue.spotMaxPrice = spotMaxPrice;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy