Class TargetTrackingScalingPolicyConfiguration

java.lang.Object
software.amazon.awssdk.services.applicationautoscaling.model.TargetTrackingScalingPolicyConfiguration
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<TargetTrackingScalingPolicyConfiguration.Builder,TargetTrackingScalingPolicyConfiguration>

@Generated("software.amazon.awssdk:codegen") public final class TargetTrackingScalingPolicyConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<TargetTrackingScalingPolicyConfiguration.Builder,TargetTrackingScalingPolicyConfiguration>

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

For more information, see Target tracking scaling policies in the Application Auto Scaling User Guide.

See Also:
  • Method Details

    • targetValue

      public final Double targetValue()

      The target value for the metric. Although this property accepts numbers of type Double, it won't accept values that are either too small or too large. Values must be in the range of -2^360 to 2^360. The value must be a valid number based on the choice of metric. For example, if the metric is CPU utilization, then the target value is a percent value that represents how much of the CPU can be used before scaling out.

      If the scaling policy specifies the ALBRequestCountPerTarget predefined metric, specify the target utilization as the optimal average request count per target during any one-minute interval.

      Returns:
      The target value for the metric. Although this property accepts numbers of type Double, it won't accept values that are either too small or too large. Values must be in the range of -2^360 to 2^360. The value must be a valid number based on the choice of metric. For example, if the metric is CPU utilization, then the target value is a percent value that represents how much of the CPU can be used before scaling out.

      If the scaling policy specifies the ALBRequestCountPerTarget predefined metric, specify the target utilization as the optimal average request count per target during any one-minute interval.

    • predefinedMetricSpecification

      public final PredefinedMetricSpecification predefinedMetricSpecification()

      A predefined metric. You can specify either a predefined metric or a customized metric.

      Returns:
      A predefined metric. You can specify either a predefined metric or a customized metric.
    • customizedMetricSpecification

      public final CustomizedMetricSpecification customizedMetricSpecification()

      A customized metric. You can specify either a predefined metric or a customized metric.

      Returns:
      A customized metric. You can specify either a predefined metric or a customized metric.
    • scaleOutCooldown

      public final Integer scaleOutCooldown()

      The amount of time, in seconds, to wait for a previous scale-out activity to take effect. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

      Returns:
      The amount of time, in seconds, to wait for a previous scale-out activity to take effect. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.
    • scaleInCooldown

      public final Integer scaleInCooldown()

      The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

      Returns:
      The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.
    • disableScaleIn

      public final Boolean disableScaleIn()

      Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable target. Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable target. The default value is false.

      Returns:
      Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable target. Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable target. The default value is false.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<TargetTrackingScalingPolicyConfiguration.Builder,TargetTrackingScalingPolicyConfiguration>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends TargetTrackingScalingPolicyConfiguration.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.