You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

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",
  },
  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,
        },
      ],
    },
  ],
}

Instance Attribute Summary collapse

Instance Attribute Details

#application_sourceTypes::ApplicationSource

The source for the application.



89
90
91
92
93
94
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 89

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

#scaling_instructionsArray<Types::ScalingInstruction>

The scaling instructions.

Returns:



89
90
91
92
93
94
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 89

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

#scaling_plan_nameString

The name of the scaling plan.

Returns:

  • (String)


89
90
91
92
93
94
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 89

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