aws-sdk-autoscalingplans 1.7.0 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-autoscalingplans/client.rb +216 -20
- data/lib/aws-sdk-autoscalingplans/client_api.rb +63 -2
- data/lib/aws-sdk-autoscalingplans/types.rb +533 -49
- data/lib/aws-sdk-autoscalingplans.rb +1 -1
- metadata +4 -4
@@ -24,7 +24,7 @@ module Aws::AutoScalingPlans
|
|
24
24
|
# }
|
25
25
|
#
|
26
26
|
# @!attribute [rw] cloud_formation_stack_arn
|
27
|
-
# The Amazon Resource Name (ARN) of a CloudFormation stack.
|
27
|
+
# The Amazon Resource Name (ARN) of a AWS CloudFormation stack.
|
28
28
|
# @return [String]
|
29
29
|
#
|
30
30
|
# @!attribute [rw] tag_filters
|
@@ -85,6 +85,28 @@ module Aws::AutoScalingPlans
|
|
85
85
|
# estimated_instance_warmup: 1,
|
86
86
|
# },
|
87
87
|
# ],
|
88
|
+
# predefined_load_metric_specification: {
|
89
|
+
# predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
|
90
|
+
# resource_label: "ResourceLabel",
|
91
|
+
# },
|
92
|
+
# customized_load_metric_specification: {
|
93
|
+
# metric_name: "MetricName", # required
|
94
|
+
# namespace: "MetricNamespace", # required
|
95
|
+
# dimensions: [
|
96
|
+
# {
|
97
|
+
# name: "MetricDimensionName", # required
|
98
|
+
# value: "MetricDimensionValue", # required
|
99
|
+
# },
|
100
|
+
# ],
|
101
|
+
# statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
|
102
|
+
# unit: "MetricUnit",
|
103
|
+
# },
|
104
|
+
# scheduled_action_buffer_time: 1,
|
105
|
+
# predictive_scaling_max_capacity_behavior: "SetForecastCapacityToMaxCapacity", # accepts SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity
|
106
|
+
# predictive_scaling_max_capacity_buffer: 1,
|
107
|
+
# predictive_scaling_mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
|
108
|
+
# scaling_policy_update_behavior: "KeepExternalPolicies", # accepts KeepExternalPolicies, ReplaceExternalPolicies
|
109
|
+
# disable_dynamic_scaling: false,
|
88
110
|
# },
|
89
111
|
# ],
|
90
112
|
# }
|
@@ -113,7 +135,9 @@ module Aws::AutoScalingPlans
|
|
113
135
|
end
|
114
136
|
|
115
137
|
# @!attribute [rw] scaling_plan_version
|
116
|
-
# The version of the scaling plan. This value is always 1.
|
138
|
+
# The version number of the scaling plan. This value is always 1.
|
139
|
+
#
|
140
|
+
# Currently, you cannot specify multiple scaling plan versions.
|
117
141
|
# @return [Integer]
|
118
142
|
#
|
119
143
|
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CreateScalingPlanResponse AWS API Documentation
|
@@ -123,7 +147,92 @@ module Aws::AutoScalingPlans
|
|
123
147
|
include Aws::Structure
|
124
148
|
end
|
125
149
|
|
126
|
-
# Represents a
|
150
|
+
# Represents a CloudWatch metric of your choosing that can be used for
|
151
|
+
# predictive scaling.
|
152
|
+
#
|
153
|
+
# For predictive scaling to work with a customized load metric
|
154
|
+
# specification, AWS Auto Scaling needs access to the `Sum` and
|
155
|
+
# `Average` statistics that CloudWatch computes from metric data.
|
156
|
+
# Statistics are calculations used to aggregate data over specified time
|
157
|
+
# periods. For more information, see the [Amazon CloudWatch User
|
158
|
+
# Guide][1].
|
159
|
+
#
|
160
|
+
# When you choose a load metric, make sure that the required `Sum` and
|
161
|
+
# `Average` statistics for your metric are available in CloudWatch and
|
162
|
+
# that they provide relevant data for predictive scaling. The `Sum`
|
163
|
+
# statistic must represent the total load on the resource, and the
|
164
|
+
# `Average` statistic must represent the average load per capacity unit
|
165
|
+
# of the resource. For example, there is a metric that counts the number
|
166
|
+
# of requests processed by your Auto Scaling group. If the `Sum`
|
167
|
+
# statistic represents the total request count processed by the group,
|
168
|
+
# then the `Average` statistic for the specified metric must represent
|
169
|
+
# the average request count processed by each instance of the group.
|
170
|
+
#
|
171
|
+
# For information about terminology, see [Amazon CloudWatch
|
172
|
+
# Concepts][2].
|
173
|
+
#
|
174
|
+
#
|
175
|
+
#
|
176
|
+
# [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
|
177
|
+
# [2]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html
|
178
|
+
#
|
179
|
+
# @note When making an API call, you may pass CustomizedLoadMetricSpecification
|
180
|
+
# data as a hash:
|
181
|
+
#
|
182
|
+
# {
|
183
|
+
# metric_name: "MetricName", # required
|
184
|
+
# namespace: "MetricNamespace", # required
|
185
|
+
# dimensions: [
|
186
|
+
# {
|
187
|
+
# name: "MetricDimensionName", # required
|
188
|
+
# value: "MetricDimensionValue", # required
|
189
|
+
# },
|
190
|
+
# ],
|
191
|
+
# statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
|
192
|
+
# unit: "MetricUnit",
|
193
|
+
# }
|
194
|
+
#
|
195
|
+
# @!attribute [rw] metric_name
|
196
|
+
# The name of the metric.
|
197
|
+
# @return [String]
|
198
|
+
#
|
199
|
+
# @!attribute [rw] namespace
|
200
|
+
# The namespace of the metric.
|
201
|
+
# @return [String]
|
202
|
+
#
|
203
|
+
# @!attribute [rw] dimensions
|
204
|
+
# The dimensions of the metric.
|
205
|
+
# @return [Array<Types::MetricDimension>]
|
206
|
+
#
|
207
|
+
# @!attribute [rw] statistic
|
208
|
+
# The statistic of the metric. Currently, the value must always be
|
209
|
+
# `Sum`.
|
210
|
+
# @return [String]
|
211
|
+
#
|
212
|
+
# @!attribute [rw] unit
|
213
|
+
# The unit of the metric.
|
214
|
+
# @return [String]
|
215
|
+
#
|
216
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CustomizedLoadMetricSpecification AWS API Documentation
|
217
|
+
#
|
218
|
+
class CustomizedLoadMetricSpecification < Struct.new(
|
219
|
+
:metric_name,
|
220
|
+
:namespace,
|
221
|
+
:dimensions,
|
222
|
+
:statistic,
|
223
|
+
:unit)
|
224
|
+
include Aws::Structure
|
225
|
+
end
|
226
|
+
|
227
|
+
# Represents a CloudWatch metric of your choosing that can be used for
|
228
|
+
# dynamic scaling as part of a target tracking scaling policy.
|
229
|
+
#
|
230
|
+
# For information about terminology, see [Amazon CloudWatch
|
231
|
+
# Concepts][1].
|
232
|
+
#
|
233
|
+
#
|
234
|
+
#
|
235
|
+
# [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html
|
127
236
|
#
|
128
237
|
# @note When making an API call, you may pass CustomizedScalingMetricSpecification
|
129
238
|
# data as a hash:
|
@@ -172,6 +281,25 @@ module Aws::AutoScalingPlans
|
|
172
281
|
include Aws::Structure
|
173
282
|
end
|
174
283
|
|
284
|
+
# Represents a single value in the forecast data used for predictive
|
285
|
+
# scaling.
|
286
|
+
#
|
287
|
+
# @!attribute [rw] timestamp
|
288
|
+
# The time stamp for the data point in UTC format.
|
289
|
+
# @return [Time]
|
290
|
+
#
|
291
|
+
# @!attribute [rw] value
|
292
|
+
# The value of the data point.
|
293
|
+
# @return [Float]
|
294
|
+
#
|
295
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/Datapoint AWS API Documentation
|
296
|
+
#
|
297
|
+
class Datapoint < Struct.new(
|
298
|
+
:timestamp,
|
299
|
+
:value)
|
300
|
+
include Aws::Structure
|
301
|
+
end
|
302
|
+
|
175
303
|
# @note When making an API call, you may pass DeleteScalingPlanRequest
|
176
304
|
# data as a hash:
|
177
305
|
#
|
@@ -185,7 +313,7 @@ module Aws::AutoScalingPlans
|
|
185
313
|
# @return [String]
|
186
314
|
#
|
187
315
|
# @!attribute [rw] scaling_plan_version
|
188
|
-
# The version of the scaling plan.
|
316
|
+
# The version number of the scaling plan.
|
189
317
|
# @return [Integer]
|
190
318
|
#
|
191
319
|
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DeleteScalingPlanRequest AWS API Documentation
|
@@ -215,11 +343,11 @@ module Aws::AutoScalingPlans
|
|
215
343
|
# @return [String]
|
216
344
|
#
|
217
345
|
# @!attribute [rw] scaling_plan_version
|
218
|
-
# The version of the scaling plan.
|
346
|
+
# The version number of the scaling plan.
|
219
347
|
# @return [Integer]
|
220
348
|
#
|
221
349
|
# @!attribute [rw] max_results
|
222
|
-
# The maximum number of scalable resources to return.
|
350
|
+
# The maximum number of scalable resources to return. The value must
|
223
351
|
# be between 1 and 50. The default value is 50.
|
224
352
|
# @return [Integer]
|
225
353
|
#
|
@@ -281,8 +409,8 @@ module Aws::AutoScalingPlans
|
|
281
409
|
# @return [Array<String>]
|
282
410
|
#
|
283
411
|
# @!attribute [rw] scaling_plan_version
|
284
|
-
# The version of the scaling plan. If you specify a scaling
|
285
|
-
# version, you must also specify a scaling plan name.
|
412
|
+
# The version number of the scaling plan. If you specify a scaling
|
413
|
+
# plan version, you must also specify a scaling plan name.
|
286
414
|
# @return [Integer]
|
287
415
|
#
|
288
416
|
# @!attribute [rw] application_sources
|
@@ -327,6 +455,123 @@ module Aws::AutoScalingPlans
|
|
327
455
|
include Aws::Structure
|
328
456
|
end
|
329
457
|
|
458
|
+
# @note When making an API call, you may pass GetScalingPlanResourceForecastDataRequest
|
459
|
+
# data as a hash:
|
460
|
+
#
|
461
|
+
# {
|
462
|
+
# scaling_plan_name: "ScalingPlanName", # required
|
463
|
+
# scaling_plan_version: 1, # required
|
464
|
+
# service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
|
465
|
+
# resource_id: "XmlString", # required
|
466
|
+
# 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
|
467
|
+
# forecast_data_type: "CapacityForecast", # required, accepts CapacityForecast, LoadForecast, ScheduledActionMinCapacity, ScheduledActionMaxCapacity
|
468
|
+
# start_time: Time.now, # required
|
469
|
+
# end_time: Time.now, # required
|
470
|
+
# }
|
471
|
+
#
|
472
|
+
# @!attribute [rw] scaling_plan_name
|
473
|
+
# The name of the scaling plan.
|
474
|
+
# @return [String]
|
475
|
+
#
|
476
|
+
# @!attribute [rw] scaling_plan_version
|
477
|
+
# The version number of the scaling plan.
|
478
|
+
# @return [Integer]
|
479
|
+
#
|
480
|
+
# @!attribute [rw] service_namespace
|
481
|
+
# The namespace of the AWS service.
|
482
|
+
# @return [String]
|
483
|
+
#
|
484
|
+
# @!attribute [rw] resource_id
|
485
|
+
# The ID of the resource. This string consists of the resource type
|
486
|
+
# and unique identifier.
|
487
|
+
#
|
488
|
+
# * Auto Scaling group - The resource type is `autoScalingGroup` and
|
489
|
+
# the unique identifier is the name of the Auto Scaling group.
|
490
|
+
# Example: `autoScalingGroup/my-asg`.
|
491
|
+
#
|
492
|
+
# * ECS service - The resource type is `service` and the unique
|
493
|
+
# identifier is the cluster name and service name. Example:
|
494
|
+
# `service/default/sample-webapp`.
|
495
|
+
#
|
496
|
+
# * Spot Fleet request - The resource type is `spot-fleet-request` and
|
497
|
+
# the unique identifier is the Spot Fleet request ID. Example:
|
498
|
+
# `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
|
499
|
+
#
|
500
|
+
# * DynamoDB table - The resource type is `table` and the unique
|
501
|
+
# identifier is the resource ID. Example: `table/my-table`.
|
502
|
+
#
|
503
|
+
# * DynamoDB global secondary index - The resource type is `index` and
|
504
|
+
# the unique identifier is the resource ID. Example:
|
505
|
+
# `table/my-table/index/my-table-index`.
|
506
|
+
#
|
507
|
+
# * Aurora DB cluster - The resource type is `cluster` and the unique
|
508
|
+
# identifier is the cluster name. Example: `cluster:my-db-cluster`.
|
509
|
+
# @return [String]
|
510
|
+
#
|
511
|
+
# @!attribute [rw] scalable_dimension
|
512
|
+
# The scalable dimension for the resource.
|
513
|
+
# @return [String]
|
514
|
+
#
|
515
|
+
# @!attribute [rw] forecast_data_type
|
516
|
+
# The type of forecast data to get.
|
517
|
+
#
|
518
|
+
# * `LoadForecast`\: The load metric forecast.
|
519
|
+
#
|
520
|
+
# * `CapacityForecast`\: The capacity forecast.
|
521
|
+
#
|
522
|
+
# * `ScheduledActionMinCapacity`\: The minimum capacity for each
|
523
|
+
# scheduled scaling action. This data is calculated as the larger of
|
524
|
+
# two values: the capacity forecast or the minimum capacity in the
|
525
|
+
# scaling instruction.
|
526
|
+
#
|
527
|
+
# * `ScheduledActionMaxCapacity`\: The maximum capacity for each
|
528
|
+
# scheduled scaling action. The calculation used is determined by
|
529
|
+
# the predictive scaling maximum capacity behavior setting in the
|
530
|
+
# scaling instruction.
|
531
|
+
# @return [String]
|
532
|
+
#
|
533
|
+
# @!attribute [rw] start_time
|
534
|
+
# The inclusive start time of the time range for the forecast data to
|
535
|
+
# get. The date and time can be at most 56 days before the current
|
536
|
+
# date and time.
|
537
|
+
# @return [Time]
|
538
|
+
#
|
539
|
+
# @!attribute [rw] end_time
|
540
|
+
# The exclusive end time of the time range for the forecast data to
|
541
|
+
# get. The maximum time duration between the start and end time is
|
542
|
+
# seven days.
|
543
|
+
#
|
544
|
+
# Although this parameter can accept a date and time that is more than
|
545
|
+
# two days in the future, the availability of forecast data has
|
546
|
+
# limits. AWS Auto Scaling only issues forecasts for periods of two
|
547
|
+
# days in advance.
|
548
|
+
# @return [Time]
|
549
|
+
#
|
550
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/GetScalingPlanResourceForecastDataRequest AWS API Documentation
|
551
|
+
#
|
552
|
+
class GetScalingPlanResourceForecastDataRequest < Struct.new(
|
553
|
+
:scaling_plan_name,
|
554
|
+
:scaling_plan_version,
|
555
|
+
:service_namespace,
|
556
|
+
:resource_id,
|
557
|
+
:scalable_dimension,
|
558
|
+
:forecast_data_type,
|
559
|
+
:start_time,
|
560
|
+
:end_time)
|
561
|
+
include Aws::Structure
|
562
|
+
end
|
563
|
+
|
564
|
+
# @!attribute [rw] datapoints
|
565
|
+
# The data points to return.
|
566
|
+
# @return [Array<Types::Datapoint>]
|
567
|
+
#
|
568
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/GetScalingPlanResourceForecastDataResponse AWS API Documentation
|
569
|
+
#
|
570
|
+
class GetScalingPlanResourceForecastDataResponse < Struct.new(
|
571
|
+
:datapoints)
|
572
|
+
include Aws::Structure
|
573
|
+
end
|
574
|
+
|
330
575
|
# Represents a dimension for a customized metric.
|
331
576
|
#
|
332
577
|
# @note When making an API call, you may pass MetricDimension
|
@@ -353,7 +598,48 @@ module Aws::AutoScalingPlans
|
|
353
598
|
include Aws::Structure
|
354
599
|
end
|
355
600
|
|
356
|
-
# Represents a predefined metric
|
601
|
+
# Represents a predefined metric that can be used for predictive
|
602
|
+
# scaling.
|
603
|
+
#
|
604
|
+
# @note When making an API call, you may pass PredefinedLoadMetricSpecification
|
605
|
+
# data as a hash:
|
606
|
+
#
|
607
|
+
# {
|
608
|
+
# predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
|
609
|
+
# resource_label: "ResourceLabel",
|
610
|
+
# }
|
611
|
+
#
|
612
|
+
# @!attribute [rw] predefined_load_metric_type
|
613
|
+
# The metric type.
|
614
|
+
# @return [String]
|
615
|
+
#
|
616
|
+
# @!attribute [rw] resource_label
|
617
|
+
# Identifies the resource associated with the metric type. You can't
|
618
|
+
# specify a resource label unless the metric type is
|
619
|
+
# `ALBRequestCountPerTarget` and there is a target group for an
|
620
|
+
# Application Load Balancer attached to the Auto Scaling group.
|
621
|
+
#
|
622
|
+
# The format is
|
623
|
+
# app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>,
|
624
|
+
# where:
|
625
|
+
#
|
626
|
+
# * app/<load-balancer-name>/<load-balancer-id> is the
|
627
|
+
# final portion of the load balancer ARN.
|
628
|
+
#
|
629
|
+
# * targetgroup/<target-group-name>/<target-group-id> is
|
630
|
+
# the final portion of the target group ARN.
|
631
|
+
# @return [String]
|
632
|
+
#
|
633
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/PredefinedLoadMetricSpecification AWS API Documentation
|
634
|
+
#
|
635
|
+
class PredefinedLoadMetricSpecification < Struct.new(
|
636
|
+
:predefined_load_metric_type,
|
637
|
+
:resource_label)
|
638
|
+
include Aws::Structure
|
639
|
+
end
|
640
|
+
|
641
|
+
# Represents a predefined metric that can be used for dynamic scaling as
|
642
|
+
# part of a target tracking scaling policy.
|
357
643
|
#
|
358
644
|
# @note When making an API call, you may pass PredefinedScalingMetricSpecification
|
359
645
|
# data as a hash:
|
@@ -365,7 +651,7 @@ module Aws::AutoScalingPlans
|
|
365
651
|
#
|
366
652
|
# @!attribute [rw] predefined_scaling_metric_type
|
367
653
|
# The metric type. The `ALBRequestCountPerTarget` metric type applies
|
368
|
-
# only to Auto Scaling groups,
|
654
|
+
# only to Auto Scaling groups, Spot Fleet requests, and ECS services.
|
369
655
|
# @return [String]
|
370
656
|
#
|
371
657
|
# @!attribute [rw] resource_label
|
@@ -380,7 +666,7 @@ module Aws::AutoScalingPlans
|
|
380
666
|
# where:
|
381
667
|
#
|
382
668
|
# * app/<load-balancer-name>/<load-balancer-id> is the
|
383
|
-
# final portion of the load balancer ARN
|
669
|
+
# final portion of the load balancer ARN.
|
384
670
|
#
|
385
671
|
# * targetgroup/<target-group-name>/<target-group-id> is
|
386
672
|
# the final portion of the target group ARN.
|
@@ -394,7 +680,33 @@ module Aws::AutoScalingPlans
|
|
394
680
|
include Aws::Structure
|
395
681
|
end
|
396
682
|
|
397
|
-
#
|
683
|
+
# Describes a scaling instruction for a scalable resource.
|
684
|
+
#
|
685
|
+
# The scaling instruction is used in combination with a scaling plan,
|
686
|
+
# which is a set of instructions for configuring dynamic scaling and
|
687
|
+
# predictive scaling for the scalable resources in your application.
|
688
|
+
# Each scaling instruction applies to one resource.
|
689
|
+
#
|
690
|
+
# AWS Auto Scaling creates target tracking scaling policies based on the
|
691
|
+
# scaling instructions. Target tracking scaling policies adjust the
|
692
|
+
# capacity of your scalable resource as required to maintain resource
|
693
|
+
# utilization at the target value that you specified.
|
694
|
+
#
|
695
|
+
# AWS Auto Scaling also configures predictive scaling for your Amazon
|
696
|
+
# EC2 Auto Scaling groups using a subset of parameters, including the
|
697
|
+
# load metric, the scaling metric, the target value for the scaling
|
698
|
+
# metric, the predictive scaling mode (forecast and scale or forecast
|
699
|
+
# only), and the desired behavior when the forecast capacity exceeds the
|
700
|
+
# maximum capacity of the resource. With predictive scaling, AWS Auto
|
701
|
+
# Scaling generates forecasts with traffic predictions for the two days
|
702
|
+
# ahead and schedules scaling actions that proactively add and remove
|
703
|
+
# resource capacity to match the forecast.
|
704
|
+
#
|
705
|
+
# For more information, see the [AWS Auto Scaling User Guide][1].
|
706
|
+
#
|
707
|
+
#
|
708
|
+
#
|
709
|
+
# [1]: http://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html
|
398
710
|
#
|
399
711
|
# @note When making an API call, you may pass ScalingInstruction
|
400
712
|
# data as a hash:
|
@@ -430,6 +742,28 @@ module Aws::AutoScalingPlans
|
|
430
742
|
# estimated_instance_warmup: 1,
|
431
743
|
# },
|
432
744
|
# ],
|
745
|
+
# predefined_load_metric_specification: {
|
746
|
+
# predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
|
747
|
+
# resource_label: "ResourceLabel",
|
748
|
+
# },
|
749
|
+
# customized_load_metric_specification: {
|
750
|
+
# metric_name: "MetricName", # required
|
751
|
+
# namespace: "MetricNamespace", # required
|
752
|
+
# dimensions: [
|
753
|
+
# {
|
754
|
+
# name: "MetricDimensionName", # required
|
755
|
+
# value: "MetricDimensionValue", # required
|
756
|
+
# },
|
757
|
+
# ],
|
758
|
+
# statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
|
759
|
+
# unit: "MetricUnit",
|
760
|
+
# },
|
761
|
+
# scheduled_action_buffer_time: 1,
|
762
|
+
# predictive_scaling_max_capacity_behavior: "SetForecastCapacityToMaxCapacity", # accepts SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity
|
763
|
+
# predictive_scaling_max_capacity_buffer: 1,
|
764
|
+
# predictive_scaling_mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
|
765
|
+
# scaling_policy_update_behavior: "KeepExternalPolicies", # accepts KeepExternalPolicies, ReplaceExternalPolicies
|
766
|
+
# disable_dynamic_scaling: false,
|
433
767
|
# }
|
434
768
|
#
|
435
769
|
# @!attribute [rw] service_namespace
|
@@ -448,8 +782,8 @@ module Aws::AutoScalingPlans
|
|
448
782
|
# identifier is the cluster name and service name. Example:
|
449
783
|
# `service/default/sample-webapp`.
|
450
784
|
#
|
451
|
-
# * Spot
|
452
|
-
# the unique identifier is the Spot
|
785
|
+
# * Spot Fleet request - The resource type is `spot-fleet-request` and
|
786
|
+
# the unique identifier is the Spot Fleet request ID. Example:
|
453
787
|
# `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
|
454
788
|
#
|
455
789
|
# * DynamoDB table - The resource type is `table` and the unique
|
@@ -473,7 +807,7 @@ module Aws::AutoScalingPlans
|
|
473
807
|
# service.
|
474
808
|
#
|
475
809
|
# * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
|
476
|
-
# Spot
|
810
|
+
# Spot Fleet request.
|
477
811
|
#
|
478
812
|
# * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
|
479
813
|
# for a DynamoDB table.
|
@@ -493,17 +827,129 @@ module Aws::AutoScalingPlans
|
|
493
827
|
# @return [String]
|
494
828
|
#
|
495
829
|
# @!attribute [rw] min_capacity
|
496
|
-
# The minimum
|
830
|
+
# The minimum capacity of the resource.
|
497
831
|
# @return [Integer]
|
498
832
|
#
|
499
833
|
# @!attribute [rw] max_capacity
|
500
|
-
# The maximum
|
834
|
+
# The maximum capacity of the resource. The exception to this upper
|
835
|
+
# limit is if you specify a non-default setting for
|
836
|
+
# **PredictiveScalingMaxCapacityBehavior**.
|
501
837
|
# @return [Integer]
|
502
838
|
#
|
503
839
|
# @!attribute [rw] target_tracking_configurations
|
504
|
-
# The target tracking
|
840
|
+
# The structure that defines new target tracking configurations (up to
|
841
|
+
# 10). Each of these structures includes a specific scaling metric and
|
842
|
+
# a target value for the metric, along with various parameters to use
|
843
|
+
# with dynamic scaling.
|
844
|
+
#
|
845
|
+
# With predictive scaling and dynamic scaling, the resource scales
|
846
|
+
# based on the target tracking configuration that provides the largest
|
847
|
+
# capacity for both scale in and scale out.
|
848
|
+
#
|
849
|
+
# Condition: The scaling metric must be unique across target tracking
|
850
|
+
# configurations.
|
505
851
|
# @return [Array<Types::TargetTrackingConfiguration>]
|
506
852
|
#
|
853
|
+
# @!attribute [rw] predefined_load_metric_specification
|
854
|
+
# The predefined load metric to use for predictive scaling. This
|
855
|
+
# parameter or a **CustomizedLoadMetricSpecification** is required
|
856
|
+
# when configuring predictive scaling, and cannot be used otherwise.
|
857
|
+
# @return [Types::PredefinedLoadMetricSpecification]
|
858
|
+
#
|
859
|
+
# @!attribute [rw] customized_load_metric_specification
|
860
|
+
# The customized load metric to use for predictive scaling. This
|
861
|
+
# parameter or a **PredefinedLoadMetricSpecification** is required
|
862
|
+
# when configuring predictive scaling, and cannot be used otherwise.
|
863
|
+
# @return [Types::CustomizedLoadMetricSpecification]
|
864
|
+
#
|
865
|
+
# @!attribute [rw] scheduled_action_buffer_time
|
866
|
+
# The amount of time, in seconds, to buffer the run time of scheduled
|
867
|
+
# scaling actions when scaling out. For example, if the forecast says
|
868
|
+
# to add capacity at 10:00 AM, and the buffer time is 5 minutes, then
|
869
|
+
# the run time of the corresponding scheduled scaling action will be
|
870
|
+
# 9:55 AM. The intention is to give resources time to be provisioned.
|
871
|
+
# For example, it can take a few minutes to launch an EC2 instance.
|
872
|
+
# The actual amount of time required depends on several factors, such
|
873
|
+
# as the size of the instance and whether there are startup scripts to
|
874
|
+
# complete.
|
875
|
+
#
|
876
|
+
# The value must be less than the forecast interval duration of 3600
|
877
|
+
# seconds (60 minutes). The default is 300 seconds.
|
878
|
+
#
|
879
|
+
# Only valid when configuring predictive scaling.
|
880
|
+
# @return [Integer]
|
881
|
+
#
|
882
|
+
# @!attribute [rw] predictive_scaling_max_capacity_behavior
|
883
|
+
# Defines the behavior that should be applied if the forecast capacity
|
884
|
+
# approaches or exceeds the maximum capacity specified for the
|
885
|
+
# resource. The default value is `SetForecastCapacityToMaxCapacity`.
|
886
|
+
#
|
887
|
+
# The following are possible values:
|
888
|
+
#
|
889
|
+
# * `SetForecastCapacityToMaxCapacity` - AWS Auto Scaling cannot scale
|
890
|
+
# resource capacity higher than the maximum capacity. The maximum
|
891
|
+
# capacity is enforced as a hard limit.
|
892
|
+
#
|
893
|
+
# * `SetMaxCapacityToForecastCapacity` - AWS Auto Scaling may scale
|
894
|
+
# resource capacity higher than the maximum capacity to equal but
|
895
|
+
# not exceed forecast capacity.
|
896
|
+
#
|
897
|
+
# * `SetMaxCapacityAboveForecastCapacity` - AWS Auto Scaling may scale
|
898
|
+
# resource capacity higher than the maximum capacity by a specified
|
899
|
+
# buffer value. The intention is to give the target tracking scaling
|
900
|
+
# policy extra capacity if unexpected traffic occurs.
|
901
|
+
#
|
902
|
+
# Only valid when configuring predictive scaling.
|
903
|
+
# @return [String]
|
904
|
+
#
|
905
|
+
# @!attribute [rw] predictive_scaling_max_capacity_buffer
|
906
|
+
# The size of the capacity buffer to use when the forecast capacity is
|
907
|
+
# close to or exceeds the maximum capacity. The value is specified as
|
908
|
+
# a percentage relative to the forecast capacity. For example, if the
|
909
|
+
# buffer is 10, this means a 10 percent buffer, such that if the
|
910
|
+
# forecast capacity is 50, and the maximum capacity is 40, then the
|
911
|
+
# effective maximum capacity is 55.
|
912
|
+
#
|
913
|
+
# Only valid when configuring predictive scaling. Required if the
|
914
|
+
# **PredictiveScalingMaxCapacityBehavior** is set to
|
915
|
+
# `SetMaxCapacityAboveForecastCapacity`, and cannot be used otherwise.
|
916
|
+
#
|
917
|
+
# The range is 1-100.
|
918
|
+
# @return [Integer]
|
919
|
+
#
|
920
|
+
# @!attribute [rw] predictive_scaling_mode
|
921
|
+
# The predictive scaling mode. The default value is
|
922
|
+
# `ForecastAndScale`. Otherwise, AWS Auto Scaling forecasts capacity
|
923
|
+
# but does not create any scheduled scaling actions based on the
|
924
|
+
# capacity forecast.
|
925
|
+
# @return [String]
|
926
|
+
#
|
927
|
+
# @!attribute [rw] scaling_policy_update_behavior
|
928
|
+
# Controls whether a resource's externally created scaling policies
|
929
|
+
# are kept or replaced.
|
930
|
+
#
|
931
|
+
# The default value is `KeepExternalPolicies`. If the parameter is set
|
932
|
+
# to `ReplaceExternalPolicies`, any scaling policies that are external
|
933
|
+
# to AWS Auto Scaling are deleted and new target tracking scaling
|
934
|
+
# policies created.
|
935
|
+
#
|
936
|
+
# Only valid when configuring dynamic scaling.
|
937
|
+
#
|
938
|
+
# Condition: The number of existing policies to be replaced must be
|
939
|
+
# less than or equal to 50. If there are more than 50 policies to be
|
940
|
+
# replaced, AWS Auto Scaling keeps all existing policies and does not
|
941
|
+
# create new ones.
|
942
|
+
# @return [String]
|
943
|
+
#
|
944
|
+
# @!attribute [rw] disable_dynamic_scaling
|
945
|
+
# Controls whether dynamic scaling by AWS Auto Scaling is disabled.
|
946
|
+
# When dynamic scaling is enabled, AWS Auto Scaling creates target
|
947
|
+
# tracking scaling policies based on the specified target tracking
|
948
|
+
# configurations.
|
949
|
+
#
|
950
|
+
# The default is enabled (`false`).
|
951
|
+
# @return [Boolean]
|
952
|
+
#
|
507
953
|
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingInstruction AWS API Documentation
|
508
954
|
#
|
509
955
|
class ScalingInstruction < Struct.new(
|
@@ -512,7 +958,15 @@ module Aws::AutoScalingPlans
|
|
512
958
|
:scalable_dimension,
|
513
959
|
:min_capacity,
|
514
960
|
:max_capacity,
|
515
|
-
:target_tracking_configurations
|
961
|
+
:target_tracking_configurations,
|
962
|
+
:predefined_load_metric_specification,
|
963
|
+
:customized_load_metric_specification,
|
964
|
+
:scheduled_action_buffer_time,
|
965
|
+
:predictive_scaling_max_capacity_behavior,
|
966
|
+
:predictive_scaling_max_capacity_buffer,
|
967
|
+
:predictive_scaling_mode,
|
968
|
+
:scaling_policy_update_behavior,
|
969
|
+
:disable_dynamic_scaling)
|
516
970
|
include Aws::Structure
|
517
971
|
end
|
518
972
|
|
@@ -523,7 +977,7 @@ module Aws::AutoScalingPlans
|
|
523
977
|
# @return [String]
|
524
978
|
#
|
525
979
|
# @!attribute [rw] scaling_plan_version
|
526
|
-
# The version of the scaling plan.
|
980
|
+
# The version number of the scaling plan.
|
527
981
|
# @return [Integer]
|
528
982
|
#
|
529
983
|
# @!attribute [rw] application_source
|
@@ -549,6 +1003,10 @@ module Aws::AutoScalingPlans
|
|
549
1003
|
# * `DeletionInProgress` - The scaling plan is being deleted.
|
550
1004
|
#
|
551
1005
|
# * `DeletionFailed` - The scaling plan could not be deleted.
|
1006
|
+
#
|
1007
|
+
# * `UpdateInProgress` - The scaling plan is being updated.
|
1008
|
+
#
|
1009
|
+
# * `UpdateFailed` - The scaling plan could not be updated.
|
552
1010
|
# @return [String]
|
553
1011
|
#
|
554
1012
|
# @!attribute [rw] status_message
|
@@ -556,11 +1014,12 @@ module Aws::AutoScalingPlans
|
|
556
1014
|
# @return [String]
|
557
1015
|
#
|
558
1016
|
# @!attribute [rw] status_start_time
|
559
|
-
# The Unix
|
1017
|
+
# The Unix time stamp when the scaling plan entered the current
|
1018
|
+
# status.
|
560
1019
|
# @return [Time]
|
561
1020
|
#
|
562
1021
|
# @!attribute [rw] creation_time
|
563
|
-
# The Unix
|
1022
|
+
# The Unix time stamp when the scaling plan was created.
|
564
1023
|
# @return [Time]
|
565
1024
|
#
|
566
1025
|
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/ScalingPlan AWS API Documentation
|
@@ -584,7 +1043,7 @@ module Aws::AutoScalingPlans
|
|
584
1043
|
# @return [String]
|
585
1044
|
#
|
586
1045
|
# @!attribute [rw] scaling_plan_version
|
587
|
-
# The version of the scaling plan.
|
1046
|
+
# The version number of the scaling plan.
|
588
1047
|
# @return [Integer]
|
589
1048
|
#
|
590
1049
|
# @!attribute [rw] service_namespace
|
@@ -603,8 +1062,8 @@ module Aws::AutoScalingPlans
|
|
603
1062
|
# identifier is the cluster name and service name. Example:
|
604
1063
|
# `service/default/sample-webapp`.
|
605
1064
|
#
|
606
|
-
# * Spot
|
607
|
-
# the unique identifier is the Spot
|
1065
|
+
# * Spot Fleet request - The resource type is `spot-fleet-request` and
|
1066
|
+
# the unique identifier is the Spot Fleet request ID. Example:
|
608
1067
|
# `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
|
609
1068
|
#
|
610
1069
|
# * DynamoDB table - The resource type is `table` and the unique
|
@@ -628,7 +1087,7 @@ module Aws::AutoScalingPlans
|
|
628
1087
|
# service.
|
629
1088
|
#
|
630
1089
|
# * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
|
631
|
-
# Spot
|
1090
|
+
# Spot Fleet request.
|
632
1091
|
#
|
633
1092
|
# * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
|
634
1093
|
# for a DynamoDB table.
|
@@ -733,7 +1192,8 @@ module Aws::AutoScalingPlans
|
|
733
1192
|
include Aws::Structure
|
734
1193
|
end
|
735
1194
|
|
736
|
-
#
|
1195
|
+
# Describes a target tracking configuration. Used with
|
1196
|
+
# ScalingInstruction and ScalingPolicy.
|
737
1197
|
#
|
738
1198
|
# @note When making an API call, you may pass TargetTrackingConfiguration
|
739
1199
|
# data as a hash:
|
@@ -776,21 +1236,23 @@ module Aws::AutoScalingPlans
|
|
776
1236
|
# @return [Float]
|
777
1237
|
#
|
778
1238
|
# @!attribute [rw] disable_scale_in
|
779
|
-
# Indicates whether scale in by the target tracking policy is
|
1239
|
+
# Indicates whether scale in by the target tracking scaling policy is
|
780
1240
|
# disabled. If the value is `true`, scale in is disabled and the
|
781
|
-
# target tracking policy
|
782
|
-
# resource. Otherwise, scale in is enabled and the target
|
783
|
-
# policy can remove capacity from the scalable
|
784
|
-
#
|
1241
|
+
# target tracking scaling policy doesn't remove capacity from the
|
1242
|
+
# scalable resource. Otherwise, scale in is enabled and the target
|
1243
|
+
# tracking scaling policy can remove capacity from the scalable
|
1244
|
+
# resource.
|
1245
|
+
#
|
1246
|
+
# The default value is `false`.
|
785
1247
|
# @return [Boolean]
|
786
1248
|
#
|
787
1249
|
# @!attribute [rw] scale_out_cooldown
|
788
|
-
# The amount of time, in seconds, after a scale
|
789
|
-
# before another scale
|
1250
|
+
# The amount of time, in seconds, after a scale-out activity completes
|
1251
|
+
# before another scale-out activity can start. This value is not used
|
790
1252
|
# if the scalable resource is an Auto Scaling group.
|
791
1253
|
#
|
792
1254
|
# While the cooldown period is in effect, the capacity that has been
|
793
|
-
# added by the previous scale
|
1255
|
+
# added by the previous scale-out event that initiated the cooldown is
|
794
1256
|
# calculated as part of the desired capacity for the next scale out.
|
795
1257
|
# The intention is to continuously (but not excessively) scale out.
|
796
1258
|
# @return [Integer]
|
@@ -803,7 +1265,7 @@ module Aws::AutoScalingPlans
|
|
803
1265
|
# The cooldown period is used to block subsequent scale in requests
|
804
1266
|
# until it has expired. The intention is to scale in conservatively to
|
805
1267
|
# protect your application's availability. However, if another alarm
|
806
|
-
# triggers a scale
|
1268
|
+
# triggers a scale-out policy during the cooldown period after a
|
807
1269
|
# scale-in, AWS Auto Scaling scales out your scalable target
|
808
1270
|
# immediately.
|
809
1271
|
# @return [Integer]
|
@@ -831,6 +1293,8 @@ module Aws::AutoScalingPlans
|
|
831
1293
|
# data as a hash:
|
832
1294
|
#
|
833
1295
|
# {
|
1296
|
+
# scaling_plan_name: "ScalingPlanName", # required
|
1297
|
+
# scaling_plan_version: 1, # required
|
834
1298
|
# application_source: {
|
835
1299
|
# cloud_formation_stack_arn: "XmlString",
|
836
1300
|
# tag_filters: [
|
@@ -840,7 +1304,6 @@ module Aws::AutoScalingPlans
|
|
840
1304
|
# },
|
841
1305
|
# ],
|
842
1306
|
# },
|
843
|
-
# scaling_plan_name: "ScalingPlanName", # required
|
844
1307
|
# scaling_instructions: [
|
845
1308
|
# {
|
846
1309
|
# service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
|
@@ -873,34 +1336,55 @@ module Aws::AutoScalingPlans
|
|
873
1336
|
# estimated_instance_warmup: 1,
|
874
1337
|
# },
|
875
1338
|
# ],
|
1339
|
+
# predefined_load_metric_specification: {
|
1340
|
+
# predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
|
1341
|
+
# resource_label: "ResourceLabel",
|
1342
|
+
# },
|
1343
|
+
# customized_load_metric_specification: {
|
1344
|
+
# metric_name: "MetricName", # required
|
1345
|
+
# namespace: "MetricNamespace", # required
|
1346
|
+
# dimensions: [
|
1347
|
+
# {
|
1348
|
+
# name: "MetricDimensionName", # required
|
1349
|
+
# value: "MetricDimensionValue", # required
|
1350
|
+
# },
|
1351
|
+
# ],
|
1352
|
+
# statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
|
1353
|
+
# unit: "MetricUnit",
|
1354
|
+
# },
|
1355
|
+
# scheduled_action_buffer_time: 1,
|
1356
|
+
# predictive_scaling_max_capacity_behavior: "SetForecastCapacityToMaxCapacity", # accepts SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity
|
1357
|
+
# predictive_scaling_max_capacity_buffer: 1,
|
1358
|
+
# predictive_scaling_mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
|
1359
|
+
# scaling_policy_update_behavior: "KeepExternalPolicies", # accepts KeepExternalPolicies, ReplaceExternalPolicies
|
1360
|
+
# disable_dynamic_scaling: false,
|
876
1361
|
# },
|
877
1362
|
# ],
|
878
|
-
# scaling_plan_version: 1, # required
|
879
1363
|
# }
|
880
1364
|
#
|
881
|
-
# @!attribute [rw] application_source
|
882
|
-
# A CloudFormation stack or set of tags.
|
883
|
-
# @return [Types::ApplicationSource]
|
884
|
-
#
|
885
1365
|
# @!attribute [rw] scaling_plan_name
|
886
1366
|
# The name of the scaling plan.
|
887
1367
|
# @return [String]
|
888
1368
|
#
|
1369
|
+
# @!attribute [rw] scaling_plan_version
|
1370
|
+
# The version number of the scaling plan.
|
1371
|
+
# @return [Integer]
|
1372
|
+
#
|
1373
|
+
# @!attribute [rw] application_source
|
1374
|
+
# A CloudFormation stack or set of tags.
|
1375
|
+
# @return [Types::ApplicationSource]
|
1376
|
+
#
|
889
1377
|
# @!attribute [rw] scaling_instructions
|
890
1378
|
# The scaling instructions.
|
891
1379
|
# @return [Array<Types::ScalingInstruction>]
|
892
1380
|
#
|
893
|
-
# @!attribute [rw] scaling_plan_version
|
894
|
-
# The version number.
|
895
|
-
# @return [Integer]
|
896
|
-
#
|
897
1381
|
# @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/UpdateScalingPlanRequest AWS API Documentation
|
898
1382
|
#
|
899
1383
|
class UpdateScalingPlanRequest < Struct.new(
|
900
|
-
:application_source,
|
901
1384
|
:scaling_plan_name,
|
902
|
-
:
|
903
|
-
:
|
1385
|
+
:scaling_plan_version,
|
1386
|
+
:application_source,
|
1387
|
+
:scaling_instructions)
|
904
1388
|
include Aws::Structure
|
905
1389
|
end
|
906
1390
|
|