Interface PutScalingPolicyRequest.Builder

All Superinterfaces:
AutoScalingRequest.Builder, AwsRequest.Builder, Buildable, CopyableBuilder<PutScalingPolicyRequest.Builder,PutScalingPolicyRequest>, SdkBuilder<PutScalingPolicyRequest.Builder,PutScalingPolicyRequest>, SdkPojo, SdkRequest.Builder
Enclosing class:
PutScalingPolicyRequest

public static interface PutScalingPolicyRequest.Builder extends AutoScalingRequest.Builder, SdkPojo, CopyableBuilder<PutScalingPolicyRequest.Builder,PutScalingPolicyRequest>
  • Method Details

    • autoScalingGroupName

      PutScalingPolicyRequest.Builder autoScalingGroupName(String autoScalingGroupName)

      The name of the Auto Scaling group.

      Parameters:
      autoScalingGroupName - The name of the Auto Scaling group.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • policyName

      PutScalingPolicyRequest.Builder policyName(String policyName)

      The name of the policy.

      Parameters:
      policyName - The name of the policy.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • policyType

      PutScalingPolicyRequest.Builder policyType(String policyType)

      One of the following policy types:

      • TargetTrackingScaling

      • StepScaling

      • SimpleScaling (default)

      • PredictiveScaling

      Parameters:
      policyType - One of the following policy types:

      • TargetTrackingScaling

      • StepScaling

      • SimpleScaling (default)

      • PredictiveScaling

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • adjustmentType

      PutScalingPolicyRequest.Builder adjustmentType(String adjustmentType)

      Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

      Required if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.

      Parameters:
      adjustmentType - Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

      Required if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • minAdjustmentStep

      PutScalingPolicyRequest.Builder minAdjustmentStep(Integer minAdjustmentStep)

      Available for backward compatibility. Use MinAdjustmentMagnitude instead.

      Parameters:
      minAdjustmentStep - Available for backward compatibility. Use MinAdjustmentMagnitude instead.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • minAdjustmentMagnitude

      PutScalingPolicyRequest.Builder minAdjustmentMagnitude(Integer minAdjustmentMagnitude)

      The minimum value to scale by when the adjustment type is PercentChangeInCapacity. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.

      Valid only if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.

      Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude to a value that is at least as large as your largest instance weight.

      Parameters:
      minAdjustmentMagnitude - The minimum value to scale by when the adjustment type is PercentChangeInCapacity. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.

      Valid only if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.

      Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude to a value that is at least as large as your largest instance weight.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • scalingAdjustment

      PutScalingPolicyRequest.Builder scalingAdjustment(Integer scalingAdjustment)

      The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.

      Required if the policy type is SimpleScaling. (Not used with any other policy type.)

      Parameters:
      scalingAdjustment - The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.

      Required if the policy type is SimpleScaling. (Not used with any other policy type.)

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • cooldown

      A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

      Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

      Default: None

      Parameters:
      cooldown - A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

      Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

      Default: None

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • metricAggregationType

      PutScalingPolicyRequest.Builder metricAggregationType(String metricAggregationType)

      The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

      Valid only if the policy type is StepScaling.

      Parameters:
      metricAggregationType - The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

      Valid only if the policy type is StepScaling.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • stepAdjustments

      PutScalingPolicyRequest.Builder stepAdjustments(Collection<StepAdjustment> stepAdjustments)

      A set of adjustments that enable you to scale based on the size of the alarm breach.

      Required if the policy type is StepScaling. (Not used with any other policy type.)

      Parameters:
      stepAdjustments - A set of adjustments that enable you to scale based on the size of the alarm breach.

      Required if the policy type is StepScaling. (Not used with any other policy type.)

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • stepAdjustments

      PutScalingPolicyRequest.Builder stepAdjustments(StepAdjustment... stepAdjustments)

      A set of adjustments that enable you to scale based on the size of the alarm breach.

      Required if the policy type is StepScaling. (Not used with any other policy type.)

      Parameters:
      stepAdjustments - A set of adjustments that enable you to scale based on the size of the alarm breach.

      Required if the policy type is StepScaling. (Not used with any other policy type.)

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • stepAdjustments

      PutScalingPolicyRequest.Builder stepAdjustments(Consumer<StepAdjustment.Builder>... stepAdjustments)

      A set of adjustments that enable you to scale based on the size of the alarm breach.

      Required if the policy type is StepScaling. (Not used with any other policy type.)

      This is a convenience method that creates an instance of the StepAdjustment.Builder avoiding the need to create one manually via StepAdjustment.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to stepAdjustments(List<StepAdjustment>).

      Parameters:
      stepAdjustments - a consumer that will call methods on StepAdjustment.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • estimatedInstanceWarmup

      PutScalingPolicyRequest.Builder estimatedInstanceWarmup(Integer estimatedInstanceWarmup)

      Not needed if the default instance warmup is defined for the group.

      The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This warm-up period applies to instances launched due to a specific target tracking or step scaling policy. When a warm-up period is specified here, it overrides the default instance warmup.

      Valid only if the policy type is TargetTrackingScaling or StepScaling.

      The default is to use the value for the default instance warmup defined for the group. If default instance warmup is null, then EstimatedInstanceWarmup falls back to the value of default cooldown.

      Parameters:
      estimatedInstanceWarmup - Not needed if the default instance warmup is defined for the group.

      The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This warm-up period applies to instances launched due to a specific target tracking or step scaling policy. When a warm-up period is specified here, it overrides the default instance warmup.

      Valid only if the policy type is TargetTrackingScaling or StepScaling.

      The default is to use the value for the default instance warmup defined for the group. If default instance warmup is null, then EstimatedInstanceWarmup falls back to the value of default cooldown.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • targetTrackingConfiguration

      PutScalingPolicyRequest.Builder targetTrackingConfiguration(TargetTrackingConfiguration targetTrackingConfiguration)

      A target tracking scaling policy. Provides support for predefined or custom metrics.

      The following predefined metrics are available:

      • ASGAverageCPUUtilization

      • ASGAverageNetworkIn

      • ASGAverageNetworkOut

      • ALBRequestCountPerTarget

      If you specify ALBRequestCountPerTarget for the metric, you must specify the ResourceLabel property with the PredefinedMetricSpecification.

      For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is TargetTrackingScaling.

      Parameters:
      targetTrackingConfiguration - A target tracking scaling policy. Provides support for predefined or custom metrics.

      The following predefined metrics are available:

      • ASGAverageCPUUtilization

      • ASGAverageNetworkIn

      • ASGAverageNetworkOut

      • ALBRequestCountPerTarget

      If you specify ALBRequestCountPerTarget for the metric, you must specify the ResourceLabel property with the PredefinedMetricSpecification.

      For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is TargetTrackingScaling.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • targetTrackingConfiguration

      default PutScalingPolicyRequest.Builder targetTrackingConfiguration(Consumer<TargetTrackingConfiguration.Builder> targetTrackingConfiguration)

      A target tracking scaling policy. Provides support for predefined or custom metrics.

      The following predefined metrics are available:

      • ASGAverageCPUUtilization

      • ASGAverageNetworkIn

      • ASGAverageNetworkOut

      • ALBRequestCountPerTarget

      If you specify ALBRequestCountPerTarget for the metric, you must specify the ResourceLabel property with the PredefinedMetricSpecification.

      For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is TargetTrackingScaling.

      This is a convenience method that creates an instance of the TargetTrackingConfiguration.Builder avoiding the need to create one manually via TargetTrackingConfiguration.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to targetTrackingConfiguration(TargetTrackingConfiguration).

      Parameters:
      targetTrackingConfiguration - a consumer that will call methods on TargetTrackingConfiguration.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • enabled

      Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

      Parameters:
      enabled - Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • predictiveScalingConfiguration

      PutScalingPolicyRequest.Builder predictiveScalingConfiguration(PredictiveScalingConfiguration predictiveScalingConfiguration)

      A predictive scaling policy. Provides support for predefined and custom metrics.

      Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.

      For more information, see PredictiveScalingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is PredictiveScaling.

      Parameters:
      predictiveScalingConfiguration - A predictive scaling policy. Provides support for predefined and custom metrics.

      Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.

      For more information, see PredictiveScalingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is PredictiveScaling.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • predictiveScalingConfiguration

      default PutScalingPolicyRequest.Builder predictiveScalingConfiguration(Consumer<PredictiveScalingConfiguration.Builder> predictiveScalingConfiguration)

      A predictive scaling policy. Provides support for predefined and custom metrics.

      Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.

      For more information, see PredictiveScalingConfiguration in the Amazon EC2 Auto Scaling API Reference.

      Required if the policy type is PredictiveScaling.

      This is a convenience method that creates an instance of the PredictiveScalingConfiguration.Builder avoiding the need to create one manually via PredictiveScalingConfiguration.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to predictiveScalingConfiguration(PredictiveScalingConfiguration).

      Parameters:
      predictiveScalingConfiguration - a consumer that will call methods on PredictiveScalingConfiguration.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • overrideConfiguration

      PutScalingPolicyRequest.Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration)
      Description copied from interface: AwsRequest.Builder
      Add an optional request override configuration.
      Specified by:
      overrideConfiguration in interface AwsRequest.Builder
      Parameters:
      overrideConfiguration - The override configuration.
      Returns:
      This object for method chaining.
    • overrideConfiguration

      Description copied from interface: AwsRequest.Builder
      Add an optional request override configuration.
      Specified by:
      overrideConfiguration in interface AwsRequest.Builder
      Parameters:
      builderConsumer - A Consumer to which an empty AwsRequestOverrideConfiguration.Builder will be given.
      Returns:
      This object for method chaining.