AWS Auto Scaling Plans

2018/01/16 - AWS Auto Scaling Plans - 4 new api methods

Changes  AWS Auto Scaling enables you to quickly discover all of the scalable resources underlying your application and set up application scaling in minutes using built-in scaling recommendations.

DeleteScalingPlan (new) Link ¶

See also: AWS API Documentation

Request Syntax

client.delete_scaling_plan(
    ScalingPlanName='string',
    ScalingPlanVersion=123
)
type ScalingPlanName

string

param ScalingPlanName

[REQUIRED]

type ScalingPlanVersion

integer

param ScalingPlanVersion

[REQUIRED]

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DescribeScalingPlans (new) Link ¶

See also: AWS API Documentation

Request Syntax

client.describe_scaling_plans(
    ScalingPlanNames=[
        'string',
    ],
    ScalingPlanVersion=123,
    ApplicationSources=[
        {
            'CloudFormationStackARN': 'string'
        },
    ],
    MaxResults=123,
    NextToken='string'
)
type ScalingPlanNames

list

param ScalingPlanNames
  • (string) --

type ScalingPlanVersion

integer

param ScalingPlanVersion

type ApplicationSources

list

param ApplicationSources
  • (dict) --

    • CloudFormationStackARN (string) --

type MaxResults

integer

param MaxResults

type NextToken

string

param NextToken

rtype

dict

returns

Response Syntax

