
com.pulumi.aws.codebuild.outputs.FleetScalingConfiguration 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.codebuild.outputs;
import com.pulumi.aws.codebuild.outputs.FleetScalingConfigurationTargetTrackingScalingConfig;
import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class FleetScalingConfiguration {
private @Nullable Integer desiredCapacity;
/**
* @return Maximum number of instances in the fleet when auto-scaling.
*
*/
private @Nullable Integer maxCapacity;
/**
* @return Scaling type for a compute fleet. Valid value: `TARGET_TRACKING_SCALING`.
*
*/
private @Nullable String scalingType;
/**
* @return Configuration block. Detailed below.
*
*/
private @Nullable List targetTrackingScalingConfigs;
private FleetScalingConfiguration() {}
public Optional desiredCapacity() {
return Optional.ofNullable(this.desiredCapacity);
}
/**
* @return Maximum number of instances in the fleet when auto-scaling.
*
*/
public Optional maxCapacity() {
return Optional.ofNullable(this.maxCapacity);
}
/**
* @return Scaling type for a compute fleet. Valid value: `TARGET_TRACKING_SCALING`.
*
*/
public Optional scalingType() {
return Optional.ofNullable(this.scalingType);
}
/**
* @return Configuration block. Detailed below.
*
*/
public List targetTrackingScalingConfigs() {
return this.targetTrackingScalingConfigs == null ? List.of() : this.targetTrackingScalingConfigs;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FleetScalingConfiguration defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable Integer desiredCapacity;
private @Nullable Integer maxCapacity;
private @Nullable String scalingType;
private @Nullable List targetTrackingScalingConfigs;
public Builder() {}
public Builder(FleetScalingConfiguration defaults) {
Objects.requireNonNull(defaults);
this.desiredCapacity = defaults.desiredCapacity;
this.maxCapacity = defaults.maxCapacity;
this.scalingType = defaults.scalingType;
this.targetTrackingScalingConfigs = defaults.targetTrackingScalingConfigs;
}
@CustomType.Setter
public Builder desiredCapacity(@Nullable Integer desiredCapacity) {
this.desiredCapacity = desiredCapacity;
return this;
}
@CustomType.Setter
public Builder maxCapacity(@Nullable Integer maxCapacity) {
this.maxCapacity = maxCapacity;
return this;
}
@CustomType.Setter
public Builder scalingType(@Nullable String scalingType) {
this.scalingType = scalingType;
return this;
}
@CustomType.Setter
public Builder targetTrackingScalingConfigs(@Nullable List targetTrackingScalingConfigs) {
this.targetTrackingScalingConfigs = targetTrackingScalingConfigs;
return this;
}
public Builder targetTrackingScalingConfigs(FleetScalingConfigurationTargetTrackingScalingConfig... targetTrackingScalingConfigs) {
return targetTrackingScalingConfigs(List.of(targetTrackingScalingConfigs));
}
public FleetScalingConfiguration build() {
final var _resultValue = new FleetScalingConfiguration();
_resultValue.desiredCapacity = desiredCapacity;
_resultValue.maxCapacity = maxCapacity;
_resultValue.scalingType = scalingType;
_resultValue.targetTrackingScalingConfigs = targetTrackingScalingConfigs;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy