aws-sdk-autoscalingplans 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,248 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::AutoScalingPlans
9
+ # @api private
10
+ module ClientApi
11
+
12
+ include Seahorse::Model
13
+
14
+ ApplicationSource = Shapes::StructureShape.new(name: 'ApplicationSource')
15
+ ApplicationSources = Shapes::ListShape.new(name: 'ApplicationSources')
16
+ ConcurrentUpdateException = Shapes::StructureShape.new(name: 'ConcurrentUpdateException')
17
+ Cooldown = Shapes::IntegerShape.new(name: 'Cooldown')
18
+ CreateScalingPlanRequest = Shapes::StructureShape.new(name: 'CreateScalingPlanRequest')
19
+ CreateScalingPlanResponse = Shapes::StructureShape.new(name: 'CreateScalingPlanResponse')
20
+ CustomizedScalingMetricSpecification = Shapes::StructureShape.new(name: 'CustomizedScalingMetricSpecification')
21
+ DeleteScalingPlanRequest = Shapes::StructureShape.new(name: 'DeleteScalingPlanRequest')
22
+ DeleteScalingPlanResponse = Shapes::StructureShape.new(name: 'DeleteScalingPlanResponse')
23
+ DescribeScalingPlanResourcesRequest = Shapes::StructureShape.new(name: 'DescribeScalingPlanResourcesRequest')
24
+ DescribeScalingPlanResourcesResponse = Shapes::StructureShape.new(name: 'DescribeScalingPlanResourcesResponse')
25
+ DescribeScalingPlansRequest = Shapes::StructureShape.new(name: 'DescribeScalingPlansRequest')
26
+ DescribeScalingPlansResponse = Shapes::StructureShape.new(name: 'DescribeScalingPlansResponse')
27
+ DisableScaleIn = Shapes::BooleanShape.new(name: 'DisableScaleIn')
28
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
29
+ InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
30
+ InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
31
+ LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
32
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
33
+ MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
34
+ MetricDimensionName = Shapes::StringShape.new(name: 'MetricDimensionName')
35
+ MetricDimensionValue = Shapes::StringShape.new(name: 'MetricDimensionValue')
36
+ MetricDimensions = Shapes::ListShape.new(name: 'MetricDimensions')
37
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
38
+ MetricNamespace = Shapes::StringShape.new(name: 'MetricNamespace')
39
+ MetricScale = Shapes::FloatShape.new(name: 'MetricScale')
40
+ MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
41
+ MetricUnit = Shapes::StringShape.new(name: 'MetricUnit')
42
+ NextToken = Shapes::StringShape.new(name: 'NextToken')
43
+ ObjectNotFoundException = Shapes::StructureShape.new(name: 'ObjectNotFoundException')
44
+ PolicyName = Shapes::StringShape.new(name: 'PolicyName')
45
+ PolicyType = Shapes::StringShape.new(name: 'PolicyType')
46
+ PredefinedScalingMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedScalingMetricSpecification')
47
+ ResourceCapacity = Shapes::IntegerShape.new(name: 'ResourceCapacity')
48
+ ResourceIdMaxLen1600 = Shapes::StringShape.new(name: 'ResourceIdMaxLen1600')
49
+ ResourceLabel = Shapes::StringShape.new(name: 'ResourceLabel')
50
+ ScalableDimension = Shapes::StringShape.new(name: 'ScalableDimension')
51
+ ScalingInstruction = Shapes::StructureShape.new(name: 'ScalingInstruction')
52
+ ScalingInstructions = Shapes::ListShape.new(name: 'ScalingInstructions')
53
+ ScalingMetricType = Shapes::StringShape.new(name: 'ScalingMetricType')
54
+ ScalingPlan = Shapes::StructureShape.new(name: 'ScalingPlan')
55
+ ScalingPlanName = Shapes::StringShape.new(name: 'ScalingPlanName')
56
+ ScalingPlanNames = Shapes::ListShape.new(name: 'ScalingPlanNames')
57
+ ScalingPlanResource = Shapes::StructureShape.new(name: 'ScalingPlanResource')
58
+ ScalingPlanResources = Shapes::ListShape.new(name: 'ScalingPlanResources')
59
+ ScalingPlanStatusCode = Shapes::StringShape.new(name: 'ScalingPlanStatusCode')
60
+ ScalingPlanVersion = Shapes::IntegerShape.new(name: 'ScalingPlanVersion')
61
+ ScalingPlans = Shapes::ListShape.new(name: 'ScalingPlans')
62
+ ScalingPolicies = Shapes::ListShape.new(name: 'ScalingPolicies')
63
+ ScalingPolicy = Shapes::StructureShape.new(name: 'ScalingPolicy')
64
+ ScalingStatusCode = Shapes::StringShape.new(name: 'ScalingStatusCode')
65
+ ServiceNamespace = Shapes::StringShape.new(name: 'ServiceNamespace')
66
+ TargetTrackingConfiguration = Shapes::StructureShape.new(name: 'TargetTrackingConfiguration')
67
+ TargetTrackingConfigurations = Shapes::ListShape.new(name: 'TargetTrackingConfigurations')
68
+ TimestampType = Shapes::TimestampShape.new(name: 'TimestampType')
69
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
70
+ XmlString = Shapes::StringShape.new(name: 'XmlString')
71
+
72
+ ApplicationSource.add_member(:cloud_formation_stack_arn, Shapes::ShapeRef.new(shape: XmlString, location_name: "CloudFormationStackARN"))
73
+ ApplicationSource.struct_class = Types::ApplicationSource
74
+
75
+ ApplicationSources.member = Shapes::ShapeRef.new(shape: ApplicationSource)
76
+
77
+ CreateScalingPlanRequest.add_member(:scaling_plan_name, Shapes::ShapeRef.new(shape: ScalingPlanName, required: true, location_name: "ScalingPlanName"))
78
+ CreateScalingPlanRequest.add_member(:application_source, Shapes::ShapeRef.new(shape: ApplicationSource, required: true, location_name: "ApplicationSource"))
79
+ CreateScalingPlanRequest.add_member(:scaling_instructions, Shapes::ShapeRef.new(shape: ScalingInstructions, required: true, location_name: "ScalingInstructions"))
80
+ CreateScalingPlanRequest.struct_class = Types::CreateScalingPlanRequest
81
+
82
+ CreateScalingPlanResponse.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, required: true, location_name: "ScalingPlanVersion"))
83
+ CreateScalingPlanResponse.struct_class = Types::CreateScalingPlanResponse
84
+
85
+ CustomizedScalingMetricSpecification.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
86
+ CustomizedScalingMetricSpecification.add_member(:namespace, Shapes::ShapeRef.new(shape: MetricNamespace, required: true, location_name: "Namespace"))
87
+ CustomizedScalingMetricSpecification.add_member(:dimensions, Shapes::ShapeRef.new(shape: MetricDimensions, location_name: "Dimensions"))
88
+ CustomizedScalingMetricSpecification.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, required: true, location_name: "Statistic"))
89
+ CustomizedScalingMetricSpecification.add_member(:unit, Shapes::ShapeRef.new(shape: MetricUnit, location_name: "Unit"))
90
+ CustomizedScalingMetricSpecification.struct_class = Types::CustomizedScalingMetricSpecification
91
+
92
+ DeleteScalingPlanRequest.add_member(:scaling_plan_name, Shapes::ShapeRef.new(shape: ScalingPlanName, required: true, location_name: "ScalingPlanName"))
93
+ DeleteScalingPlanRequest.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, required: true, location_name: "ScalingPlanVersion"))
94
+ DeleteScalingPlanRequest.struct_class = Types::DeleteScalingPlanRequest
95
+
96
+ DeleteScalingPlanResponse.struct_class = Types::DeleteScalingPlanResponse
97
+
98
+ DescribeScalingPlanResourcesRequest.add_member(:scaling_plan_name, Shapes::ShapeRef.new(shape: ScalingPlanName, required: true, location_name: "ScalingPlanName"))
99
+ DescribeScalingPlanResourcesRequest.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, required: true, location_name: "ScalingPlanVersion"))
100
+ DescribeScalingPlanResourcesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
101
+ DescribeScalingPlanResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
102
+ DescribeScalingPlanResourcesRequest.struct_class = Types::DescribeScalingPlanResourcesRequest
103
+
104
+ DescribeScalingPlanResourcesResponse.add_member(:scaling_plan_resources, Shapes::ShapeRef.new(shape: ScalingPlanResources, location_name: "ScalingPlanResources"))
105
+ DescribeScalingPlanResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
106
+ DescribeScalingPlanResourcesResponse.struct_class = Types::DescribeScalingPlanResourcesResponse
107
+
108
+ DescribeScalingPlansRequest.add_member(:scaling_plan_names, Shapes::ShapeRef.new(shape: ScalingPlanNames, location_name: "ScalingPlanNames"))
109
+ DescribeScalingPlansRequest.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, location_name: "ScalingPlanVersion"))
110
+ DescribeScalingPlansRequest.add_member(:application_sources, Shapes::ShapeRef.new(shape: ApplicationSources, location_name: "ApplicationSources"))
111
+ DescribeScalingPlansRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
112
+ DescribeScalingPlansRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
113
+ DescribeScalingPlansRequest.struct_class = Types::DescribeScalingPlansRequest
114
+
115
+ DescribeScalingPlansResponse.add_member(:scaling_plans, Shapes::ShapeRef.new(shape: ScalingPlans, location_name: "ScalingPlans"))
116
+ DescribeScalingPlansResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
117
+ DescribeScalingPlansResponse.struct_class = Types::DescribeScalingPlansResponse
118
+
119
+ MetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: MetricDimensionName, required: true, location_name: "Name"))
120
+ MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: MetricDimensionValue, required: true, location_name: "Value"))
121
+ MetricDimension.struct_class = Types::MetricDimension
122
+
123
+ MetricDimensions.member = Shapes::ShapeRef.new(shape: MetricDimension)
124
+
125
+ PredefinedScalingMetricSpecification.add_member(:predefined_scaling_metric_type, Shapes::ShapeRef.new(shape: ScalingMetricType, required: true, location_name: "PredefinedScalingMetricType"))
126
+ PredefinedScalingMetricSpecification.add_member(:resource_label, Shapes::ShapeRef.new(shape: ResourceLabel, location_name: "ResourceLabel"))
127
+ PredefinedScalingMetricSpecification.struct_class = Types::PredefinedScalingMetricSpecification
128
+
129
+ ScalingInstruction.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
130
+ ScalingInstruction.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
131
+ ScalingInstruction.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
132
+ ScalingInstruction.add_member(:min_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, required: true, location_name: "MinCapacity"))
133
+ ScalingInstruction.add_member(:max_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, required: true, location_name: "MaxCapacity"))
134
+ ScalingInstruction.add_member(:target_tracking_configurations, Shapes::ShapeRef.new(shape: TargetTrackingConfigurations, required: true, location_name: "TargetTrackingConfigurations"))
135
+ ScalingInstruction.struct_class = Types::ScalingInstruction
136
+
137
+ ScalingInstructions.member = Shapes::ShapeRef.new(shape: ScalingInstruction)
138
+
139
+ ScalingPlan.add_member(:scaling_plan_name, Shapes::ShapeRef.new(shape: ScalingPlanName, required: true, location_name: "ScalingPlanName"))
140
+ ScalingPlan.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, required: true, location_name: "ScalingPlanVersion"))
141
+ ScalingPlan.add_member(:application_source, Shapes::ShapeRef.new(shape: ApplicationSource, required: true, location_name: "ApplicationSource"))
142
+ ScalingPlan.add_member(:scaling_instructions, Shapes::ShapeRef.new(shape: ScalingInstructions, required: true, location_name: "ScalingInstructions"))
143
+ ScalingPlan.add_member(:status_code, Shapes::ShapeRef.new(shape: ScalingPlanStatusCode, required: true, location_name: "StatusCode"))
144
+ ScalingPlan.add_member(:status_message, Shapes::ShapeRef.new(shape: XmlString, location_name: "StatusMessage"))
145
+ ScalingPlan.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "CreationTime"))
146
+ ScalingPlan.struct_class = Types::ScalingPlan
147
+
148
+ ScalingPlanNames.member = Shapes::ShapeRef.new(shape: ScalingPlanName)
149
+
150
+ ScalingPlanResource.add_member(:scaling_plan_name, Shapes::ShapeRef.new(shape: ScalingPlanName, required: true, location_name: "ScalingPlanName"))
151
+ ScalingPlanResource.add_member(:scaling_plan_version, Shapes::ShapeRef.new(shape: ScalingPlanVersion, required: true, location_name: "ScalingPlanVersion"))
152
+ ScalingPlanResource.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
153
+ ScalingPlanResource.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
154
+ ScalingPlanResource.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
155
+ ScalingPlanResource.add_member(:scaling_policies, Shapes::ShapeRef.new(shape: ScalingPolicies, location_name: "ScalingPolicies"))
156
+ ScalingPlanResource.add_member(:scaling_status_code, Shapes::ShapeRef.new(shape: ScalingStatusCode, required: true, location_name: "ScalingStatusCode"))
157
+ ScalingPlanResource.add_member(:scaling_status_message, Shapes::ShapeRef.new(shape: XmlString, location_name: "ScalingStatusMessage"))
158
+ ScalingPlanResource.struct_class = Types::ScalingPlanResource
159
+
160
+ ScalingPlanResources.member = Shapes::ShapeRef.new(shape: ScalingPlanResource)
161
+
162
+ ScalingPlans.member = Shapes::ShapeRef.new(shape: ScalingPlan)
163
+
164
+ ScalingPolicies.member = Shapes::ShapeRef.new(shape: ScalingPolicy)
165
+
166
+ ScalingPolicy.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location_name: "PolicyName"))
167
+ ScalingPolicy.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyType, required: true, location_name: "PolicyType"))
168
+ ScalingPolicy.add_member(:target_tracking_configuration, Shapes::ShapeRef.new(shape: TargetTrackingConfiguration, location_name: "TargetTrackingConfiguration"))
169
+ ScalingPolicy.struct_class = Types::ScalingPolicy
170
+
171
+ TargetTrackingConfiguration.add_member(:predefined_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredefinedScalingMetricSpecification, location_name: "PredefinedScalingMetricSpecification"))
172
+ TargetTrackingConfiguration.add_member(:customized_scaling_metric_specification, Shapes::ShapeRef.new(shape: CustomizedScalingMetricSpecification, location_name: "CustomizedScalingMetricSpecification"))
173
+ TargetTrackingConfiguration.add_member(:target_value, Shapes::ShapeRef.new(shape: MetricScale, required: true, location_name: "TargetValue"))
174
+ TargetTrackingConfiguration.add_member(:disable_scale_in, Shapes::ShapeRef.new(shape: DisableScaleIn, location_name: "DisableScaleIn"))
175
+ TargetTrackingConfiguration.add_member(:scale_out_cooldown, Shapes::ShapeRef.new(shape: Cooldown, location_name: "ScaleOutCooldown"))
176
+ TargetTrackingConfiguration.add_member(:scale_in_cooldown, Shapes::ShapeRef.new(shape: Cooldown, location_name: "ScaleInCooldown"))
177
+ TargetTrackingConfiguration.add_member(:estimated_instance_warmup, Shapes::ShapeRef.new(shape: Cooldown, location_name: "EstimatedInstanceWarmup"))
178
+ TargetTrackingConfiguration.struct_class = Types::TargetTrackingConfiguration
179
+
180
+ TargetTrackingConfigurations.member = Shapes::ShapeRef.new(shape: TargetTrackingConfiguration)
181
+
182
+
183
+ # @api private
184
+ API = Seahorse::Model::Api.new.tap do |api|
185
+
186
+ api.version = "2018-01-06"
187
+
188
+ api.metadata = {
189
+ "endpointPrefix" => "autoscaling",
190
+ "jsonVersion" => "1.1",
191
+ "protocol" => "json",
192
+ "serviceFullName" => "AWS Auto Scaling Plans",
193
+ "signatureVersion" => "v4",
194
+ "signingName" => "autoscaling-plans",
195
+ "targetPrefix" => "AnyScaleScalingPlannerFrontendService",
196
+ }
197
+
198
+ api.add_operation(:create_scaling_plan, Seahorse::Model::Operation.new.tap do |o|
199
+ o.name = "CreateScalingPlan"
200
+ o.http_method = "POST"
201
+ o.http_request_uri = "/"
202
+ o.input = Shapes::ShapeRef.new(shape: CreateScalingPlanRequest)
203
+ o.output = Shapes::ShapeRef.new(shape: CreateScalingPlanResponse)
204
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
205
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
206
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
207
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
208
+ end)
209
+
210
+ api.add_operation(:delete_scaling_plan, Seahorse::Model::Operation.new.tap do |o|
211
+ o.name = "DeleteScalingPlan"
212
+ o.http_method = "POST"
213
+ o.http_request_uri = "/"
214
+ o.input = Shapes::ShapeRef.new(shape: DeleteScalingPlanRequest)
215
+ o.output = Shapes::ShapeRef.new(shape: DeleteScalingPlanResponse)
216
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
217
+ o.errors << Shapes::ShapeRef.new(shape: ObjectNotFoundException)
218
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
219
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
220
+ end)
221
+
222
+ api.add_operation(:describe_scaling_plan_resources, Seahorse::Model::Operation.new.tap do |o|
223
+ o.name = "DescribeScalingPlanResources"
224
+ o.http_method = "POST"
225
+ o.http_request_uri = "/"
226
+ o.input = Shapes::ShapeRef.new(shape: DescribeScalingPlanResourcesRequest)
227
+ o.output = Shapes::ShapeRef.new(shape: DescribeScalingPlanResourcesResponse)
228
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
229
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
230
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
231
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
232
+ end)
233
+
234
+ api.add_operation(:describe_scaling_plans, Seahorse::Model::Operation.new.tap do |o|
235
+ o.name = "DescribeScalingPlans"
236
+ o.http_method = "POST"
237
+ o.http_request_uri = "/"
238
+ o.input = Shapes::ShapeRef.new(shape: DescribeScalingPlansRequest)
239
+ o.output = Shapes::ShapeRef.new(shape: DescribeScalingPlansResponse)
240
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
241
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
242
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
243
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
244
+ end)
245
+ end
246
+
247
+ end
248
+ end
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::AutoScalingPlans
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::AutoScalingPlans
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,531 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::AutoScalingPlans
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass ApplicationSource
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # cloud_formation_stack_arn: "XmlString",
16
+ # }
17
+ #
18
+ # @!attribute [rw] cloud_formation_stack_arn
19
+ # @return [String]
20
+ #
21
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ApplicationSource AWS API Documentation
22
+ #
23
+ class ApplicationSource < Struct.new(
24
+ :cloud_formation_stack_arn)
25
+ include Aws::Structure
26
+ end
27
+
28
+ # @note When making an API call, you may pass CreateScalingPlanRequest
29
+ # data as a hash:
30
+ #
31
+ # {
32
+ # scaling_plan_name: "ScalingPlanName", # required
33
+ # application_source: { # required
34
+ # cloud_formation_stack_arn: "XmlString",
35
+ # },
36
+ # scaling_instructions: [ # required
37
+ # {
38
+ # service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
39
+ # resource_id: "ResourceIdMaxLen1600", # required
40
+ # 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
41
+ # min_capacity: 1, # required
42
+ # max_capacity: 1, # required
43
+ # target_tracking_configurations: [ # required
44
+ # {
45
+ # predefined_scaling_metric_specification: {
46
+ # predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
47
+ # resource_label: "ResourceLabel",
48
+ # },
49
+ # customized_scaling_metric_specification: {
50
+ # metric_name: "MetricName", # required
51
+ # namespace: "MetricNamespace", # required
52
+ # dimensions: [
53
+ # {
54
+ # name: "MetricDimensionName", # required
55
+ # value: "MetricDimensionValue", # required
56
+ # },
57
+ # ],
58
+ # statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
59
+ # unit: "MetricUnit",
60
+ # },
61
+ # target_value: 1.0, # required
62
+ # disable_scale_in: false,
63
+ # scale_out_cooldown: 1,
64
+ # scale_in_cooldown: 1,
65
+ # estimated_instance_warmup: 1,
66
+ # },
67
+ # ],
68
+ # },
69
+ # ],
70
+ # }
71
+ #
72
+ # @!attribute [rw] scaling_plan_name
73
+ # @return [String]
74
+ #
75
+ # @!attribute [rw] application_source
76
+ # @return [Types::ApplicationSource]
77
+ #
78
+ # @!attribute [rw] scaling_instructions
79
+ # @return [Array<Types::ScalingInstruction>]
80
+ #
81
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CreateScalingPlanRequest AWS API Documentation
82
+ #
83
+ class CreateScalingPlanRequest < Struct.new(
84
+ :scaling_plan_name,
85
+ :application_source,
86
+ :scaling_instructions)
87
+ include Aws::Structure
88
+ end
89
+
90
+ # @!attribute [rw] scaling_plan_version
91
+ # @return [Integer]
92
+ #
93
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CreateScalingPlanResponse AWS API Documentation
94
+ #
95
+ class CreateScalingPlanResponse < Struct.new(
96
+ :scaling_plan_version)
97
+ include Aws::Structure
98
+ end
99
+
100
+ # @note When making an API call, you may pass CustomizedScalingMetricSpecification
101
+ # data as a hash:
102
+ #
103
+ # {
104
+ # metric_name: "MetricName", # required
105
+ # namespace: "MetricNamespace", # required
106
+ # dimensions: [
107
+ # {
108
+ # name: "MetricDimensionName", # required
109
+ # value: "MetricDimensionValue", # required
110
+ # },
111
+ # ],
112
+ # statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
113
+ # unit: "MetricUnit",
114
+ # }
115
+ #
116
+ # @!attribute [rw] metric_name
117
+ # @return [String]
118
+ #
119
+ # @!attribute [rw] namespace
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] dimensions
123
+ # @return [Array<Types::MetricDimension>]
124
+ #
125
+ # @!attribute [rw] statistic
126
+ # @return [String]
127
+ #
128
+ # @!attribute [rw] unit
129
+ # @return [String]
130
+ #
131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CustomizedScalingMetricSpecification AWS API Documentation
132
+ #
133
+ class CustomizedScalingMetricSpecification < Struct.new(
134
+ :metric_name,
135
+ :namespace,
136
+ :dimensions,
137
+ :statistic,
138
+ :unit)
139
+ include Aws::Structure
140
+ end
141
+
142
+ # @note When making an API call, you may pass DeleteScalingPlanRequest
143
+ # data as a hash:
144
+ #
145
+ # {
146
+ # scaling_plan_name: "ScalingPlanName", # required
147
+ # scaling_plan_version: 1, # required
148
+ # }
149
+ #
150
+ # @!attribute [rw] scaling_plan_name
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] scaling_plan_version
154
+ # @return [Integer]
155
+ #
156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DeleteScalingPlanRequest AWS API Documentation
157
+ #
158
+ class DeleteScalingPlanRequest < Struct.new(
159
+ :scaling_plan_name,
160
+ :scaling_plan_version)
161
+ include Aws::Structure
162
+ end
163
+
164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DeleteScalingPlanResponse AWS API Documentation
165
+ #
166
+ class DeleteScalingPlanResponse < Aws::EmptyStructure; end
167
+
168
+ # @note When making an API call, you may pass DescribeScalingPlanResourcesRequest
169
+ # data as a hash:
170
+ #
171
+ # {
172
+ # scaling_plan_name: "ScalingPlanName", # required
173
+ # scaling_plan_version: 1, # required
174
+ # max_results: 1,
175
+ # next_token: "NextToken",
176
+ # }
177
+ #
178
+ # @!attribute [rw] scaling_plan_name
179
+ # @return [String]
180
+ #
181
+ # @!attribute [rw] scaling_plan_version
182
+ # @return [Integer]
183
+ #
184
+ # @!attribute [rw] max_results
185
+ # @return [Integer]
186
+ #
187
+ # @!attribute [rw] next_token
188
+ # @return [String]
189
+ #
190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlanResourcesRequest AWS API Documentation
191
+ #
192
+ class DescribeScalingPlanResourcesRequest < Struct.new(
193
+ :scaling_plan_name,
194
+ :scaling_plan_version,
195
+ :max_results,
196
+ :next_token)
197
+ include Aws::Structure
198
+ end
199
+
200
+ # @!attribute [rw] scaling_plan_resources
201
+ # @return [Array<Types::ScalingPlanResource>]
202
+ #
203
+ # @!attribute [rw] next_token
204
+ # @return [String]
205
+ #
206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlanResourcesResponse AWS API Documentation
207
+ #
208
+ class DescribeScalingPlanResourcesResponse < Struct.new(
209
+ :scaling_plan_resources,
210
+ :next_token)
211
+ include Aws::Structure
212
+ end
213
+
214
+ # @note When making an API call, you may pass DescribeScalingPlansRequest
215
+ # data as a hash:
216
+ #
217
+ # {
218
+ # scaling_plan_names: ["ScalingPlanName"],
219
+ # scaling_plan_version: 1,
220
+ # application_sources: [
221
+ # {
222
+ # cloud_formation_stack_arn: "XmlString",
223
+ # },
224
+ # ],
225
+ # max_results: 1,
226
+ # next_token: "NextToken",
227
+ # }
228
+ #
229
+ # @!attribute [rw] scaling_plan_names
230
+ # @return [Array<String>]
231
+ #
232
+ # @!attribute [rw] scaling_plan_version
233
+ # @return [Integer]
234
+ #
235
+ # @!attribute [rw] application_sources
236
+ # @return [Array<Types::ApplicationSource>]
237
+ #
238
+ # @!attribute [rw] max_results
239
+ # @return [Integer]
240
+ #
241
+ # @!attribute [rw] next_token
242
+ # @return [String]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlansRequest AWS API Documentation
245
+ #
246
+ class DescribeScalingPlansRequest < Struct.new(
247
+ :scaling_plan_names,
248
+ :scaling_plan_version,
249
+ :application_sources,
250
+ :max_results,
251
+ :next_token)
252
+ include Aws::Structure
253
+ end
254
+
255
+ # @!attribute [rw] scaling_plans
256
+ # @return [Array<Types::ScalingPlan>]
257
+ #
258
+ # @!attribute [rw] next_token
259
+ # @return [String]
260
+ #
261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlansResponse AWS API Documentation
262
+ #
263
+ class DescribeScalingPlansResponse < Struct.new(
264
+ :scaling_plans,
265
+ :next_token)
266
+ include Aws::Structure
267
+ end
268
+
269
+ # @note When making an API call, you may pass MetricDimension
270
+ # data as a hash:
271
+ #
272
+ # {
273
+ # name: "MetricDimensionName", # required
274
+ # value: "MetricDimensionValue", # required
275
+ # }
276
+ #
277
+ # @!attribute [rw] name
278
+ # @return [String]
279
+ #
280
+ # @!attribute [rw] value
281
+ # @return [String]
282
+ #
283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/MetricDimension AWS API Documentation
284
+ #
285
+ class MetricDimension < Struct.new(
286
+ :name,
287
+ :value)
288
+ include Aws::Structure
289
+ end
290
+
291
+ # @note When making an API call, you may pass PredefinedScalingMetricSpecification
292
+ # data as a hash:
293
+ #
294
+ # {
295
+ # predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
296
+ # resource_label: "ResourceLabel",
297
+ # }
298
+ #
299
+ # @!attribute [rw] predefined_scaling_metric_type
300
+ # @return [String]
301
+ #
302
+ # @!attribute [rw] resource_label
303
+ # @return [String]
304
+ #
305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/PredefinedScalingMetricSpecification AWS API Documentation
306
+ #
307
+ class PredefinedScalingMetricSpecification < Struct.new(
308
+ :predefined_scaling_metric_type,
309
+ :resource_label)
310
+ include Aws::Structure
311
+ end
312
+
313
+ # @note When making an API call, you may pass ScalingInstruction
314
+ # data as a hash:
315
+ #
316
+ # {
317
+ # service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
318
+ # resource_id: "ResourceIdMaxLen1600", # required
319
+ # 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
320
+ # min_capacity: 1, # required
321
+ # max_capacity: 1, # required
322
+ # target_tracking_configurations: [ # required
323
+ # {
324
+ # predefined_scaling_metric_specification: {
325
+ # predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
326
+ # resource_label: "ResourceLabel",
327
+ # },
328
+ # customized_scaling_metric_specification: {
329
+ # metric_name: "MetricName", # required
330
+ # namespace: "MetricNamespace", # required
331
+ # dimensions: [
332
+ # {
333
+ # name: "MetricDimensionName", # required
334
+ # value: "MetricDimensionValue", # required
335
+ # },
336
+ # ],
337
+ # statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
338
+ # unit: "MetricUnit",
339
+ # },
340
+ # target_value: 1.0, # required
341
+ # disable_scale_in: false,
342
+ # scale_out_cooldown: 1,
343
+ # scale_in_cooldown: 1,
344
+ # estimated_instance_warmup: 1,
345
+ # },
346
+ # ],
347
+ # }
348
+ #
349
+ # @!attribute [rw] service_namespace
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] resource_id
353
+ # @return [String]
354
+ #
355
+ # @!attribute [rw] scalable_dimension
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] min_capacity
359
+ # @return [Integer]
360
+ #
361
+ # @!attribute [rw] max_capacity
362
+ # @return [Integer]
363
+ #
364
+ # @!attribute [rw] target_tracking_configurations
365
+ # @return [Array<Types::TargetTrackingConfiguration>]
366
+ #
367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingInstruction AWS API Documentation
368
+ #
369
+ class ScalingInstruction < Struct.new(
370
+ :service_namespace,
371
+ :resource_id,
372
+ :scalable_dimension,
373
+ :min_capacity,
374
+ :max_capacity,
375
+ :target_tracking_configurations)
376
+ include Aws::Structure
377
+ end
378
+
379
+ # @!attribute [rw] scaling_plan_name
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] scaling_plan_version
383
+ # @return [Integer]
384
+ #
385
+ # @!attribute [rw] application_source
386
+ # @return [Types::ApplicationSource]
387
+ #
388
+ # @!attribute [rw] scaling_instructions
389
+ # @return [Array<Types::ScalingInstruction>]
390
+ #
391
+ # @!attribute [rw] status_code
392
+ # @return [String]
393
+ #
394
+ # @!attribute [rw] status_message
395
+ # @return [String]
396
+ #
397
+ # @!attribute [rw] creation_time
398
+ # @return [Time]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingPlan AWS API Documentation
401
+ #
402
+ class ScalingPlan < Struct.new(
403
+ :scaling_plan_name,
404
+ :scaling_plan_version,
405
+ :application_source,
406
+ :scaling_instructions,
407
+ :status_code,
408
+ :status_message,
409
+ :creation_time)
410
+ include Aws::Structure
411
+ end
412
+
413
+ # @!attribute [rw] scaling_plan_name
414
+ # @return [String]
415
+ #
416
+ # @!attribute [rw] scaling_plan_version
417
+ # @return [Integer]
418
+ #
419
+ # @!attribute [rw] service_namespace
420
+ # @return [String]
421
+ #
422
+ # @!attribute [rw] resource_id
423
+ # @return [String]
424
+ #
425
+ # @!attribute [rw] scalable_dimension
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] scaling_policies
429
+ # @return [Array<Types::ScalingPolicy>]
430
+ #
431
+ # @!attribute [rw] scaling_status_code
432
+ # @return [String]
433
+ #
434
+ # @!attribute [rw] scaling_status_message
435
+ # @return [String]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingPlanResource AWS API Documentation
438
+ #
439
+ class ScalingPlanResource < Struct.new(
440
+ :scaling_plan_name,
441
+ :scaling_plan_version,
442
+ :service_namespace,
443
+ :resource_id,
444
+ :scalable_dimension,
445
+ :scaling_policies,
446
+ :scaling_status_code,
447
+ :scaling_status_message)
448
+ include Aws::Structure
449
+ end
450
+
451
+ # @!attribute [rw] policy_name
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] policy_type
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] target_tracking_configuration
458
+ # @return [Types::TargetTrackingConfiguration]
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingPolicy AWS API Documentation
461
+ #
462
+ class ScalingPolicy < Struct.new(
463
+ :policy_name,
464
+ :policy_type,
465
+ :target_tracking_configuration)
466
+ include Aws::Structure
467
+ end
468
+
469
+ # @note When making an API call, you may pass TargetTrackingConfiguration
470
+ # data as a hash:
471
+ #
472
+ # {
473
+ # predefined_scaling_metric_specification: {
474
+ # predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
475
+ # resource_label: "ResourceLabel",
476
+ # },
477
+ # customized_scaling_metric_specification: {
478
+ # metric_name: "MetricName", # required
479
+ # namespace: "MetricNamespace", # required
480
+ # dimensions: [
481
+ # {
482
+ # name: "MetricDimensionName", # required
483
+ # value: "MetricDimensionValue", # required
484
+ # },
485
+ # ],
486
+ # statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
487
+ # unit: "MetricUnit",
488
+ # },
489
+ # target_value: 1.0, # required
490
+ # disable_scale_in: false,
491
+ # scale_out_cooldown: 1,
492
+ # scale_in_cooldown: 1,
493
+ # estimated_instance_warmup: 1,
494
+ # }
495
+ #
496
+ # @!attribute [rw] predefined_scaling_metric_specification
497
+ # @return [Types::PredefinedScalingMetricSpecification]
498
+ #
499
+ # @!attribute [rw] customized_scaling_metric_specification
500
+ # @return [Types::CustomizedScalingMetricSpecification]
501
+ #
502
+ # @!attribute [rw] target_value
503
+ # @return [Float]
504
+ #
505
+ # @!attribute [rw] disable_scale_in
506
+ # @return [Boolean]
507
+ #
508
+ # @!attribute [rw] scale_out_cooldown
509
+ # @return [Integer]
510
+ #
511
+ # @!attribute [rw] scale_in_cooldown
512
+ # @return [Integer]
513
+ #
514
+ # @!attribute [rw] estimated_instance_warmup
515
+ # @return [Integer]
516
+ #
517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/TargetTrackingConfiguration AWS API Documentation
518
+ #
519
+ class TargetTrackingConfiguration < Struct.new(
520
+ :predefined_scaling_metric_specification,
521
+ :customized_scaling_metric_specification,
522
+ :target_value,
523
+ :disable_scale_in,
524
+ :scale_out_cooldown,
525
+ :scale_in_cooldown,
526
+ :estimated_instance_warmup)
527
+ include Aws::Structure
528
+ end
529
+
530
+ end
531
+ end