{
    'ScalingPlans': [
        {
            'ScalingPlanName': 'string',
            'ScalingPlanVersion': 123,
            'ApplicationSource': {
                'CloudFormationStackARN': 'string'
            },
            'ScalingInstructions': [
                {
                    'ServiceNamespace': 'autoscaling'|'ecs'|'ec2'|'rds'|'dynamodb',
                    'ResourceId': 'string',
                    'ScalableDimension': 'autoscaling:autoScalingGroup:DesiredCapacity'|'ecs:service:DesiredCount'|'ec2:spot-fleet-request:TargetCapacity'|'rds:cluster:ReadReplicaCount'|'dynamodb:table:ReadCapacityUnits'|'dynamodb:table:WriteCapacityUnits'|'dynamodb:index:ReadCapacityUnits'|'dynamodb:index:WriteCapacityUnits',
                    'MinCapacity': 123,
                    'MaxCapacity': 123,
                    'TargetTrackingConfigurations': [
                        {
                            'PredefinedScalingMetricSpecification': {
                                'PredefinedScalingMetricType': 'ASGAverageCPUUtilization'|'ASGAverageNetworkIn'|'ASGAverageNetworkOut'|'DynamoDBReadCapacityUtilization'|'DynamoDBWriteCapacityUtilization'|'ECSServiceAverageCPUUtilization'|'ECSServiceAverageMemoryUtilization'|'ALBRequestCountPerTarget'|'RDSReaderAverageCPUUtilization'|'RDSReaderAverageDatabaseConnections'|'EC2SpotFleetRequestAverageCPUUtilization'|'EC2SpotFleetRequestAverageNetworkIn'|'EC2SpotFleetRequestAverageNetworkOut',
                                'ResourceLabel': 'string'
                            },
                            'CustomizedScalingMetricSpecification': {
                                'MetricName': 'string',
                                'Namespace': 'string',
                                'Dimensions': [
                                    {
                                        'Name': 'string',
                                        'Value': 'string'
                                    },
                                ],
                                'Statistic': 'Average'|'Minimum'|'Maximum'|'SampleCount'|'Sum',
                                'Unit': 'string'
                            },
                            'TargetValue': 123.0,
                            'DisableScaleIn': True|False,
                            'ScaleOutCooldown': 123,
                            'ScaleInCooldown': 123,
                            'EstimatedInstanceWarmup': 123
                        },
                    ]
                },
            ],
            'StatusCode': 'Active'|'ActiveWithProblems'|'CreationInProgress'|'CreationFailed'|'DeletionInProgress'|'DeletionFailed',
            'StatusMessage': 'string',
            'CreationTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ScalingPlans (list) --

      • (dict) --

        • ScalingPlanName (string) --

        • ScalingPlanVersion (integer) --

        • ApplicationSource (dict) --

          • CloudFormationStackARN (string) --

        • ScalingInstructions (list) --

          • (dict) --

            • ServiceNamespace (string) --

            • ResourceId (string) --

            • ScalableDimension (string) --

            • MinCapacity (integer) --

            • MaxCapacity (integer) --

            • TargetTrackingConfigurations (list) --

              • (dict) --

                • PredefinedScalingMetricSpecification (dict) --

                  • PredefinedScalingMetricType (string) --

                  • ResourceLabel (string) --

                • CustomizedScalingMetricSpecification (dict) --

                  • MetricName (string) --

                  • Namespace (string) --

                  • Dimensions (list) --

                    • (dict) --

                      • Name (string) --

                      • Value (string) --

                  • Statistic (string) --

                  • Unit (string) --

                • TargetValue (float) --

                • DisableScaleIn (boolean) --

                • ScaleOutCooldown (integer) --

                • ScaleInCooldown (integer) --

                • EstimatedInstanceWarmup (integer) --

        • StatusCode (string) --

        • StatusMessage (string) --

        • CreationTime (datetime) --

    • NextToken (string) --

DescribeScalingPlanResources (new) Link ¶

See also: AWS API Documentation

Request Syntax

client.describe_scaling_plan_resources(
    ScalingPlanName='string',
    ScalingPlanVersion=123,
    MaxResults=123,
    NextToken='string'
)
type ScalingPlanName

string

param ScalingPlanName

[REQUIRED]

type ScalingPlanVersion

integer

param ScalingPlanVersion

[REQUIRED]

type MaxResults

integer

param MaxResults

type NextToken

string

param NextToken

rtype

dict

returns

Response Syntax

{
    'ScalingPlanResources': [
        {
            'ScalingPlanName': 'string',
            'ScalingPlanVersion': 123,
            'ServiceNamespace': 'autoscaling'|'ecs'|'ec2'|'rds'|'dynamodb',
            'ResourceId': 'string',
            'ScalableDimension': 'autoscaling:autoScalingGroup:DesiredCapacity'|'ecs:service:DesiredCount'|'ec2:spot-fleet-request:TargetCapacity'|'rds:cluster:ReadReplicaCount'|'dynamodb:table:ReadCapacityUnits'|'dynamodb:table:WriteCapacityUnits'|'dynamodb:index:ReadCapacityUnits'|'dynamodb:index:WriteCapacityUnits',
            'ScalingPolicies': [
                {
                    'PolicyName': 'string',
                    'PolicyType': 'TargetTrackingScaling',
                    'TargetTrackingConfiguration': {
                        'PredefinedScalingMetricSpecification': {
                            'PredefinedScalingMetricType': 'ASGAverageCPUUtilization'|'ASGAverageNetworkIn'|'ASGAverageNetworkOut'|'DynamoDBReadCapacityUtilization'|'DynamoDBWriteCapacityUtilization'|'ECSServiceAverageCPUUtilization'|'ECSServiceAverageMemoryUtilization'|'ALBRequestCountPerTarget'|'RDSReaderAverageCPUUtilization'|'RDSReaderAverageDatabaseConnections'|'EC2SpotFleetRequestAverageCPUUtilization'|'EC2SpotFleetRequestAverageNetworkIn'|'EC2SpotFleetRequestAverageNetworkOut',
                            'ResourceLabel': 'string'
                        },
                        'CustomizedScalingMetricSpecification': {
                            'MetricName': 'string',
                            'Namespace': 'string',
                            'Dimensions': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ],
                            'Statistic': 'Average'|'Minimum'|'Maximum'|'SampleCount'|'Sum',
                            'Unit': 'string'
                        },
                        'TargetValue': 123.0,
                        'DisableScaleIn': True|False,
                        'ScaleOutCooldown': 123,
                        'ScaleInCooldown': 123,
                        'EstimatedInstanceWarmup': 123
                    }
                },
            ],
            'ScalingStatusCode': 'Inactive'|'PartiallyActive'|'Active',
            'ScalingStatusMessage': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ScalingPlanResources (list) --

      • (dict) --

        • ScalingPlanName (string) --

        • ScalingPlanVersion (integer) --

        • ServiceNamespace (string) --

        • ResourceId (string) --

        • ScalableDimension (string) --

        • ScalingPolicies (list) --

          • (dict) --

            • PolicyName (string) --

            • PolicyType (string) --

            • TargetTrackingConfiguration (dict) --

              • PredefinedScalingMetricSpecification (dict) --

                • PredefinedScalingMetricType (string) --

                • ResourceLabel (string) --

              • CustomizedScalingMetricSpecification (dict) --

                • MetricName (string) --

                • Namespace (string) --

                • Dimensions (list) --

                  • (dict) --

                    • Name (string) --

                    • Value (string) --

                • Statistic (string) --

                • Unit (string) --

              • TargetValue (float) --

              • DisableScaleIn (boolean) --

              • ScaleOutCooldown (integer) --

              • ScaleInCooldown (integer) --

              • EstimatedInstanceWarmup (integer) --

        • ScalingStatusCode (string) --

        • ScalingStatusMessage (string) --

    • NextToken (string) --

CreateScalingPlan (new) Link ¶

See also: AWS API Documentation

Request Syntax

client.create_scaling_plan(
    ScalingPlanName='string',
    ApplicationSource={
        'CloudFormationStackARN': 'string'
    },
    ScalingInstructions=[
        {
            'ServiceNamespace': 'autoscaling'|'ecs'|'ec2'|'rds'|'dynamodb',
            'ResourceId': 'string',
            'ScalableDimension': 'autoscaling:autoScalingGroup:DesiredCapacity'|'ecs:service:DesiredCount'|'ec2:spot-fleet-request:TargetCapacity'|'rds:cluster:ReadReplicaCount'|'dynamodb:table:ReadCapacityUnits'|'dynamodb:table:WriteCapacityUnits'|'dynamodb:index:ReadCapacityUnits'|'dynamodb:index:WriteCapacityUnits',
            'MinCapacity': 123,
            'MaxCapacity': 123,
            'TargetTrackingConfigurations': [
                {
                    'PredefinedScalingMetricSpecification': {
                        'PredefinedScalingMetricType': 'ASGAverageCPUUtilization'|'ASGAverageNetworkIn'|'ASGAverageNetworkOut'|'DynamoDBReadCapacityUtilization'|'DynamoDBWriteCapacityUtilization'|'ECSServiceAverageCPUUtilization'|'ECSServiceAverageMemoryUtilization'|'ALBRequestCountPerTarget'|'RDSReaderAverageCPUUtilization'|'RDSReaderAverageDatabaseConnections'|'EC2SpotFleetRequestAverageCPUUtilization'|'EC2SpotFleetRequestAverageNetworkIn'|'EC2SpotFleetRequestAverageNetworkOut',
                        'ResourceLabel': 'string'
                    },
                    'CustomizedScalingMetricSpecification': {
                        'MetricName': 'string',
                        'Namespace': 'string',
                        'Dimensions': [
                            {
                                'Name': 'string',
                                'Value': 'string'
                            },
                        ],
                        'Statistic': 'Average'|'Minimum'|'Maximum'|'SampleCount'|'Sum',
                        'Unit': 'string'
                    },
                    'TargetValue': 123.0,
                    'DisableScaleIn': True|False,
                    'ScaleOutCooldown': 123,
                    'ScaleInCooldown': 123,
                    'EstimatedInstanceWarmup': 123
                },
            ]
        },
    ]
)
type ScalingPlanName

string

param ScalingPlanName

[REQUIRED]

type ApplicationSource

dict

param ApplicationSource

[REQUIRED]

  • CloudFormationStackARN (string) --

type ScalingInstructions

list

param ScalingInstructions

[REQUIRED]

  • (dict) --

    • ServiceNamespace (string) -- [REQUIRED]

    • ResourceId (string) -- [REQUIRED]

    • ScalableDimension (string) -- [REQUIRED]

    • MinCapacity (integer) -- [REQUIRED]

    • MaxCapacity (integer) -- [REQUIRED]

    • TargetTrackingConfigurations (list) -- [REQUIRED]

      • (dict) --

        • PredefinedScalingMetricSpecification (dict) --

          • PredefinedScalingMetricType (string) -- [REQUIRED]

          • ResourceLabel (string) --

        • CustomizedScalingMetricSpecification (dict) --

          • MetricName (string) -- [REQUIRED]

          • Namespace (string) -- [REQUIRED]

          • Dimensions (list) --

            • (dict) --

              • Name (string) -- [REQUIRED]

              • Value (string) -- [REQUIRED]

          • Statistic (string) -- [REQUIRED]

          • Unit (string) --

        • TargetValue (float) -- [REQUIRED]

        • DisableScaleIn (boolean) --

        • ScaleOutCooldown (integer) --

        • ScaleInCooldown (integer) --

        • EstimatedInstanceWarmup (integer) --

rtype

dict

returns

Response Syntax

{
    'ScalingPlanVersion': 123
}

Response Structure

  • (dict) --

    • ScalingPlanVersion (integer) --