community / community.aws / 1.1.0 / module / aws_application_scaling_policy Manage Application Auto Scaling Scaling Policies | "added in version" 1.0.0 of community.aws" Authors: Gustavo Maia (@gurumaia), Chen Leibovich (@chenl87)community.aws.aws_application_scaling_policy (1.1.0) — module
Install with ansible-galaxy collection install community.aws:==1.1.0
collections: - name: community.aws version: 1.1.0
Creates, updates or removes a Scaling Policy
# Note: These examples do not set authentication details, see the AWS Guide for details. # Create step scaling policy for ECS Service - name: scaling_policy community.aws.aws_application_scaling_policy: state: present policy_name: test_policy service_namespace: ecs resource_id: service/poc-pricing/test-as scalable_dimension: ecs:service:DesiredCount policy_type: StepScaling minimum_tasks: 1 maximum_tasks: 6 step_scaling_policy_configuration: AdjustmentType: ChangeInCapacity StepAdjustments: - MetricIntervalUpperBound: 123 ScalingAdjustment: 2 - MetricIntervalLowerBound: 123 ScalingAdjustment: -2 Cooldown: 123 MetricAggregationType: Average
# Create target tracking scaling policy for ECS Service - name: scaling_policy community.aws.aws_application_scaling_policy: state: present policy_name: test_policy service_namespace: ecs resource_id: service/poc-pricing/test-as scalable_dimension: ecs:service:DesiredCount policy_type: TargetTrackingScaling minimum_tasks: 1 maximum_tasks: 6 target_tracking_scaling_policy_configuration: TargetValue: 60 PredefinedMetricSpecification: PredefinedMetricType: ECSServiceAverageCPUUtilization ScaleOutCooldown: 60 ScaleInCooldown: 60
# Remove scalable target for ECS Service - name: scaling_policy community.aws.aws_application_scaling_policy: state: absent policy_name: test_policy policy_type: StepScaling service_namespace: ecs resource_id: service/cluster-name/service-name scalable_dimension: ecs:service:DesiredCount
state: choices: - absent - present description: Whether a policy should be present or absent required: true type: str region: aliases: - aws_region - ec2_region description: - The AWS region to use. - For global services such as IAM, Route53 and CloudFront, I(region) is ignored. - The C(AWS_REGION) or C(EC2_REGION) environment variables may also be used. - See the Amazon AWS documentation for more information U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). - The C(ec2_region) alias has been deprecated and will be removed in a release after 2024-12-01 - Support for the C(EC2_REGION) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str profile: aliases: - aws_profile description: - A named AWS profile to use for authentication. - See the AWS documentation for more information about named profiles U(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html). - The C(AWS_PROFILE) environment variable may also be used. - The I(profile) option is mutually exclusive with the I(aws_access_key), I(aws_secret_key) and I(security_token) options. type: str access_key: aliases: - aws_access_key_id - aws_access_key - ec2_access_key description: - AWS access key ID. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variables may also be used in decreasing order of preference. - The I(aws_access_key) and I(profile) options are mutually exclusive. - The I(aws_access_key_id) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_access_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_ACCESS_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found in the AWS documentation U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). type: dict secret_key: aliases: - aws_secret_access_key - aws_secret_key - ec2_secret_key description: - AWS secret access key. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variables may also be used in decreasing order of preference. - The I(secret_key) and I(profile) options are mutually exclusive. - The I(aws_secret_access_key) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_secret_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str policy_name: description: The name of the scaling policy. required: true type: str policy_type: choices: - StepScaling - TargetTrackingScaling description: The policy type. required: true type: str resource_id: description: The identifier of the resource associated with the scalable target. required: true type: str endpoint_url: aliases: - ec2_url - aws_endpoint_url - s3_url description: - URL to connect to instead of the default AWS endpoints. While this can be used to connection to other AWS-compatible services the amazon.aws and community.aws collections are only tested against AWS. - The C(AWS_URL) or C(EC2_URL) environment variables may also be used, in decreasing order of preference. - The I(ec2_url) and I(s3_url) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_URL) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_ca_bundle: description: - The location of a CA Bundle to use when validating SSL certificates. - The C(AWS_CA_BUNDLE) environment variable may also be used. type: path maximum_tasks: description: The maximum value to scale to in response to a scale out event. This parameter is required if you are creating a first new policy for the specified service. required: false type: int minimum_tasks: description: The minimum value to scale to in response to a scale in event. This parameter is required if you are creating a first new policy for the specified service. required: false type: int session_token: aliases: - aws_session_token - security_token - aws_security_token - access_token description: - AWS STS session token for use with temporary credentials. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SESSION_TOKEN), C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variables may also be used in decreasing order of preference. - The I(security_token) and I(profile) options are mutually exclusive. - Aliases I(aws_session_token) and I(session_token) were added in release 3.2.0, with the parameter being renamed from I(security_token) to I(session_token) in release 6.0.0. - The I(security_token), I(aws_security_token), and I(access_token) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) and C(AWS_SECURITY_TOKEN) environment variables has been deprecated and will be removed in a release after 2024-12-01. type: str validate_certs: default: true description: - When set to C(false), SSL certificates will not be validated for communication with the AWS APIs. - Setting I(validate_certs=false) is strongly discouraged, as an alternative, consider setting I(aws_ca_bundle) instead. type: bool service_namespace: choices: - ecs - elasticmapreduce - ec2 - appstream - dynamodb description: The namespace of the AWS service. required: true type: str scalable_dimension: choices: - ecs:service:DesiredCount - ec2:spot-fleet-request:TargetCapacity - elasticmapreduce:instancegroup:InstanceCount - appstream:fleet:DesiredCapacity - dynamodb:table:ReadCapacityUnits - dynamodb:table:WriteCapacityUnits - dynamodb:index:ReadCapacityUnits - dynamodb:index:WriteCapacityUnits description: The scalable dimension associated with the scalable target. required: true type: str override_task_capacity: default: false description: Whether or not to override values of minimum and/or maximum tasks if it's already set. required: false type: bool debug_botocore_endpoint_logs: default: false description: - Use a C(botocore.endpoint) logger to parse the unique (rather than total) C("resource:action") API calls made during a task, outputing the set to the resource_actions key in the task results. Use the C(aws_resource_action) callback to output to total list made during a playbook. - The C(ANSIBLE_DEBUG_BOTOCORE_LOGS) environment variable may also be used. type: bool step_scaling_policy_configuration: description: A step scaling policy. This parameter is required if you are creating a policy and the policy type is StepScaling. required: false type: dict target_tracking_scaling_policy_configuration: description: - A target tracking policy. This parameter is required if you are creating a new policy and the policy type is TargetTrackingScaling. - 'Full documentation of the suboptions can be found in the API documentation:' - U(https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) required: false suboptions: CustomizedMetricSpecification: description: The metric to use if using a customized metric. type: dict DisableScaleIn: description: Whether scaling-in should be disabled. type: bool PredefinedMetricSpecification: description: The metric to use if using a predefined metric. type: dict ScaleInCooldown: description: The time (in seconds) to wait after scaling-in before another scaling action can occur. type: int ScaleOutCooldown: description: The time (in seconds) to wait after scaling-out before another scaling action can occur. type: int TargetValue: description: The target value for the metric type: float type: dict
alarms: contains: alarm_arn: description: The Amazon Resource Name (ARN) of the alarm returned: when state present type: str alarm_name: description: The name of the alarm returned: when state present type: str description: List of the CloudWatch alarms associated with the scaling policy returned: when state present type: complex creation_time: description: The Unix timestamp for when the scalable target was created. returned: when state present sample: '2017-09-28T08:22:51.881000-03:00' type: str max_capacity: description: The maximum value to scale to in response to a scale out event. Required if I(state) is C(present). returned: when state present sample: 2 type: int min_capacity: description: The minimum value to scale to in response to a scale in event. Required if I(state) is C(present). returned: when state present sample: 1 type: int policy_arn: description: The Amazon Resource Name (ARN) of the scaling policy.. returned: when state present type: str policy_name: description: The name of the scaling policy. returned: when state present type: str policy_type: description: The policy type. returned: when state present type: str resource_id: description: The identifier of the resource associated with the scalable target. returned: when state present sample: service/cluster-name/service-name type: str role_arn: description: The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. Required if I(state) is C(present). returned: when state present sample: arn:aws:iam::123456789123:role/roleName type: str scalable_dimension: description: The scalable dimension associated with the scalable target. returned: when state present sample: ecs:service:DesiredCount type: str service_namespace: description: The namespace of the AWS service. returned: when state present sample: ecs type: str step_scaling_policy_configuration: contains: adjustment_type: description: The adjustment type returned: when state present and the policy type is StepScaling sample: ChangeInCapacity, PercentChangeInCapacity, ExactCapacity type: str cooldown: description: The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events returned: when state present and the policy type is StepScaling sample: 60 type: int metric_aggregation_type: description: The aggregation type for the CloudWatch metrics returned: when state present and the policy type is StepScaling sample: Average, Minimum, Maximum type: str step_adjustments: description: A set of adjustments that enable you to scale based on the size of the alarm breach elements: dict returned: when state present and the policy type is StepScaling type: list description: The step scaling policy. returned: when state present and the policy type is StepScaling type: complex target_tracking_scaling_policy_configuration: contains: predefined_metric_specification: contains: predefined_metric_type: description: The metric type returned: when state present and the policy type is TargetTrackingScaling sample: ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization type: str resource_label: description: Identifies the resource associated with the metric type returned: when metric type is ALBRequestCountPerTarget type: str description: A predefined metric returned: when state present and the policy type is TargetTrackingScaling type: complex scale_in_cooldown: description: The amount of time, in seconds, after a scale in activity completes before another scale in activity can start returned: when state present and the policy type is TargetTrackingScaling sample: 60 type: int scale_out_cooldown: description: The amount of time, in seconds, after a scale out activity completes before another scale out activity can start returned: when state present and the policy type is TargetTrackingScaling sample: 60 type: int target_value: description: The target value for the metric returned: when state present and the policy type is TargetTrackingScaling sample: 70 type: int description: The target tracking policy. returned: when state present and the policy type is TargetTrackingScaling type: complex