All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.autoscalingplans.inputs.ScalingPlanScalingInstructionArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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.autoscalingplans.inputs;

import com.pulumi.aws.autoscalingplans.inputs.ScalingPlanScalingInstructionCustomizedLoadMetricSpecificationArgs;
import com.pulumi.aws.autoscalingplans.inputs.ScalingPlanScalingInstructionPredefinedLoadMetricSpecificationArgs;
import com.pulumi.aws.autoscalingplans.inputs.ScalingPlanScalingInstructionTargetTrackingConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ScalingPlanScalingInstructionArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScalingPlanScalingInstructionArgs Empty = new ScalingPlanScalingInstructionArgs();

    /**
     * Customized load metric to use for predictive scaling. You must specify either `customized_load_metric_specification` or `predefined_load_metric_specification` when configuring predictive scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_CustomizedLoadMetricSpecification.html).
     * 
     */
    @Import(name="customizedLoadMetricSpecification")
    private @Nullable Output customizedLoadMetricSpecification;

    /**
     * @return Customized load metric to use for predictive scaling. You must specify either `customized_load_metric_specification` or `predefined_load_metric_specification` when configuring predictive scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_CustomizedLoadMetricSpecification.html).
     * 
     */
    public Optional> customizedLoadMetricSpecification() {
        return Optional.ofNullable(this.customizedLoadMetricSpecification);
    }

    /**
     * Boolean controlling whether dynamic scaling by AWS Auto Scaling is disabled. Defaults to `false`.
     * 
     */
    @Import(name="disableDynamicScaling")
    private @Nullable Output disableDynamicScaling;

    /**
     * @return Boolean controlling whether dynamic scaling by AWS Auto Scaling is disabled. Defaults to `false`.
     * 
     */
    public Optional> disableDynamicScaling() {
        return Optional.ofNullable(this.disableDynamicScaling);
    }

    /**
     * Maximum capacity of the resource. The exception to this upper limit is if you specify a non-default setting for `predictive_scaling_max_capacity_behavior`.
     * 
     */
    @Import(name="maxCapacity", required=true)
    private Output maxCapacity;

    /**
     * @return Maximum capacity of the resource. The exception to this upper limit is if you specify a non-default setting for `predictive_scaling_max_capacity_behavior`.
     * 
     */
    public Output maxCapacity() {
        return this.maxCapacity;
    }

    /**
     * Minimum capacity of the resource.
     * 
     */
    @Import(name="minCapacity", required=true)
    private Output minCapacity;

    /**
     * @return Minimum capacity of the resource.
     * 
     */
    public Output minCapacity() {
        return this.minCapacity;
    }

    /**
     * Predefined load metric to use for predictive scaling. You must specify either `predefined_load_metric_specification` or `customized_load_metric_specification` when configuring predictive scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedLoadMetricSpecification.html).
     * 
     */
    @Import(name="predefinedLoadMetricSpecification")
    private @Nullable Output predefinedLoadMetricSpecification;

    /**
     * @return Predefined load metric to use for predictive scaling. You must specify either `predefined_load_metric_specification` or `customized_load_metric_specification` when configuring predictive scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedLoadMetricSpecification.html).
     * 
     */
    public Optional> predefinedLoadMetricSpecification() {
        return Optional.ofNullable(this.predefinedLoadMetricSpecification);
    }

    /**
     * Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity specified for the resource.
     * Valid values: `SetForecastCapacityToMaxCapacity`, `SetMaxCapacityAboveForecastCapacity`, `SetMaxCapacityToForecastCapacity`.
     * 
     */
    @Import(name="predictiveScalingMaxCapacityBehavior")
    private @Nullable Output predictiveScalingMaxCapacityBehavior;

    /**
     * @return Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity specified for the resource.
     * Valid values: `SetForecastCapacityToMaxCapacity`, `SetMaxCapacityAboveForecastCapacity`, `SetMaxCapacityToForecastCapacity`.
     * 
     */
    public Optional> predictiveScalingMaxCapacityBehavior() {
        return Optional.ofNullable(this.predictiveScalingMaxCapacityBehavior);
    }

    /**
     * Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity.
     * 
     */
    @Import(name="predictiveScalingMaxCapacityBuffer")
    private @Nullable Output predictiveScalingMaxCapacityBuffer;

    /**
     * @return Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity.
     * 
     */
    public Optional> predictiveScalingMaxCapacityBuffer() {
        return Optional.ofNullable(this.predictiveScalingMaxCapacityBuffer);
    }

    /**
     * Predictive scaling mode. Valid values: `ForecastAndScale`, `ForecastOnly`.
     * 
     */
    @Import(name="predictiveScalingMode")
    private @Nullable Output predictiveScalingMode;

    /**
     * @return Predictive scaling mode. Valid values: `ForecastAndScale`, `ForecastOnly`.
     * 
     */
    public Optional> predictiveScalingMode() {
        return Optional.ofNullable(this.predictiveScalingMode);
    }

    /**
     * ID of the resource. This string consists of the resource type and unique identifier.
     * 
     */
    @Import(name="resourceId", required=true)
    private Output resourceId;

    /**
     * @return ID of the resource. This string consists of the resource type and unique identifier.
     * 
     */
    public Output resourceId() {
        return this.resourceId;
    }

    /**
     * Scalable dimension associated with the resource. Valid values: `autoscaling:autoScalingGroup:DesiredCapacity`, `dynamodb:index:ReadCapacityUnits`, `dynamodb:index:WriteCapacityUnits`, `dynamodb:table:ReadCapacityUnits`, `dynamodb:table:WriteCapacityUnits`, `ecs:service:DesiredCount`, `ec2:spot-fleet-request:TargetCapacity`, `rds:cluster:ReadReplicaCount`.
     * 
     */
    @Import(name="scalableDimension", required=true)
    private Output scalableDimension;

    /**
     * @return Scalable dimension associated with the resource. Valid values: `autoscaling:autoScalingGroup:DesiredCapacity`, `dynamodb:index:ReadCapacityUnits`, `dynamodb:index:WriteCapacityUnits`, `dynamodb:table:ReadCapacityUnits`, `dynamodb:table:WriteCapacityUnits`, `ecs:service:DesiredCount`, `ec2:spot-fleet-request:TargetCapacity`, `rds:cluster:ReadReplicaCount`.
     * 
     */
    public Output scalableDimension() {
        return this.scalableDimension;
    }

    /**
     * Controls whether a resource's externally created scaling policies are kept or replaced. Valid values: `KeepExternalPolicies`, `ReplaceExternalPolicies`. Defaults to `KeepExternalPolicies`.
     * 
     */
    @Import(name="scalingPolicyUpdateBehavior")
    private @Nullable Output scalingPolicyUpdateBehavior;

    /**
     * @return Controls whether a resource's externally created scaling policies are kept or replaced. Valid values: `KeepExternalPolicies`, `ReplaceExternalPolicies`. Defaults to `KeepExternalPolicies`.
     * 
     */
    public Optional> scalingPolicyUpdateBehavior() {
        return Optional.ofNullable(this.scalingPolicyUpdateBehavior);
    }

    /**
     * Amount of time, in seconds, to buffer the run time of scheduled scaling actions when scaling out.
     * 
     */
    @Import(name="scheduledActionBufferTime")
    private @Nullable Output scheduledActionBufferTime;

    /**
     * @return Amount of time, in seconds, to buffer the run time of scheduled scaling actions when scaling out.
     * 
     */
    public Optional> scheduledActionBufferTime() {
        return Optional.ofNullable(this.scheduledActionBufferTime);
    }

    /**
     * Namespace of the AWS service. Valid values: `autoscaling`, `dynamodb`, `ecs`, `ec2`, `rds`.
     * 
     */
    @Import(name="serviceNamespace", required=true)
    private Output serviceNamespace;

    /**
     * @return Namespace of the AWS service. Valid values: `autoscaling`, `dynamodb`, `ecs`, `ec2`, `rds`.
     * 
     */
    public Output serviceNamespace() {
        return this.serviceNamespace;
    }

    /**
     * Structure that defines new target tracking configurations. Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_TargetTrackingConfiguration.html).
     * 
     */
    @Import(name="targetTrackingConfigurations", required=true)
    private Output> targetTrackingConfigurations;

    /**
     * @return Structure that defines new target tracking configurations. Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.
     * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_TargetTrackingConfiguration.html).
     * 
     */
    public Output> targetTrackingConfigurations() {
        return this.targetTrackingConfigurations;
    }

    private ScalingPlanScalingInstructionArgs() {}

    private ScalingPlanScalingInstructionArgs(ScalingPlanScalingInstructionArgs $) {
        this.customizedLoadMetricSpecification = $.customizedLoadMetricSpecification;
        this.disableDynamicScaling = $.disableDynamicScaling;
        this.maxCapacity = $.maxCapacity;
        this.minCapacity = $.minCapacity;
        this.predefinedLoadMetricSpecification = $.predefinedLoadMetricSpecification;
        this.predictiveScalingMaxCapacityBehavior = $.predictiveScalingMaxCapacityBehavior;
        this.predictiveScalingMaxCapacityBuffer = $.predictiveScalingMaxCapacityBuffer;
        this.predictiveScalingMode = $.predictiveScalingMode;
        this.resourceId = $.resourceId;
        this.scalableDimension = $.scalableDimension;
        this.scalingPolicyUpdateBehavior = $.scalingPolicyUpdateBehavior;
        this.scheduledActionBufferTime = $.scheduledActionBufferTime;
        this.serviceNamespace = $.serviceNamespace;
        this.targetTrackingConfigurations = $.targetTrackingConfigurations;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ScalingPlanScalingInstructionArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ScalingPlanScalingInstructionArgs $;

        public Builder() {
            $ = new ScalingPlanScalingInstructionArgs();
        }

        public Builder(ScalingPlanScalingInstructionArgs defaults) {
            $ = new ScalingPlanScalingInstructionArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param customizedLoadMetricSpecification Customized load metric to use for predictive scaling. You must specify either `customized_load_metric_specification` or `predefined_load_metric_specification` when configuring predictive scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_CustomizedLoadMetricSpecification.html).
         * 
         * @return builder
         * 
         */
        public Builder customizedLoadMetricSpecification(@Nullable Output customizedLoadMetricSpecification) {
            $.customizedLoadMetricSpecification = customizedLoadMetricSpecification;
            return this;
        }

        /**
         * @param customizedLoadMetricSpecification Customized load metric to use for predictive scaling. You must specify either `customized_load_metric_specification` or `predefined_load_metric_specification` when configuring predictive scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_CustomizedLoadMetricSpecification.html).
         * 
         * @return builder
         * 
         */
        public Builder customizedLoadMetricSpecification(ScalingPlanScalingInstructionCustomizedLoadMetricSpecificationArgs customizedLoadMetricSpecification) {
            return customizedLoadMetricSpecification(Output.of(customizedLoadMetricSpecification));
        }

        /**
         * @param disableDynamicScaling Boolean controlling whether dynamic scaling by AWS Auto Scaling is disabled. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disableDynamicScaling(@Nullable Output disableDynamicScaling) {
            $.disableDynamicScaling = disableDynamicScaling;
            return this;
        }

        /**
         * @param disableDynamicScaling Boolean controlling whether dynamic scaling by AWS Auto Scaling is disabled. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disableDynamicScaling(Boolean disableDynamicScaling) {
            return disableDynamicScaling(Output.of(disableDynamicScaling));
        }

        /**
         * @param maxCapacity Maximum capacity of the resource. The exception to this upper limit is if you specify a non-default setting for `predictive_scaling_max_capacity_behavior`.
         * 
         * @return builder
         * 
         */
        public Builder maxCapacity(Output maxCapacity) {
            $.maxCapacity = maxCapacity;
            return this;
        }

        /**
         * @param maxCapacity Maximum capacity of the resource. The exception to this upper limit is if you specify a non-default setting for `predictive_scaling_max_capacity_behavior`.
         * 
         * @return builder
         * 
         */
        public Builder maxCapacity(Integer maxCapacity) {
            return maxCapacity(Output.of(maxCapacity));
        }

        /**
         * @param minCapacity Minimum capacity of the resource.
         * 
         * @return builder
         * 
         */
        public Builder minCapacity(Output minCapacity) {
            $.minCapacity = minCapacity;
            return this;
        }

        /**
         * @param minCapacity Minimum capacity of the resource.
         * 
         * @return builder
         * 
         */
        public Builder minCapacity(Integer minCapacity) {
            return minCapacity(Output.of(minCapacity));
        }

        /**
         * @param predefinedLoadMetricSpecification Predefined load metric to use for predictive scaling. You must specify either `predefined_load_metric_specification` or `customized_load_metric_specification` when configuring predictive scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedLoadMetricSpecification.html).
         * 
         * @return builder
         * 
         */
        public Builder predefinedLoadMetricSpecification(@Nullable Output predefinedLoadMetricSpecification) {
            $.predefinedLoadMetricSpecification = predefinedLoadMetricSpecification;
            return this;
        }

        /**
         * @param predefinedLoadMetricSpecification Predefined load metric to use for predictive scaling. You must specify either `predefined_load_metric_specification` or `customized_load_metric_specification` when configuring predictive scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedLoadMetricSpecification.html).
         * 
         * @return builder
         * 
         */
        public Builder predefinedLoadMetricSpecification(ScalingPlanScalingInstructionPredefinedLoadMetricSpecificationArgs predefinedLoadMetricSpecification) {
            return predefinedLoadMetricSpecification(Output.of(predefinedLoadMetricSpecification));
        }

        /**
         * @param predictiveScalingMaxCapacityBehavior Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity specified for the resource.
         * Valid values: `SetForecastCapacityToMaxCapacity`, `SetMaxCapacityAboveForecastCapacity`, `SetMaxCapacityToForecastCapacity`.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMaxCapacityBehavior(@Nullable Output predictiveScalingMaxCapacityBehavior) {
            $.predictiveScalingMaxCapacityBehavior = predictiveScalingMaxCapacityBehavior;
            return this;
        }

        /**
         * @param predictiveScalingMaxCapacityBehavior Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity specified for the resource.
         * Valid values: `SetForecastCapacityToMaxCapacity`, `SetMaxCapacityAboveForecastCapacity`, `SetMaxCapacityToForecastCapacity`.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMaxCapacityBehavior(String predictiveScalingMaxCapacityBehavior) {
            return predictiveScalingMaxCapacityBehavior(Output.of(predictiveScalingMaxCapacityBehavior));
        }

        /**
         * @param predictiveScalingMaxCapacityBuffer Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMaxCapacityBuffer(@Nullable Output predictiveScalingMaxCapacityBuffer) {
            $.predictiveScalingMaxCapacityBuffer = predictiveScalingMaxCapacityBuffer;
            return this;
        }

        /**
         * @param predictiveScalingMaxCapacityBuffer Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMaxCapacityBuffer(Integer predictiveScalingMaxCapacityBuffer) {
            return predictiveScalingMaxCapacityBuffer(Output.of(predictiveScalingMaxCapacityBuffer));
        }

        /**
         * @param predictiveScalingMode Predictive scaling mode. Valid values: `ForecastAndScale`, `ForecastOnly`.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMode(@Nullable Output predictiveScalingMode) {
            $.predictiveScalingMode = predictiveScalingMode;
            return this;
        }

        /**
         * @param predictiveScalingMode Predictive scaling mode. Valid values: `ForecastAndScale`, `ForecastOnly`.
         * 
         * @return builder
         * 
         */
        public Builder predictiveScalingMode(String predictiveScalingMode) {
            return predictiveScalingMode(Output.of(predictiveScalingMode));
        }

        /**
         * @param resourceId ID of the resource. This string consists of the resource type and unique identifier.
         * 
         * @return builder
         * 
         */
        public Builder resourceId(Output resourceId) {
            $.resourceId = resourceId;
            return this;
        }

        /**
         * @param resourceId ID of the resource. This string consists of the resource type and unique identifier.
         * 
         * @return builder
         * 
         */
        public Builder resourceId(String resourceId) {
            return resourceId(Output.of(resourceId));
        }

        /**
         * @param scalableDimension Scalable dimension associated with the resource. Valid values: `autoscaling:autoScalingGroup:DesiredCapacity`, `dynamodb:index:ReadCapacityUnits`, `dynamodb:index:WriteCapacityUnits`, `dynamodb:table:ReadCapacityUnits`, `dynamodb:table:WriteCapacityUnits`, `ecs:service:DesiredCount`, `ec2:spot-fleet-request:TargetCapacity`, `rds:cluster:ReadReplicaCount`.
         * 
         * @return builder
         * 
         */
        public Builder scalableDimension(Output scalableDimension) {
            $.scalableDimension = scalableDimension;
            return this;
        }

        /**
         * @param scalableDimension Scalable dimension associated with the resource. Valid values: `autoscaling:autoScalingGroup:DesiredCapacity`, `dynamodb:index:ReadCapacityUnits`, `dynamodb:index:WriteCapacityUnits`, `dynamodb:table:ReadCapacityUnits`, `dynamodb:table:WriteCapacityUnits`, `ecs:service:DesiredCount`, `ec2:spot-fleet-request:TargetCapacity`, `rds:cluster:ReadReplicaCount`.
         * 
         * @return builder
         * 
         */
        public Builder scalableDimension(String scalableDimension) {
            return scalableDimension(Output.of(scalableDimension));
        }

        /**
         * @param scalingPolicyUpdateBehavior Controls whether a resource's externally created scaling policies are kept or replaced. Valid values: `KeepExternalPolicies`, `ReplaceExternalPolicies`. Defaults to `KeepExternalPolicies`.
         * 
         * @return builder
         * 
         */
        public Builder scalingPolicyUpdateBehavior(@Nullable Output scalingPolicyUpdateBehavior) {
            $.scalingPolicyUpdateBehavior = scalingPolicyUpdateBehavior;
            return this;
        }

        /**
         * @param scalingPolicyUpdateBehavior Controls whether a resource's externally created scaling policies are kept or replaced. Valid values: `KeepExternalPolicies`, `ReplaceExternalPolicies`. Defaults to `KeepExternalPolicies`.
         * 
         * @return builder
         * 
         */
        public Builder scalingPolicyUpdateBehavior(String scalingPolicyUpdateBehavior) {
            return scalingPolicyUpdateBehavior(Output.of(scalingPolicyUpdateBehavior));
        }

        /**
         * @param scheduledActionBufferTime Amount of time, in seconds, to buffer the run time of scheduled scaling actions when scaling out.
         * 
         * @return builder
         * 
         */
        public Builder scheduledActionBufferTime(@Nullable Output scheduledActionBufferTime) {
            $.scheduledActionBufferTime = scheduledActionBufferTime;
            return this;
        }

        /**
         * @param scheduledActionBufferTime Amount of time, in seconds, to buffer the run time of scheduled scaling actions when scaling out.
         * 
         * @return builder
         * 
         */
        public Builder scheduledActionBufferTime(Integer scheduledActionBufferTime) {
            return scheduledActionBufferTime(Output.of(scheduledActionBufferTime));
        }

        /**
         * @param serviceNamespace Namespace of the AWS service. Valid values: `autoscaling`, `dynamodb`, `ecs`, `ec2`, `rds`.
         * 
         * @return builder
         * 
         */
        public Builder serviceNamespace(Output serviceNamespace) {
            $.serviceNamespace = serviceNamespace;
            return this;
        }

        /**
         * @param serviceNamespace Namespace of the AWS service. Valid values: `autoscaling`, `dynamodb`, `ecs`, `ec2`, `rds`.
         * 
         * @return builder
         * 
         */
        public Builder serviceNamespace(String serviceNamespace) {
            return serviceNamespace(Output.of(serviceNamespace));
        }

        /**
         * @param targetTrackingConfigurations Structure that defines new target tracking configurations. Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_TargetTrackingConfiguration.html).
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingConfigurations(Output> targetTrackingConfigurations) {
            $.targetTrackingConfigurations = targetTrackingConfigurations;
            return this;
        }

        /**
         * @param targetTrackingConfigurations Structure that defines new target tracking configurations. Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_TargetTrackingConfiguration.html).
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingConfigurations(List targetTrackingConfigurations) {
            return targetTrackingConfigurations(Output.of(targetTrackingConfigurations));
        }

        /**
         * @param targetTrackingConfigurations Structure that defines new target tracking configurations. Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.
         * More details can be found in the [AWS Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_TargetTrackingConfiguration.html).
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingConfigurations(ScalingPlanScalingInstructionTargetTrackingConfigurationArgs... targetTrackingConfigurations) {
            return targetTrackingConfigurations(List.of(targetTrackingConfigurations));
        }

        public ScalingPlanScalingInstructionArgs build() {
            if ($.maxCapacity == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "maxCapacity");
            }
            if ($.minCapacity == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "minCapacity");
            }
            if ($.resourceId == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "resourceId");
            }
            if ($.scalableDimension == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "scalableDimension");
            }
            if ($.serviceNamespace == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "serviceNamespace");
            }
            if ($.targetTrackingConfigurations == null) {
                throw new MissingRequiredPropertyException("ScalingPlanScalingInstructionArgs", "targetTrackingConfigurations");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy