Class: Aws::AutoScalingPlans::Types::CreateScalingPlanRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb

Overview

Note:

When making an API call, you may pass CreateScalingPlanRequest data as a hash:

{
  scaling_plan_name: "ScalingPlanName", # required
  application_source: { # required
    cloud_formation_stack_arn: "XmlString",
    tag_filters: [
      {
        key: "XmlStringMaxLen128",
        values: ["XmlStringMaxLen256"],
      },
    ],
  },
  scaling_instructions: [ # required
    {
      service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
      resource_id: "ResourceIdMaxLen1600", # required
      scalable_dimension: "autoscaling:autoScalingGroup:DesiredCapacity", # required, accepts 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
      min_capacity: 1, # required
      max_capacity: 1, # required
      target_tracking_configurations: [ # required
        {
          predefined_scaling_metric_specification: {
            predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
            resource_label: "ResourceLabel",
          },
          customized_scaling_metric_specification: {
            metric_name: "MetricName", # required
            namespace: "MetricNamespace", # required
            dimensions: [
              {
                name: "MetricDimensionName", # required
                value: "MetricDimensionValue", # required
              },
            ],
            statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
            unit: "MetricUnit",
          },
          target_value: 1.0, # required
          disable_scale_in: false,
          scale_out_cooldown: 1,
          scale_in_cooldown: 1,
          estimated_instance_warmup: 1,
        },
      ],
      predefined_load_metric_specification: {
        predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
        resource_label: "ResourceLabel",
      },
      customized_load_metric_specification: {
        metric_name: "MetricName", # required
        namespace: "MetricNamespace", # required
        dimensions: [
          {
            name: "MetricDimensionName", # required
            value: "MetricDimensionValue", # required
          },
        ],
        statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
        unit: "MetricUnit",
      },
      scheduled_action_buffer_time: 1,
      predictive_scaling_max_capacity_behavior: "SetForecastCapacityToMaxCapacity", # accepts SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity
      predictive_scaling_max_capacity_buffer: 1,
      predictive_scaling_mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
      scaling_policy_update_behavior: "KeepExternalPolicies", # accepts KeepExternalPolicies, ReplaceExternalPolicies
      disable_dynamic_scaling: false,
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#application_sourceTypes::ApplicationSource

A CloudFormation stack or set of tags. You can create one scaling plan per application source.

For more information, see ApplicationSource in the AWS Auto Scaling API Reference.



161
162
163
164
165
166
167
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 161

class CreateScalingPlanRequest < Struct.new(
  :scaling_plan_name,
  :application_source,
  :scaling_instructions)
  SENSITIVE = []
  include Aws::Structure
end

#scaling_instructionsArray<Types::ScalingInstruction>

The scaling instructions.

For more information, see ScalingInstruction in the AWS Auto Scaling API Reference.

Returns:



161
162
163
164
165
166
167
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 161

class CreateScalingPlanRequest < Struct.new(
  :scaling_plan_name,
  :application_source,
  :scaling_instructions)
  SENSITIVE = []
  include Aws::Structure
end

#scaling_plan_nameString

The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.

Returns:

  • (String)


161
162
163
164
165
166
167
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 161

class CreateScalingPlanRequest < Struct.new(
  :scaling_plan_name,
  :application_source,
  :scaling_instructions)
  SENSITIVE = []
  include Aws::Structure
end