executePolicy method
Executes the specified policy. This can be useful for testing the design of your scaling policy.
May throw ScalingActivityInProgressFault. May throw ResourceContentionFault.
Parameter policyName
:
The name or ARN of the policy.
Parameter autoScalingGroupName
:
The name of the Auto Scaling group.
Parameter breachThreshold
:
The breach threshold for the alarm.
Required if the policy type is StepScaling
and not supported
otherwise.
Parameter honorCooldown
:
Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to
complete before executing the policy.
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.
Parameter metricValue
:
The metric value to compare to BreachThreshold
. This enables
you to execute a policy of type StepScaling
and determine
which step adjustment to use. For example, if the breach threshold is 50
and you want to use a step adjustment with a lower bound of 0 and an upper
bound of 10, you can set the metric value to 59.
If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.
Required if the policy type is StepScaling
and not supported
otherwise.
Implementation
Future<void> executePolicy({
required String policyName,
String? autoScalingGroupName,
double? breachThreshold,
bool? honorCooldown,
double? metricValue,
}) async {
ArgumentError.checkNotNull(policyName, 'policyName');
_s.validateStringLength(
'policyName',
policyName,
1,
1600,
isRequired: true,
);
_s.validateStringLength(
'autoScalingGroupName',
autoScalingGroupName,
1,
255,
);
final $request = <String, dynamic>{};
$request['PolicyName'] = policyName;
autoScalingGroupName?.also((arg) => $request['AutoScalingGroupName'] = arg);
breachThreshold?.also((arg) => $request['BreachThreshold'] = arg);
honorCooldown?.also((arg) => $request['HonorCooldown'] = arg);
metricValue?.also((arg) => $request['MetricValue'] = arg);
await _protocol.send(
$request,
action: 'ExecutePolicy',
version: '2011-01-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['ExecutePolicyType'],
shapes: shapes,
);
}