aws-sdk-autoscalingplans 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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