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

com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs Maven / Gradle / Ivy

Go to download

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

The 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.autoscaling.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs Empty = new PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs();

    /**
     * Metric type. Valid values are `ASGTotalCPUUtilization`, `ASGTotalNetworkIn`, `ASGTotalNetworkOut`, or `ALBTargetGroupRequestCount`.
     * 
     */
    @Import(name="predefinedMetricType", required=true)
    private Output predefinedMetricType;

    /**
     * @return Metric type. Valid values are `ASGTotalCPUUtilization`, `ASGTotalNetworkIn`, `ASGTotalNetworkOut`, or `ALBTargetGroupRequestCount`.
     * 
     */
    public Output predefinedMetricType() {
        return this.predefinedMetricType;
    }

    /**
     * Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to [PredefinedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredefinedMetricSpecification.html) for more information.
     * 
     */
    @Import(name="resourceLabel")
    private @Nullable Output resourceLabel;

    /**
     * @return Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to [PredefinedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredefinedMetricSpecification.html) for more information.
     * 
     */
    public Optional> resourceLabel() {
        return Optional.ofNullable(this.resourceLabel);
    }

    private PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs() {}

    private PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs $) {
        this.predefinedMetricType = $.predefinedMetricType;
        this.resourceLabel = $.resourceLabel;
    }

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

    public static final class Builder {
        private PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs $;

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

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

        /**
         * @param predefinedMetricType Metric type. Valid values are `ASGTotalCPUUtilization`, `ASGTotalNetworkIn`, `ASGTotalNetworkOut`, or `ALBTargetGroupRequestCount`.
         * 
         * @return builder
         * 
         */
        public Builder predefinedMetricType(Output predefinedMetricType) {
            $.predefinedMetricType = predefinedMetricType;
            return this;
        }

        /**
         * @param predefinedMetricType Metric type. Valid values are `ASGTotalCPUUtilization`, `ASGTotalNetworkIn`, `ASGTotalNetworkOut`, or `ALBTargetGroupRequestCount`.
         * 
         * @return builder
         * 
         */
        public Builder predefinedMetricType(String predefinedMetricType) {
            return predefinedMetricType(Output.of(predefinedMetricType));
        }

        /**
         * @param resourceLabel Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to [PredefinedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredefinedMetricSpecification.html) for more information.
         * 
         * @return builder
         * 
         */
        public Builder resourceLabel(@Nullable Output resourceLabel) {
            $.resourceLabel = resourceLabel;
            return this;
        }

        /**
         * @param resourceLabel Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to [PredefinedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredefinedMetricSpecification.html) for more information.
         * 
         * @return builder
         * 
         */
        public Builder resourceLabel(String resourceLabel) {
            return resourceLabel(Output.of(resourceLabel));
        }

        public PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs build() {
            if ($.predefinedMetricType == null) {
                throw new MissingRequiredPropertyException("PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs", "predefinedMetricType");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy