Class: Aws::AutoScalingPlans::Types::CreateScalingPlanRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::AutoScalingPlans::Types::CreateScalingPlanRequest
- 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
-
#application_source ⇒ Types::ApplicationSource
A CloudFormation stack or set of tags.
-
#scaling_instructions ⇒ Array<Types::ScalingInstruction>
The scaling instructions.
-
#scaling_plan_name ⇒ String
The name of the scaling plan.
Instance Attribute Details
#application_source ⇒ Types::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_instructions ⇒ Array<Types::ScalingInstruction>
The scaling instructions.
For more information, see ScalingInstruction 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_plan_name ⇒ String
The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.
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 |