public static final class TargetTrackingScalingPolicyProps.Builder
extends java.lang.Object
TargetTrackingScalingPolicyProps
Constructor and Description |
---|
Builder() |
public TargetTrackingScalingPolicyProps.Builder scalingTarget(IScalableTarget scalingTarget)
TargetTrackingScalingPolicyProps.getScalingTarget()
scalingTarget
- the value to be set. This parameter is required.this
public TargetTrackingScalingPolicyProps.Builder targetValue(java.lang.Number targetValue)
BasicTargetTrackingScalingPolicyProps.getTargetValue()
targetValue
- The target value for the metric. This parameter is required.this
public TargetTrackingScalingPolicyProps.Builder customMetric(IMetric customMetric)
BasicTargetTrackingScalingPolicyProps.getCustomMetric()
customMetric
- A custom metric for application autoscaling.
The metric must track utilization. Scaling out will happen if the metric is higher than
the target value, scaling in will happen in the metric is lower than the target value.
Exactly one of customMetric or predefinedMetric must be specified.
this
public TargetTrackingScalingPolicyProps.Builder predefinedMetric(PredefinedMetric predefinedMetric)
BasicTargetTrackingScalingPolicyProps.getPredefinedMetric()
predefinedMetric
- A predefined metric for application autoscaling.
The metric must track utilization. Scaling out will happen if the metric is higher than
the target value, scaling in will happen in the metric is lower than the target value.
Exactly one of customMetric or predefinedMetric must be specified.
this
public TargetTrackingScalingPolicyProps.Builder resourceLabel(java.lang.String resourceLabel)
BasicTargetTrackingScalingPolicyProps.getResourceLabel()
resourceLabel
- Identify the resource associated with the metric type.
Only used for predefined metric ALBRequestCountPerTarget.
Example value: app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>
this
public TargetTrackingScalingPolicyProps.Builder disableScaleIn(java.lang.Boolean disableScaleIn)
BaseTargetTrackingProps.getDisableScaleIn()
disableScaleIn
- Indicates whether scale in by the target tracking policy is disabled.
If the value is true, scale in is disabled and the target tracking policy
won't remove capacity from the scalable resource. Otherwise, scale in is
enabled and the target tracking policy can remove capacity from the
scalable resource.this
public TargetTrackingScalingPolicyProps.Builder policyName(java.lang.String policyName)
BaseTargetTrackingProps.getPolicyName()
policyName
- A name for the scaling policy.this
public TargetTrackingScalingPolicyProps.Builder scaleInCooldown(Duration scaleInCooldown)
BaseTargetTrackingProps.getScaleInCooldown()
scaleInCooldown
- Period after a scale in activity completes before another scale in activity can start.this
public TargetTrackingScalingPolicyProps.Builder scaleOutCooldown(Duration scaleOutCooldown)
BaseTargetTrackingProps.getScaleOutCooldown()
scaleOutCooldown
- Period after a scale out activity completes before another scale out activity can start.this
public TargetTrackingScalingPolicyProps build()
TargetTrackingScalingPolicyProps
java.lang.NullPointerException
- if any required attribute was not provided