Class PolicyState.Builder

  • Enclosing class:
    PolicyState

    public static final class PolicyState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • adjustmentType

        public PolicyState.Builder adjustmentType​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> adjustmentType)
        Parameters:
        adjustmentType - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
        Returns:
        builder
      • adjustmentType

        public PolicyState.Builder adjustmentType​(java.lang.String adjustmentType)
        Parameters:
        adjustmentType - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
        Returns:
        builder
      • arn

        public PolicyState.Builder arn​(@Nullable
                                       com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN assigned by AWS to the scaling policy.
        Returns:
        builder
      • arn

        public PolicyState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN assigned by AWS to the scaling policy.
        Returns:
        builder
      • autoscalingGroupName

        public PolicyState.Builder autoscalingGroupName​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> autoscalingGroupName)
        Parameters:
        autoscalingGroupName - Name of the autoscaling group.
        Returns:
        builder
      • autoscalingGroupName

        public PolicyState.Builder autoscalingGroupName​(java.lang.String autoscalingGroupName)
        Parameters:
        autoscalingGroupName - Name of the autoscaling group.
        Returns:
        builder
      • cooldown

        public PolicyState.Builder cooldown​(@Nullable
                                            com.pulumi.core.Output<java.lang.Integer> cooldown)
        Parameters:
        cooldown - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
        Returns:
        builder
      • cooldown

        public PolicyState.Builder cooldown​(java.lang.Integer cooldown)
        Parameters:
        cooldown - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
        Returns:
        builder
      • enabled

        public PolicyState.Builder enabled​(@Nullable
                                           com.pulumi.core.Output<java.lang.Boolean> enabled)
        Parameters:
        enabled - Whether the scaling policy is enabled or disabled. Default: `true`. The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
        Returns:
        builder
      • enabled

        public PolicyState.Builder enabled​(java.lang.Boolean enabled)
        Parameters:
        enabled - Whether the scaling policy is enabled or disabled. Default: `true`. The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
        Returns:
        builder
      • estimatedInstanceWarmup

        public PolicyState.Builder estimatedInstanceWarmup​(@Nullable
                                                           com.pulumi.core.Output<java.lang.Integer> estimatedInstanceWarmup)
        Parameters:
        estimatedInstanceWarmup - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
        Returns:
        builder
      • estimatedInstanceWarmup

        public PolicyState.Builder estimatedInstanceWarmup​(java.lang.Integer estimatedInstanceWarmup)
        Parameters:
        estimatedInstanceWarmup - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
        Returns:
        builder
      • metricAggregationType

        public PolicyState.Builder metricAggregationType​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> metricAggregationType)
        Parameters:
        metricAggregationType - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
        Returns:
        builder
      • metricAggregationType

        public PolicyState.Builder metricAggregationType​(java.lang.String metricAggregationType)
        Parameters:
        metricAggregationType - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
        Returns:
        builder
      • minAdjustmentMagnitude

        public PolicyState.Builder minAdjustmentMagnitude​(@Nullable
                                                          com.pulumi.core.Output<java.lang.Integer> minAdjustmentMagnitude)
        Parameters:
        minAdjustmentMagnitude - Minimum value to scale by when `adjustment_type` is set to `PercentChangeInCapacity`. The following arguments are only available to "SimpleScaling" type policies:
        Returns:
        builder
      • minAdjustmentMagnitude

        public PolicyState.Builder minAdjustmentMagnitude​(java.lang.Integer minAdjustmentMagnitude)
        Parameters:
        minAdjustmentMagnitude - Minimum value to scale by when `adjustment_type` is set to `PercentChangeInCapacity`. The following arguments are only available to "SimpleScaling" type policies:
        Returns:
        builder
      • name

        public PolicyState.Builder name​(@Nullable
                                        com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the policy.
        Returns:
        builder
      • name

        public PolicyState.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the policy.
        Returns:
        builder
      • policyType

        public PolicyState.Builder policyType​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> policyType)
        Parameters:
        policyType - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
        Returns:
        builder
      • policyType

        public PolicyState.Builder policyType​(java.lang.String policyType)
        Parameters:
        policyType - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
        Returns:
        builder
      • predictiveScalingConfiguration

        public PolicyState.Builder predictiveScalingConfiguration​(@Nullable
                                                                  com.pulumi.core.Output<PolicyPredictiveScalingConfigurationArgs> predictiveScalingConfiguration)
        Parameters:
        predictiveScalingConfiguration - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
        Returns:
        builder
      • predictiveScalingConfiguration

        public PolicyState.Builder predictiveScalingConfiguration​(PolicyPredictiveScalingConfigurationArgs predictiveScalingConfiguration)
        Parameters:
        predictiveScalingConfiguration - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
        Returns:
        builder
      • scalingAdjustment

        public PolicyState.Builder scalingAdjustment​(@Nullable
                                                     com.pulumi.core.Output<java.lang.Integer> scalingAdjustment)
        Parameters:
        scalingAdjustment - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
        Returns:
        builder
      • scalingAdjustment

        public PolicyState.Builder scalingAdjustment​(java.lang.Integer scalingAdjustment)
        Parameters:
        scalingAdjustment - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
        Returns:
        builder
      • stepAdjustments

        public PolicyState.Builder stepAdjustments​(@Nullable
                                                   com.pulumi.core.Output<java.util.List<PolicyStepAdjustmentArgs>> stepAdjustments)
        Parameters:
        stepAdjustments - Set of adjustments that manage group scaling. These have the following structure: <!--Start PulumiCodeChooser --> <!--End PulumiCodeChooser --> The following fields are available in step adjustments:
        Returns:
        builder
      • stepAdjustments

        public PolicyState.Builder stepAdjustments​(java.util.List<PolicyStepAdjustmentArgs> stepAdjustments)
        Parameters:
        stepAdjustments - Set of adjustments that manage group scaling. These have the following structure: <!--Start PulumiCodeChooser --> <!--End PulumiCodeChooser --> The following fields are available in step adjustments:
        Returns:
        builder
      • stepAdjustments

        public PolicyState.Builder stepAdjustments​(PolicyStepAdjustmentArgs... stepAdjustments)
        Parameters:
        stepAdjustments - Set of adjustments that manage group scaling. These have the following structure: <!--Start PulumiCodeChooser --> <!--End PulumiCodeChooser --> The following fields are available in step adjustments:
        Returns:
        builder
      • targetTrackingConfiguration

        public PolicyState.Builder targetTrackingConfiguration​(@Nullable
                                                               com.pulumi.core.Output<PolicyTargetTrackingConfigurationArgs> targetTrackingConfiguration)
        Parameters:
        targetTrackingConfiguration - Target tracking policy. These have the following structure: <!--Start PulumiCodeChooser -->
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.autoscaling.Policy;
         import com.pulumi.aws.autoscaling.PolicyArgs;
         import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;
         import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;
         import java.util.List;
         import java.util.ArrayList;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 var example = new Policy("example", PolicyArgs.builder()
                     .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()
                         .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()
                             .predefinedMetricType("ASGAverageCPUUtilization")
                             .build())
                         .targetValue(40)
                         .build())
                     .build());
         
             }
         }
         
         
        <!--End PulumiCodeChooser --> The following fields are available in target tracking configuration:
        Returns:
        builder
      • targetTrackingConfiguration

        public PolicyState.Builder targetTrackingConfiguration​(PolicyTargetTrackingConfigurationArgs targetTrackingConfiguration)
        Parameters:
        targetTrackingConfiguration - Target tracking policy. These have the following structure: <!--Start PulumiCodeChooser -->
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.autoscaling.Policy;
         import com.pulumi.aws.autoscaling.PolicyArgs;
         import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;
         import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;
         import java.util.List;
         import java.util.ArrayList;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 var example = new Policy("example", PolicyArgs.builder()
                     .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()
                         .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()
                             .predefinedMetricType("ASGAverageCPUUtilization")
                             .build())
                         .targetValue(40)
                         .build())
                     .build());
         
             }
         }
         
         
        <!--End PulumiCodeChooser --> The following fields are available in target tracking configuration:
        Returns:
        builder