Skip to main content

scaling_policies

Creates, updates, deletes or gets a scaling_policy resource or lists scaling_policies in a region

Overview

Namescaling_policies
TypeResource
DescriptionResource Type definition for AWS::ApplicationAutoScaling::ScalingPolicy
Idaws.applicationautoscaling.scaling_policies

Fields

NameDatatypeDescription
policy_namestringThe name of the scaling policy.
Updates to the name of a target tracking scaling policy are not supported, unless you also update the metric used for scaling. To change only a target tracking scaling policy's name, first delete the policy by removing the existing AWS::ApplicationAutoScaling::ScalingPolicy resource from the template and updating the stack. Then, recreate the resource with the same settings and a different name.
policy_typestringThe scaling policy type.
The following policy types are supported:
TargetTrackingScaling Not supported for Amazon EMR
StepScaling Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.
resource_idstringThe identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
scalable_dimensionstringThe scalable dimension. This string consists of the service namespace, resource type, and scaling property.
scaling_target_idstringThe CloudFormation-generated ID of an Application Auto Scaling scalable target. For more information about the ID, see the Return Value section of the AWS::ApplicationAutoScaling::ScalableTarget resource.
service_namespacestringThe namespace of the AWS service that provides the resource, or a custom-resource.
step_scaling_policy_configurationobjectA step scaling policy.
target_tracking_scaling_policy_configurationobjectA target tracking scaling policy.
arnstringARN is a read only property for the resource.
regionstringAWS region.

Methods

NameAccessible byRequired Params
create_resourceINSERTPolicyName, PolicyType, region
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all scaling_policies in a region.

SELECT
region,
policy_name,
policy_type,
resource_id,
scalable_dimension,
scaling_target_id,
service_namespace,
step_scaling_policy_configuration,
target_tracking_scaling_policy_configuration,
arn
FROM aws.applicationautoscaling.scaling_policies
WHERE region = 'us-east-1';

Gets all properties from an individual scaling_policy.

SELECT
region,
policy_name,
policy_type,
resource_id,
scalable_dimension,
scaling_target_id,
service_namespace,
step_scaling_policy_configuration,
target_tracking_scaling_policy_configuration,
arn
FROM aws.applicationautoscaling.scaling_policies
WHERE region = 'us-east-1' AND data__Identifier = '<Arn>|<ScalableDimension>';

INSERT example

Use the following StackQL query and manifest file to create a new scaling_policy resource, using stack-deploy.

/*+ create */
INSERT INTO aws.applicationautoscaling.scaling_policies (
PolicyName,
PolicyType,
region
)
SELECT
'{{ PolicyName }}',
'{{ PolicyType }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.applicationautoscaling.scaling_policies
WHERE data__Identifier = '<Arn|ScalableDimension>'
AND region = 'us-east-1';

Permissions

To operate on the scaling_policies resource, the following permissions are required:

Create

application-autoscaling:DescribeScalingPolicies,
application-autoscaling:PutScalingPolicy

Read

application-autoscaling:DescribeScalingPolicies

Update

application-autoscaling:DescribeScalingPolicies,
application-autoscaling:PutScalingPolicy

Delete

application-autoscaling:DescribeScalingPolicies,
application-autoscaling:DeleteScalingPolicy

List

application-autoscaling:DescribeScalingPolicies