aws-sdk-autoscaling 1.59.0 → 1.60.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc3a48080fe94ce366f5e6dd885e82c1cd9aea11b564a1e815e78c7a9b55d950
4
- data.tar.gz: b8042019d03bcdefb45d5f72f6cf1c6b3e79c44bf0a043d92af4d7206ab49b7e
3
+ metadata.gz: 7c702255893509c523308e025f91e803c9d9df3c8dbdbcf58e2cd39cf9d46cc3
4
+ data.tar.gz: cbaa04cbd146d54a4707204524be6fb6999ad07f4377fc41b7a3431274ee617a
5
5
  SHA512:
6
- metadata.gz: a04ba3cf7efb82abbdc81368bcb7caffad96f69b1f959a5116834f3e8b537e3ad8e2fb8f47c44c877ca66be7373e664544ba298e996e02afa205e74831c88560
7
- data.tar.gz: 502ab35c2e6b91621375a287e65686004457a38d838810e2ecd6a849a51dc5724479bad4f7c138eb1b9710909b868b20a70ad43c124a9a2005b675d80162278e
6
+ metadata.gz: 2f2da4271f59058a0107ba82acfcf112d3aa3b5ebcf75d88d457ec19cfa7254a2263ede525f616f9fae1a0cca1217f5666f8649caec8b561b624f7819fd8e219
7
+ data.tar.gz: 8673db6cc6365df588d6b62fd5aca9bb59ce061f7e0431c76abaa06caa6f58937c3db4ba350d6e21ea37d264b22007d5a91f5758f86f518adb946ecffd0c1df1
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.60.0 (2021-04-08)
5
+ ------------------
6
+
7
+ * Feature - Amazon EC2 Auto Scaling announces Warm Pools that help applications to scale out faster by pre-initializing EC2 instances and save money by requiring fewer continuously running instances
8
+
4
9
  1.59.0 (2021-03-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.59.0
1
+ 1.60.0
@@ -59,6 +59,6 @@ require_relative 'aws-sdk-autoscaling/customizations'
59
59
  # @!group service
60
60
  module Aws::AutoScaling
61
61
 
62
- GEM_VERSION = '1.59.0'
62
+ GEM_VERSION = '1.60.0'
63
63
 
64
64
  end
@@ -192,6 +192,18 @@ module Aws::AutoScaling
192
192
  data[:capacity_rebalance]
193
193
  end
194
194
 
195
+ # The warm pool for the group.
196
+ # @return [Types::WarmPoolConfiguration]
197
+ def warm_pool_configuration
198
+ data[:warm_pool_configuration]
199
+ end
200
+
201
+ # The current size of the warm pool.
202
+ # @return [Integer]
203
+ def warm_pool_size
204
+ data[:warm_pool_size]
205
+ end
206
+
195
207
  # @!endgroup
196
208
 
197
209
  # @return [Client]
@@ -415,8 +427,8 @@ module Aws::AutoScaling
415
427
  # @option options [Boolean] :force_delete
416
428
  # Specifies that the group is to be deleted along with all instances
417
429
  # associated with the group, without waiting for all instances to be
418
- # terminated. This parameter also deletes any lifecycle actions
419
- # associated with the group.
430
+ # terminated. This parameter also deletes any outstanding lifecycle
431
+ # actions associated with the group.
420
432
  # @return [EmptyStructure]
421
433
  def delete(options = {})
422
434
  options = options.merge(auto_scaling_group_name: @name)
@@ -486,6 +498,20 @@ module Aws::AutoScaling
486
498
  #
487
499
  # * `GroupTotalCapacity`
488
500
  #
501
+ # * `WarmPoolDesiredCapacity`
502
+ #
503
+ # * `WarmPoolWarmedCapacity`
504
+ #
505
+ # * `WarmPoolPendingCapacity`
506
+ #
507
+ # * `WarmPoolTerminatingCapacity`
508
+ #
509
+ # * `WarmPoolTotalCapacity`
510
+ #
511
+ # * `GroupAndWarmPoolDesiredCapacity`
512
+ #
513
+ # * `GroupAndWarmPoolTotalCapacity`
514
+ #
489
515
  # If you omit this parameter, all metrics are disabled.
490
516
  # @return [EmptyStructure]
491
517
  def disable_metrics_collection(options = {})
@@ -534,6 +560,22 @@ module Aws::AutoScaling
534
560
  #
535
561
  # * `GroupTotalCapacity`
536
562
  #
563
+ # The warm pools feature supports the following additional metrics:
564
+ #
565
+ # * `WarmPoolDesiredCapacity`
566
+ #
567
+ # * `WarmPoolWarmedCapacity`
568
+ #
569
+ # * `WarmPoolPendingCapacity`
570
+ #
571
+ # * `WarmPoolTerminatingCapacity`
572
+ #
573
+ # * `WarmPoolTotalCapacity`
574
+ #
575
+ # * `GroupAndWarmPoolDesiredCapacity`
576
+ #
577
+ # * `GroupAndWarmPoolTotalCapacity`
578
+ #
537
579
  # If you omit this parameter, all metrics are enabled.
538
580
  # @option options [required, String] :granularity
539
581
  # The granularity to associate with the metrics to collect. The only
@@ -1032,9 +1032,12 @@ module Aws::AutoScaling
1032
1032
  #
1033
1033
  # resp = client.create_auto_scaling_group({
1034
1034
  # auto_scaling_group_name: "my-auto-scaling-group",
1035
- # health_check_grace_period: 120,
1035
+ # health_check_grace_period: 300,
1036
1036
  # health_check_type: "ELB",
1037
- # launch_configuration_name: "my-launch-config",
1037
+ # launch_template: {
1038
+ # launch_template_id: "lt-0a20c965061f64abc",
1039
+ # version: "$Default",
1040
+ # },
1038
1041
  # max_size: 3,
1039
1042
  # min_size: 1,
1040
1043
  # target_group_arns: [
@@ -1043,23 +1046,45 @@ module Aws::AutoScaling
1043
1046
  # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1044
1047
  # })
1045
1048
  #
1046
- # @example Example: To create an Auto Scaling group with an attached load balancer
1049
+ # @example Example: To create an Auto Scaling group with a mixed instances policy
1047
1050
  #
1048
- # # This example creates an Auto Scaling group and attaches the specified Classic Load Balancer.
1051
+ # # This example creates an Auto Scaling group with a mixed instances policy. It specifies the c5.large, c5a.large, and
1052
+ # # c6g.large instance types and defines a different launch template for the c6g.large instance type.
1049
1053
  #
1050
1054
  # resp = client.create_auto_scaling_group({
1051
- # auto_scaling_group_name: "my-auto-scaling-group",
1052
- # availability_zones: [
1053
- # "us-west-2c",
1054
- # ],
1055
- # health_check_grace_period: 120,
1056
- # health_check_type: "ELB",
1057
- # launch_configuration_name: "my-launch-config",
1058
- # load_balancer_names: [
1059
- # "my-load-balancer",
1060
- # ],
1061
- # max_size: 3,
1055
+ # auto_scaling_group_name: "my-asg",
1056
+ # desired_capacity: 3,
1057
+ # max_size: 5,
1062
1058
  # min_size: 1,
1059
+ # mixed_instances_policy: {
1060
+ # instances_distribution: {
1061
+ # on_demand_base_capacity: 1,
1062
+ # on_demand_percentage_above_base_capacity: 50,
1063
+ # spot_allocation_strategy: "capacity-optimized",
1064
+ # },
1065
+ # launch_template: {
1066
+ # launch_template_specification: {
1067
+ # launch_template_name: "my-launch-template-for-x86",
1068
+ # version: "$Latest",
1069
+ # },
1070
+ # overrides: [
1071
+ # {
1072
+ # instance_type: "c6g.large",
1073
+ # launch_template_specification: {
1074
+ # launch_template_name: "my-launch-template-for-arm",
1075
+ # version: "$Latest",
1076
+ # },
1077
+ # },
1078
+ # {
1079
+ # instance_type: "c5.large",
1080
+ # },
1081
+ # {
1082
+ # instance_type: "c5a.large",
1083
+ # },
1084
+ # ],
1085
+ # },
1086
+ # },
1087
+ # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1063
1088
  # })
1064
1089
  #
1065
1090
  # @example Request syntax with placeholder values
@@ -1567,8 +1592,8 @@ module Aws::AutoScaling
1567
1592
  # @option params [Boolean] :force_delete
1568
1593
  # Specifies that the group is to be deleted along with all instances
1569
1594
  # associated with the group, without waiting for all instances to be
1570
- # terminated. This parameter also deletes any lifecycle actions
1571
- # associated with the group.
1595
+ # terminated. This parameter also deletes any outstanding lifecycle
1596
+ # actions associated with the group.
1572
1597
  #
1573
1598
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1574
1599
  #
@@ -1847,6 +1872,35 @@ module Aws::AutoScaling
1847
1872
  req.send_request(options)
1848
1873
  end
1849
1874
 
1875
+ # Deletes the warm pool for the specified Auto Scaling group.
1876
+ #
1877
+ # @option params [required, String] :auto_scaling_group_name
1878
+ # The name of the Auto Scaling group.
1879
+ #
1880
+ # @option params [Boolean] :force_delete
1881
+ # Specifies that the warm pool is to be deleted along with all instances
1882
+ # associated with the warm pool, without waiting for all instances to be
1883
+ # terminated. This parameter also deletes any outstanding lifecycle
1884
+ # actions associated with the warm pool instances.
1885
+ #
1886
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1887
+ #
1888
+ # @example Request syntax with placeholder values
1889
+ #
1890
+ # resp = client.delete_warm_pool({
1891
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
1892
+ # force_delete: false,
1893
+ # })
1894
+ #
1895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPool AWS API Documentation
1896
+ #
1897
+ # @overload delete_warm_pool(params = {})
1898
+ # @param [Hash] params ({})
1899
+ def delete_warm_pool(params = {}, options = {})
1900
+ req = build_request(:delete_warm_pool, params)
1901
+ req.send_request(options)
1902
+ end
1903
+
1850
1904
  # Describes the current Amazon EC2 Auto Scaling resource quotas for your
1851
1905
  # AWS account.
1852
1906
  #
@@ -2078,7 +2132,7 @@ module Aws::AutoScaling
2078
2132
  # resp.auto_scaling_groups[0].instances[0].instance_id #=> String
2079
2133
  # resp.auto_scaling_groups[0].instances[0].instance_type #=> String
2080
2134
  # resp.auto_scaling_groups[0].instances[0].availability_zone #=> String
2081
- # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby"
2135
+ # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
2082
2136
  # resp.auto_scaling_groups[0].instances[0].health_status #=> String
2083
2137
  # resp.auto_scaling_groups[0].instances[0].launch_configuration_name #=> String
2084
2138
  # resp.auto_scaling_groups[0].instances[0].launch_template.launch_template_id #=> String
@@ -2108,6 +2162,11 @@ module Aws::AutoScaling
2108
2162
  # resp.auto_scaling_groups[0].service_linked_role_arn #=> String
2109
2163
  # resp.auto_scaling_groups[0].max_instance_lifetime #=> Integer
2110
2164
  # resp.auto_scaling_groups[0].capacity_rebalance #=> Boolean
2165
+ # resp.auto_scaling_groups[0].warm_pool_configuration.max_group_prepared_capacity #=> Integer
2166
+ # resp.auto_scaling_groups[0].warm_pool_configuration.min_size #=> Integer
2167
+ # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
2168
+ # resp.auto_scaling_groups[0].warm_pool_configuration.status #=> String, one of "PendingDelete"
2169
+ # resp.auto_scaling_groups[0].warm_pool_size #=> Integer
2111
2170
  # resp.next_token #=> String
2112
2171
  #
2113
2172
  #
@@ -2347,6 +2406,10 @@ module Aws::AutoScaling
2347
2406
  # resp.instance_refreshes[0].end_time #=> Time
2348
2407
  # resp.instance_refreshes[0].percentage_complete #=> Integer
2349
2408
  # resp.instance_refreshes[0].instances_to_update #=> Integer
2409
+ # resp.instance_refreshes[0].progress_details.live_pool_progress.percentage_complete #=> Integer
2410
+ # resp.instance_refreshes[0].progress_details.live_pool_progress.instances_to_update #=> Integer
2411
+ # resp.instance_refreshes[0].progress_details.warm_pool_progress.percentage_complete #=> Integer
2412
+ # resp.instance_refreshes[0].progress_details.warm_pool_progress.instances_to_update #=> Integer
2350
2413
  # resp.next_token #=> String
2351
2414
  #
2352
2415
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes AWS API Documentation
@@ -3381,6 +3444,62 @@ module Aws::AutoScaling
3381
3444
  req.send_request(options)
3382
3445
  end
3383
3446
 
3447
+ # Describes a warm pool and its instances.
3448
+ #
3449
+ # @option params [required, String] :auto_scaling_group_name
3450
+ # The name of the Auto Scaling group.
3451
+ #
3452
+ # @option params [Integer] :max_records
3453
+ # The maximum number of instances to return with this call. The maximum
3454
+ # value is `50`.
3455
+ #
3456
+ # @option params [String] :next_token
3457
+ # The token for the next set of instances to return. (You received this
3458
+ # token from a previous call.)
3459
+ #
3460
+ # @return [Types::DescribeWarmPoolAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3461
+ #
3462
+ # * {Types::DescribeWarmPoolAnswer#warm_pool_configuration #warm_pool_configuration} => Types::WarmPoolConfiguration
3463
+ # * {Types::DescribeWarmPoolAnswer#instances #instances} => Array<Types::Instance>
3464
+ # * {Types::DescribeWarmPoolAnswer#next_token #next_token} => String
3465
+ #
3466
+ # @example Request syntax with placeholder values
3467
+ #
3468
+ # resp = client.describe_warm_pool({
3469
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
3470
+ # max_records: 1,
3471
+ # next_token: "XmlString",
3472
+ # })
3473
+ #
3474
+ # @example Response structure
3475
+ #
3476
+ # resp.warm_pool_configuration.max_group_prepared_capacity #=> Integer
3477
+ # resp.warm_pool_configuration.min_size #=> Integer
3478
+ # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
3479
+ # resp.warm_pool_configuration.status #=> String, one of "PendingDelete"
3480
+ # resp.instances #=> Array
3481
+ # resp.instances[0].instance_id #=> String
3482
+ # resp.instances[0].instance_type #=> String
3483
+ # resp.instances[0].availability_zone #=> String
3484
+ # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
3485
+ # resp.instances[0].health_status #=> String
3486
+ # resp.instances[0].launch_configuration_name #=> String
3487
+ # resp.instances[0].launch_template.launch_template_id #=> String
3488
+ # resp.instances[0].launch_template.launch_template_name #=> String
3489
+ # resp.instances[0].launch_template.version #=> String
3490
+ # resp.instances[0].protected_from_scale_in #=> Boolean
3491
+ # resp.instances[0].weighted_capacity #=> String
3492
+ # resp.next_token #=> String
3493
+ #
3494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPool AWS API Documentation
3495
+ #
3496
+ # @overload describe_warm_pool(params = {})
3497
+ # @param [Hash] params ({})
3498
+ def describe_warm_pool(params = {}, options = {})
3499
+ req = build_request(:describe_warm_pool, params)
3500
+ req.send_request(options)
3501
+ end
3502
+
3384
3503
  # Removes one or more instances from the specified Auto Scaling group.
3385
3504
  #
3386
3505
  # After the instances are detached, you can manage them independent of
@@ -3601,6 +3720,20 @@ module Aws::AutoScaling
3601
3720
  #
3602
3721
  # * `GroupTotalCapacity`
3603
3722
  #
3723
+ # * `WarmPoolDesiredCapacity`
3724
+ #
3725
+ # * `WarmPoolWarmedCapacity`
3726
+ #
3727
+ # * `WarmPoolPendingCapacity`
3728
+ #
3729
+ # * `WarmPoolTerminatingCapacity`
3730
+ #
3731
+ # * `WarmPoolTotalCapacity`
3732
+ #
3733
+ # * `GroupAndWarmPoolDesiredCapacity`
3734
+ #
3735
+ # * `GroupAndWarmPoolTotalCapacity`
3736
+ #
3604
3737
  # If you omit this parameter, all metrics are disabled.
3605
3738
  #
3606
3739
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -3677,6 +3810,22 @@ module Aws::AutoScaling
3677
3810
  #
3678
3811
  # * `GroupTotalCapacity`
3679
3812
  #
3813
+ # The warm pools feature supports the following additional metrics:
3814
+ #
3815
+ # * `WarmPoolDesiredCapacity`
3816
+ #
3817
+ # * `WarmPoolWarmedCapacity`
3818
+ #
3819
+ # * `WarmPoolPendingCapacity`
3820
+ #
3821
+ # * `WarmPoolTerminatingCapacity`
3822
+ #
3823
+ # * `WarmPoolTotalCapacity`
3824
+ #
3825
+ # * `GroupAndWarmPoolDesiredCapacity`
3826
+ #
3827
+ # * `GroupAndWarmPoolTotalCapacity`
3828
+ #
3680
3829
  # If you omit this parameter, all metrics are enabled.
3681
3830
  #
3682
3831
  # @option params [required, String] :granularity
@@ -4331,7 +4480,7 @@ module Aws::AutoScaling
4331
4480
  # target_tracking_configuration: {
4332
4481
  # predefined_metric_specification: {
4333
4482
  # predefined_metric_type: "ALBRequestCountPerTarget",
4334
- # resource_label: "app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d",
4483
+ # resource_label: "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff",
4335
4484
  # },
4336
4485
  # target_value: 1000.0,
4337
4486
  # },
@@ -4527,6 +4676,92 @@ module Aws::AutoScaling
4527
4676
  req.send_request(options)
4528
4677
  end
4529
4678
 
4679
+ # Adds a warm pool to the specified Auto Scaling group. A warm pool is a
4680
+ # pool of pre-initialized EC2 instances that sits alongside the Auto
4681
+ # Scaling group. Whenever your application needs to scale out, the Auto
4682
+ # Scaling group can draw on the warm pool to meet its new desired
4683
+ # capacity. For more information, see [Warm pools for Amazon EC2 Auto
4684
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
4685
+ #
4686
+ # This operation must be called from the Region in which the Auto
4687
+ # Scaling group was created. This operation cannot be called on an Auto
4688
+ # Scaling group that has a mixed instances policy or a launch template
4689
+ # or launch configuration that requests Spot Instances.
4690
+ #
4691
+ # You can view the instances in the warm pool using the DescribeWarmPool
4692
+ # API call. If you are no longer using a warm pool, you can delete it by
4693
+ # calling the DeleteWarmPool API.
4694
+ #
4695
+ #
4696
+ #
4697
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
4698
+ #
4699
+ # @option params [required, String] :auto_scaling_group_name
4700
+ # The name of the Auto Scaling group.
4701
+ #
4702
+ # @option params [Integer] :max_group_prepared_capacity
4703
+ # Specifies the total maximum number of instances that are allowed to be
4704
+ # in the warm pool or in any state except `Terminated` for the Auto
4705
+ # Scaling group. This is an optional property. Specify it only if the
4706
+ # warm pool size should not be determined by the difference between the
4707
+ # group's maximum capacity and its desired capacity.
4708
+ #
4709
+ # Amazon EC2 Auto Scaling will launch and maintain either the difference
4710
+ # between the group's maximum capacity and its desired capacity, if a
4711
+ # value for `MaxGroupPreparedCapacity` is not specified, or the
4712
+ # difference between the `MaxGroupPreparedCapacity` and the desired
4713
+ # capacity, if a value for `MaxGroupPreparedCapacity` is specified.
4714
+ #
4715
+ # The size of the warm pool is dynamic. Only when
4716
+ # `MaxGroupPreparedCapacity` and `MinSize` are set to the same value
4717
+ # does the warm pool have an absolute size.
4718
+ #
4719
+ # If the desired capacity of the Auto Scaling group is higher than the
4720
+ # `MaxGroupPreparedCapacity`, the capacity of the warm pool is 0. To
4721
+ # remove a value that you previously set, include the property but
4722
+ # specify -1 for the value.
4723
+ #
4724
+ # @option params [Integer] :min_size
4725
+ # Specifies the minimum number of instances to maintain in the warm
4726
+ # pool. This helps you to ensure that there is always a certain number
4727
+ # of warmed instances available to handle traffic spikes. Defaults to 0
4728
+ # if not specified.
4729
+ #
4730
+ # @option params [String] :pool_state
4731
+ # Sets the instance state to transition to after the lifecycle hooks
4732
+ # finish. Valid values are: `Stopped` (default) or `Running`.
4733
+ #
4734
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4735
+ #
4736
+ #
4737
+ # @example Example: To add a warm pool to an Auto Scaling group
4738
+ #
4739
+ # # This example adds a warm pool to the specified Auto Scaling group.
4740
+ #
4741
+ # resp = client.put_warm_pool({
4742
+ # auto_scaling_group_name: "my-auto-scaling-group",
4743
+ # min_size: 30,
4744
+ # pool_state: "Stopped",
4745
+ # })
4746
+ #
4747
+ # @example Request syntax with placeholder values
4748
+ #
4749
+ # resp = client.put_warm_pool({
4750
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
4751
+ # max_group_prepared_capacity: 1,
4752
+ # min_size: 1,
4753
+ # pool_state: "Stopped", # accepts Stopped, Running
4754
+ # })
4755
+ #
4756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool AWS API Documentation
4757
+ #
4758
+ # @overload put_warm_pool(params = {})
4759
+ # @param [Hash] params ({})
4760
+ def put_warm_pool(params = {}, options = {})
4761
+ req = build_request(:put_warm_pool, params)
4762
+ req.send_request(options)
4763
+ end
4764
+
4530
4765
  # Records a heartbeat for the lifecycle action associated with the
4531
4766
  # specified token or instance. This extends the timeout by the length of
4532
4767
  # time defined using the PutLifecycleHook API call.
@@ -4552,12 +4787,12 @@ module Aws::AutoScaling
4552
4787
  # 5. If you finish before the timeout period ends, complete the
4553
4788
  # lifecycle action.
4554
4789
  #
4555
- # For more information, see [Auto Scaling lifecycle][1] in the *Amazon
4556
- # EC2 Auto Scaling User Guide*.
4790
+ # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
4791
+ # in the *Amazon EC2 Auto Scaling User Guide*.
4557
4792
  #
4558
4793
  #
4559
4794
  #
4560
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html
4795
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
4561
4796
  #
4562
4797
  # @option params [required, String] :lifecycle_hook_name
4563
4798
  # The name of the lifecycle hook.
@@ -4792,6 +5027,7 @@ module Aws::AutoScaling
4792
5027
  end
4793
5028
 
4794
5029
  # Updates the instance protection settings of the specified instances.
5030
+ # This operation cannot be called on instances in a warm pool.
4795
5031
  #
4796
5032
  # For more information about preventing instances that are part of an
4797
5033
  # Auto Scaling group from terminating on scale in, see [Instance
@@ -4859,8 +5095,8 @@ module Aws::AutoScaling
4859
5095
  end
4860
5096
 
4861
5097
  # Starts a new instance refresh operation, which triggers a rolling
4862
- # replacement of all previously launched instances in the Auto Scaling
4863
- # group with a new group of instances.
5098
+ # replacement of previously launched instances in the Auto Scaling group
5099
+ # with a new group of instances.
4864
5100
  #
4865
5101
  # If successful, this call creates a new instance refresh request with a
4866
5102
  # unique ID that you can use to track its progress. To query its status,
@@ -5025,7 +5261,8 @@ module Aws::AutoScaling
5025
5261
  end
5026
5262
 
5027
5263
  # Terminates the specified instance and optionally adjusts the desired
5028
- # group size.
5264
+ # group size. This operation cannot be called on instances in a warm
5265
+ # pool.
5029
5266
  #
5030
5267
  # This call simply makes a termination request. The instance is not
5031
5268
  # terminated immediately. When an instance is terminated, the instance
@@ -5408,7 +5645,7 @@ module Aws::AutoScaling
5408
5645
  params: params,
5409
5646
  config: config)
5410
5647
  context[:gem_name] = 'aws-sdk-autoscaling'
5411
- context[:gem_version] = '1.59.0'
5648
+ context[:gem_version] = '1.60.0'
5412
5649
  Seahorse::Client::Request.new(handlers, context)
5413
5650
  end
5414
5651
 
@@ -76,6 +76,8 @@ module Aws::AutoScaling
76
76
  DeletePolicyType = Shapes::StructureShape.new(name: 'DeletePolicyType')
77
77
  DeleteScheduledActionType = Shapes::StructureShape.new(name: 'DeleteScheduledActionType')
78
78
  DeleteTagsType = Shapes::StructureShape.new(name: 'DeleteTagsType')
79
+ DeleteWarmPoolAnswer = Shapes::StructureShape.new(name: 'DeleteWarmPoolAnswer')
80
+ DeleteWarmPoolType = Shapes::StructureShape.new(name: 'DeleteWarmPoolType')
79
81
  DescribeAccountLimitsAnswer = Shapes::StructureShape.new(name: 'DescribeAccountLimitsAnswer')
80
82
  DescribeAdjustmentTypesAnswer = Shapes::StructureShape.new(name: 'DescribeAdjustmentTypesAnswer')
81
83
  DescribeAutoScalingInstancesType = Shapes::StructureShape.new(name: 'DescribeAutoScalingInstancesType')
@@ -97,6 +99,8 @@ module Aws::AutoScaling
97
99
  DescribeScheduledActionsType = Shapes::StructureShape.new(name: 'DescribeScheduledActionsType')
98
100
  DescribeTagsType = Shapes::StructureShape.new(name: 'DescribeTagsType')
99
101
  DescribeTerminationPolicyTypesAnswer = Shapes::StructureShape.new(name: 'DescribeTerminationPolicyTypesAnswer')
102
+ DescribeWarmPoolAnswer = Shapes::StructureShape.new(name: 'DescribeWarmPoolAnswer')
103
+ DescribeWarmPoolType = Shapes::StructureShape.new(name: 'DescribeWarmPoolType')
100
104
  DetachInstancesAnswer = Shapes::StructureShape.new(name: 'DetachInstancesAnswer')
101
105
  DetachInstancesQuery = Shapes::StructureShape.new(name: 'DetachInstancesQuery')
102
106
  DetachLoadBalancerTargetGroupsResultType = Shapes::StructureShape.new(name: 'DetachLoadBalancerTargetGroupsResultType')
@@ -137,7 +141,10 @@ module Aws::AutoScaling
137
141
  InstanceRefresh = Shapes::StructureShape.new(name: 'InstanceRefresh')
138
142
  InstanceRefreshIds = Shapes::ListShape.new(name: 'InstanceRefreshIds')
139
143
  InstanceRefreshInProgressFault = Shapes::StructureShape.new(name: 'InstanceRefreshInProgressFault')
144
+ InstanceRefreshLivePoolProgress = Shapes::StructureShape.new(name: 'InstanceRefreshLivePoolProgress')
145
+ InstanceRefreshProgressDetails = Shapes::StructureShape.new(name: 'InstanceRefreshProgressDetails')
140
146
  InstanceRefreshStatus = Shapes::StringShape.new(name: 'InstanceRefreshStatus')
147
+ InstanceRefreshWarmPoolProgress = Shapes::StructureShape.new(name: 'InstanceRefreshWarmPoolProgress')
141
148
  InstanceRefreshes = Shapes::ListShape.new(name: 'InstanceRefreshes')
142
149
  Instances = Shapes::ListShape.new(name: 'Instances')
143
150
  InstancesDistribution = Shapes::StructureShape.new(name: 'InstancesDistribution')
@@ -169,6 +176,7 @@ module Aws::AutoScaling
169
176
  LoadBalancerStates = Shapes::ListShape.new(name: 'LoadBalancerStates')
170
177
  LoadBalancerTargetGroupState = Shapes::StructureShape.new(name: 'LoadBalancerTargetGroupState')
171
178
  LoadBalancerTargetGroupStates = Shapes::ListShape.new(name: 'LoadBalancerTargetGroupStates')
179
+ MaxGroupPreparedCapacity = Shapes::IntegerShape.new(name: 'MaxGroupPreparedCapacity')
172
180
  MaxInstanceLifetime = Shapes::IntegerShape.new(name: 'MaxInstanceLifetime')
173
181
  MaxNumberOfAutoScalingGroups = Shapes::IntegerShape.new(name: 'MaxNumberOfAutoScalingGroups')
174
182
  MaxNumberOfLaunchConfigurations = Shapes::IntegerShape.new(name: 'MaxNumberOfLaunchConfigurations')
@@ -221,6 +229,8 @@ module Aws::AutoScaling
221
229
  PutNotificationConfigurationType = Shapes::StructureShape.new(name: 'PutNotificationConfigurationType')
222
230
  PutScalingPolicyType = Shapes::StructureShape.new(name: 'PutScalingPolicyType')
223
231
  PutScheduledUpdateGroupActionType = Shapes::StructureShape.new(name: 'PutScheduledUpdateGroupActionType')
232
+ PutWarmPoolAnswer = Shapes::StructureShape.new(name: 'PutWarmPoolAnswer')
233
+ PutWarmPoolType = Shapes::StructureShape.new(name: 'PutWarmPoolType')
224
234
  RecordLifecycleActionHeartbeatAnswer = Shapes::StructureShape.new(name: 'RecordLifecycleActionHeartbeatAnswer')
225
235
  RecordLifecycleActionHeartbeatType = Shapes::StructureShape.new(name: 'RecordLifecycleActionHeartbeatType')
226
236
  RefreshInstanceWarmup = Shapes::IntegerShape.new(name: 'RefreshInstanceWarmup')
@@ -271,6 +281,11 @@ module Aws::AutoScaling
271
281
  TimestampType = Shapes::TimestampShape.new(name: 'TimestampType')
272
282
  UpdateAutoScalingGroupType = Shapes::StructureShape.new(name: 'UpdateAutoScalingGroupType')
273
283
  Values = Shapes::ListShape.new(name: 'Values')
284
+ WarmPoolConfiguration = Shapes::StructureShape.new(name: 'WarmPoolConfiguration')
285
+ WarmPoolMinSize = Shapes::IntegerShape.new(name: 'WarmPoolMinSize')
286
+ WarmPoolSize = Shapes::IntegerShape.new(name: 'WarmPoolSize')
287
+ WarmPoolState = Shapes::StringShape.new(name: 'WarmPoolState')
288
+ WarmPoolStatus = Shapes::StringShape.new(name: 'WarmPoolStatus')
274
289
  XmlString = Shapes::StringShape.new(name: 'XmlString')
275
290
  XmlStringMaxLen1023 = Shapes::StringShape.new(name: 'XmlStringMaxLen1023')
276
291
  XmlStringMaxLen1600 = Shapes::StringShape.new(name: 'XmlStringMaxLen1600')
@@ -367,6 +382,8 @@ module Aws::AutoScaling
367
382
  AutoScalingGroup.add_member(:service_linked_role_arn, Shapes::ShapeRef.new(shape: ResourceName, location_name: "ServiceLinkedRoleARN"))
368
383
  AutoScalingGroup.add_member(:max_instance_lifetime, Shapes::ShapeRef.new(shape: MaxInstanceLifetime, location_name: "MaxInstanceLifetime"))
369
384
  AutoScalingGroup.add_member(:capacity_rebalance, Shapes::ShapeRef.new(shape: CapacityRebalanceEnabled, location_name: "CapacityRebalance"))
385
+ AutoScalingGroup.add_member(:warm_pool_configuration, Shapes::ShapeRef.new(shape: WarmPoolConfiguration, location_name: "WarmPoolConfiguration"))
386
+ AutoScalingGroup.add_member(:warm_pool_size, Shapes::ShapeRef.new(shape: WarmPoolSize, location_name: "WarmPoolSize"))
370
387
  AutoScalingGroup.struct_class = Types::AutoScalingGroup
371
388
 
372
389
  AutoScalingGroupNames.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
@@ -526,6 +543,12 @@ module Aws::AutoScaling
526
543
  DeleteTagsType.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
527
544
  DeleteTagsType.struct_class = Types::DeleteTagsType
528
545
 
546
+ DeleteWarmPoolAnswer.struct_class = Types::DeleteWarmPoolAnswer
547
+
548
+ DeleteWarmPoolType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
549
+ DeleteWarmPoolType.add_member(:force_delete, Shapes::ShapeRef.new(shape: ForceDelete, location_name: "ForceDelete"))
550
+ DeleteWarmPoolType.struct_class = Types::DeleteWarmPoolType
551
+
529
552
  DescribeAccountLimitsAnswer.add_member(:max_number_of_auto_scaling_groups, Shapes::ShapeRef.new(shape: MaxNumberOfAutoScalingGroups, location_name: "MaxNumberOfAutoScalingGroups"))
530
553
  DescribeAccountLimitsAnswer.add_member(:max_number_of_launch_configurations, Shapes::ShapeRef.new(shape: MaxNumberOfLaunchConfigurations, location_name: "MaxNumberOfLaunchConfigurations"))
531
554
  DescribeAccountLimitsAnswer.add_member(:number_of_auto_scaling_groups, Shapes::ShapeRef.new(shape: NumberOfAutoScalingGroups, location_name: "NumberOfAutoScalingGroups"))
@@ -624,6 +647,16 @@ module Aws::AutoScaling
624
647
  DescribeTerminationPolicyTypesAnswer.add_member(:termination_policy_types, Shapes::ShapeRef.new(shape: TerminationPolicies, location_name: "TerminationPolicyTypes"))
625
648
  DescribeTerminationPolicyTypesAnswer.struct_class = Types::DescribeTerminationPolicyTypesAnswer
626
649
 
650
+ DescribeWarmPoolAnswer.add_member(:warm_pool_configuration, Shapes::ShapeRef.new(shape: WarmPoolConfiguration, location_name: "WarmPoolConfiguration"))
651
+ DescribeWarmPoolAnswer.add_member(:instances, Shapes::ShapeRef.new(shape: Instances, location_name: "Instances"))
652
+ DescribeWarmPoolAnswer.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
653
+ DescribeWarmPoolAnswer.struct_class = Types::DescribeWarmPoolAnswer
654
+
655
+ DescribeWarmPoolType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
656
+ DescribeWarmPoolType.add_member(:max_records, Shapes::ShapeRef.new(shape: MaxRecords, location_name: "MaxRecords"))
657
+ DescribeWarmPoolType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
658
+ DescribeWarmPoolType.struct_class = Types::DescribeWarmPoolType
659
+
627
660
  DetachInstancesAnswer.add_member(:activities, Shapes::ShapeRef.new(shape: Activities, location_name: "Activities"))
628
661
  DetachInstancesAnswer.struct_class = Types::DetachInstancesAnswer
629
662
 
@@ -731,6 +764,7 @@ module Aws::AutoScaling
731
764
  InstanceRefresh.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "EndTime"))
732
765
  InstanceRefresh.add_member(:percentage_complete, Shapes::ShapeRef.new(shape: IntPercent, location_name: "PercentageComplete"))
733
766
  InstanceRefresh.add_member(:instances_to_update, Shapes::ShapeRef.new(shape: InstancesToUpdate, location_name: "InstancesToUpdate"))
767
+ InstanceRefresh.add_member(:progress_details, Shapes::ShapeRef.new(shape: InstanceRefreshProgressDetails, location_name: "ProgressDetails"))
734
768
  InstanceRefresh.struct_class = Types::InstanceRefresh
735
769
 
736
770
  InstanceRefreshIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
@@ -738,6 +772,18 @@ module Aws::AutoScaling
738
772
  InstanceRefreshInProgressFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
739
773
  InstanceRefreshInProgressFault.struct_class = Types::InstanceRefreshInProgressFault
740
774
 
775
+ InstanceRefreshLivePoolProgress.add_member(:percentage_complete, Shapes::ShapeRef.new(shape: IntPercent, location_name: "PercentageComplete"))
776
+ InstanceRefreshLivePoolProgress.add_member(:instances_to_update, Shapes::ShapeRef.new(shape: InstancesToUpdate, location_name: "InstancesToUpdate"))
777
+ InstanceRefreshLivePoolProgress.struct_class = Types::InstanceRefreshLivePoolProgress
778
+
779
+ InstanceRefreshProgressDetails.add_member(:live_pool_progress, Shapes::ShapeRef.new(shape: InstanceRefreshLivePoolProgress, location_name: "LivePoolProgress"))
780
+ InstanceRefreshProgressDetails.add_member(:warm_pool_progress, Shapes::ShapeRef.new(shape: InstanceRefreshWarmPoolProgress, location_name: "WarmPoolProgress"))
781
+ InstanceRefreshProgressDetails.struct_class = Types::InstanceRefreshProgressDetails
782
+
783
+ InstanceRefreshWarmPoolProgress.add_member(:percentage_complete, Shapes::ShapeRef.new(shape: IntPercent, location_name: "PercentageComplete"))
784
+ InstanceRefreshWarmPoolProgress.add_member(:instances_to_update, Shapes::ShapeRef.new(shape: InstancesToUpdate, location_name: "InstancesToUpdate"))
785
+ InstanceRefreshWarmPoolProgress.struct_class = Types::InstanceRefreshWarmPoolProgress
786
+
741
787
  InstanceRefreshes.member = Shapes::ShapeRef.new(shape: InstanceRefresh)
742
788
 
743
789
  Instances.member = Shapes::ShapeRef.new(shape: Instance)
@@ -949,6 +995,14 @@ module Aws::AutoScaling
949
995
  PutScheduledUpdateGroupActionType.add_member(:time_zone, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "TimeZone"))
950
996
  PutScheduledUpdateGroupActionType.struct_class = Types::PutScheduledUpdateGroupActionType
951
997
 
998
+ PutWarmPoolAnswer.struct_class = Types::PutWarmPoolAnswer
999
+
1000
+ PutWarmPoolType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
1001
+ PutWarmPoolType.add_member(:max_group_prepared_capacity, Shapes::ShapeRef.new(shape: MaxGroupPreparedCapacity, location_name: "MaxGroupPreparedCapacity"))
1002
+ PutWarmPoolType.add_member(:min_size, Shapes::ShapeRef.new(shape: WarmPoolMinSize, location_name: "MinSize"))
1003
+ PutWarmPoolType.add_member(:pool_state, Shapes::ShapeRef.new(shape: WarmPoolState, location_name: "PoolState"))
1004
+ PutWarmPoolType.struct_class = Types::PutWarmPoolType
1005
+
952
1006
  RecordLifecycleActionHeartbeatAnswer.struct_class = Types::RecordLifecycleActionHeartbeatAnswer
953
1007
 
954
1008
  RecordLifecycleActionHeartbeatType.add_member(:lifecycle_hook_name, Shapes::ShapeRef.new(shape: AsciiStringMaxLen255, required: true, location_name: "LifecycleHookName"))
@@ -1129,6 +1183,12 @@ module Aws::AutoScaling
1129
1183
 
1130
1184
  Values.member = Shapes::ShapeRef.new(shape: XmlString)
1131
1185
 
1186
+ WarmPoolConfiguration.add_member(:max_group_prepared_capacity, Shapes::ShapeRef.new(shape: MaxGroupPreparedCapacity, location_name: "MaxGroupPreparedCapacity"))
1187
+ WarmPoolConfiguration.add_member(:min_size, Shapes::ShapeRef.new(shape: WarmPoolMinSize, location_name: "MinSize"))
1188
+ WarmPoolConfiguration.add_member(:pool_state, Shapes::ShapeRef.new(shape: WarmPoolState, location_name: "PoolState"))
1189
+ WarmPoolConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: WarmPoolStatus, location_name: "Status"))
1190
+ WarmPoolConfiguration.struct_class = Types::WarmPoolConfiguration
1191
+
1132
1192
 
1133
1193
  # @api private
1134
1194
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1319,6 +1379,18 @@ module Aws::AutoScaling
1319
1379
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseFault)
1320
1380
  end)
1321
1381
 
1382
+ api.add_operation(:delete_warm_pool, Seahorse::Model::Operation.new.tap do |o|
1383
+ o.name = "DeleteWarmPool"
1384
+ o.http_method = "POST"
1385
+ o.http_request_uri = "/"
1386
+ o.input = Shapes::ShapeRef.new(shape: DeleteWarmPoolType)
1387
+ o.output = Shapes::ShapeRef.new(shape: DeleteWarmPoolAnswer)
1388
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1389
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1390
+ o.errors << Shapes::ShapeRef.new(shape: ScalingActivityInProgressFault)
1391
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseFault)
1392
+ end)
1393
+
1322
1394
  api.add_operation(:describe_account_limits, Seahorse::Model::Operation.new.tap do |o|
1323
1395
  o.name = "DescribeAccountLimits"
1324
1396
  o.http_method = "POST"
@@ -1548,6 +1620,17 @@ module Aws::AutoScaling
1548
1620
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1549
1621
  end)
1550
1622
 
1623
+ api.add_operation(:describe_warm_pool, Seahorse::Model::Operation.new.tap do |o|
1624
+ o.name = "DescribeWarmPool"
1625
+ o.http_method = "POST"
1626
+ o.http_request_uri = "/"
1627
+ o.input = Shapes::ShapeRef.new(shape: DescribeWarmPoolType)
1628
+ o.output = Shapes::ShapeRef.new(shape: DescribeWarmPoolAnswer)
1629
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextToken)
1630
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1631
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1632
+ end)
1633
+
1551
1634
  api.add_operation(:detach_instances, Seahorse::Model::Operation.new.tap do |o|
1552
1635
  o.name = "DetachInstances"
1553
1636
  o.http_method = "POST"
@@ -1664,6 +1747,16 @@ module Aws::AutoScaling
1664
1747
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1665
1748
  end)
1666
1749
 
1750
+ api.add_operation(:put_warm_pool, Seahorse::Model::Operation.new.tap do |o|
1751
+ o.name = "PutWarmPool"
1752
+ o.http_method = "POST"
1753
+ o.http_request_uri = "/"
1754
+ o.input = Shapes::ShapeRef.new(shape: PutWarmPoolType)
1755
+ o.output = Shapes::ShapeRef.new(shape: PutWarmPoolAnswer)
1756
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1757
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1758
+ end)
1759
+
1667
1760
  api.add_operation(:record_lifecycle_action_heartbeat, Seahorse::Model::Operation.new.tap do |o|
1668
1761
  o.name = "RecordLifecycleActionHeartbeat"
1669
1762
  o.http_method = "POST"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -63,7 +63,11 @@ module Aws::AutoScaling
63
63
  # Valid Values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
64
64
  # `Quarantined` \| `InService` \| `Terminating` \| `Terminating:Wait` \|
65
65
  # `Terminating:Proceed` \| `Terminated` \| `Detaching` \| `Detached` \|
66
- # `EnteringStandby` \| `Standby`
66
+ # `EnteringStandby` \| `Standby` \| `Warmed:Pending` \|
67
+ # `Warmed:Pending:Wait` \| `Warmed:Pending:Proceed` \|
68
+ # `Warmed:Terminating` \| `Warmed:Terminating:Wait` \|
69
+ # `Warmed:Terminating:Proceed` \| `Warmed:Terminated` \|
70
+ # `Warmed:Stopped` \| `Warmed:Running`
67
71
  #
68
72
  #
69
73
  #
@@ -393,6 +393,14 @@ module Aws::AutoScaling
393
393
  # Indicates whether Capacity Rebalancing is enabled.
394
394
  # @return [Boolean]
395
395
  #
396
+ # @!attribute [rw] warm_pool_configuration
397
+ # The warm pool for the group.
398
+ # @return [Types::WarmPoolConfiguration]
399
+ #
400
+ # @!attribute [rw] warm_pool_size
401
+ # The current size of the warm pool.
402
+ # @return [Integer]
403
+ #
396
404
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroup AWS API Documentation
397
405
  #
398
406
  class AutoScalingGroup < Struct.new(
@@ -422,7 +430,9 @@ module Aws::AutoScaling
422
430
  :new_instances_protected_from_scale_in,
423
431
  :service_linked_role_arn,
424
432
  :max_instance_lifetime,
425
- :capacity_rebalance)
433
+ :capacity_rebalance,
434
+ :warm_pool_configuration,
435
+ :warm_pool_size)
426
436
  SENSITIVE = []
427
437
  include Aws::Structure
428
438
  end
@@ -511,7 +521,11 @@ module Aws::AutoScaling
511
521
  # Valid Values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
512
522
  # `Quarantined` \| `InService` \| `Terminating` \| `Terminating:Wait`
513
523
  # \| `Terminating:Proceed` \| `Terminated` \| `Detaching` \|
514
- # `Detached` \| `EnteringStandby` \| `Standby`
524
+ # `Detached` \| `EnteringStandby` \| `Standby` \| `Warmed:Pending` \|
525
+ # `Warmed:Pending:Wait` \| `Warmed:Pending:Proceed` \|
526
+ # `Warmed:Terminating` \| `Warmed:Terminating:Wait` \|
527
+ # `Warmed:Terminating:Proceed` \| `Warmed:Terminated` \|
528
+ # `Warmed:Stopped` \| `Warmed:Running`
515
529
  #
516
530
  #
517
531
  #
@@ -1660,8 +1674,8 @@ module Aws::AutoScaling
1660
1674
  # @!attribute [rw] force_delete
1661
1675
  # Specifies that the group is to be deleted along with all instances
1662
1676
  # associated with the group, without waiting for all instances to be
1663
- # terminated. This parameter also deletes any lifecycle actions
1664
- # associated with the group.
1677
+ # terminated. This parameter also deletes any outstanding lifecycle
1678
+ # actions associated with the group.
1665
1679
  # @return [Boolean]
1666
1680
  #
1667
1681
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroupType AWS API Documentation
@@ -1805,6 +1819,39 @@ module Aws::AutoScaling
1805
1819
  include Aws::Structure
1806
1820
  end
1807
1821
 
1822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolAnswer AWS API Documentation
1823
+ #
1824
+ class DeleteWarmPoolAnswer < Aws::EmptyStructure; end
1825
+
1826
+ # @note When making an API call, you may pass DeleteWarmPoolType
1827
+ # data as a hash:
1828
+ #
1829
+ # {
1830
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
1831
+ # force_delete: false,
1832
+ # }
1833
+ #
1834
+ # @!attribute [rw] auto_scaling_group_name
1835
+ # The name of the Auto Scaling group.
1836
+ # @return [String]
1837
+ #
1838
+ # @!attribute [rw] force_delete
1839
+ # Specifies that the warm pool is to be deleted along with all
1840
+ # instances associated with the warm pool, without waiting for all
1841
+ # instances to be terminated. This parameter also deletes any
1842
+ # outstanding lifecycle actions associated with the warm pool
1843
+ # instances.
1844
+ # @return [Boolean]
1845
+ #
1846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolType AWS API Documentation
1847
+ #
1848
+ class DeleteWarmPoolType < Struct.new(
1849
+ :auto_scaling_group_name,
1850
+ :force_delete)
1851
+ SENSITIVE = []
1852
+ include Aws::Structure
1853
+ end
1854
+
1808
1855
  # @!attribute [rw] max_number_of_auto_scaling_groups
1809
1856
  # The maximum number of groups allowed for your AWS account. The
1810
1857
  # default is 200 groups per AWS Region.
@@ -2393,6 +2440,62 @@ module Aws::AutoScaling
2393
2440
  include Aws::Structure
2394
2441
  end
2395
2442
 
2443
+ # @!attribute [rw] warm_pool_configuration
2444
+ # The warm pool configuration details.
2445
+ # @return [Types::WarmPoolConfiguration]
2446
+ #
2447
+ # @!attribute [rw] instances
2448
+ # The instances that are currently in the warm pool.
2449
+ # @return [Array<Types::Instance>]
2450
+ #
2451
+ # @!attribute [rw] next_token
2452
+ # The token for the next set of items to return. (You received this
2453
+ # token from a previous call.)
2454
+ # @return [String]
2455
+ #
2456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolAnswer AWS API Documentation
2457
+ #
2458
+ class DescribeWarmPoolAnswer < Struct.new(
2459
+ :warm_pool_configuration,
2460
+ :instances,
2461
+ :next_token)
2462
+ SENSITIVE = []
2463
+ include Aws::Structure
2464
+ end
2465
+
2466
+ # @note When making an API call, you may pass DescribeWarmPoolType
2467
+ # data as a hash:
2468
+ #
2469
+ # {
2470
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
2471
+ # max_records: 1,
2472
+ # next_token: "XmlString",
2473
+ # }
2474
+ #
2475
+ # @!attribute [rw] auto_scaling_group_name
2476
+ # The name of the Auto Scaling group.
2477
+ # @return [String]
2478
+ #
2479
+ # @!attribute [rw] max_records
2480
+ # The maximum number of instances to return with this call. The
2481
+ # maximum value is `50`.
2482
+ # @return [Integer]
2483
+ #
2484
+ # @!attribute [rw] next_token
2485
+ # The token for the next set of instances to return. (You received
2486
+ # this token from a previous call.)
2487
+ # @return [String]
2488
+ #
2489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolType AWS API Documentation
2490
+ #
2491
+ class DescribeWarmPoolType < Struct.new(
2492
+ :auto_scaling_group_name,
2493
+ :max_records,
2494
+ :next_token)
2495
+ SENSITIVE = []
2496
+ include Aws::Structure
2497
+ end
2498
+
2396
2499
  # @!attribute [rw] activities
2397
2500
  # The activities related to detaching the instances from the Auto
2398
2501
  # Scaling group.
@@ -2539,6 +2642,20 @@ module Aws::AutoScaling
2539
2642
  #
2540
2643
  # * `GroupTotalCapacity`
2541
2644
  #
2645
+ # * `WarmPoolDesiredCapacity`
2646
+ #
2647
+ # * `WarmPoolWarmedCapacity`
2648
+ #
2649
+ # * `WarmPoolPendingCapacity`
2650
+ #
2651
+ # * `WarmPoolTerminatingCapacity`
2652
+ #
2653
+ # * `WarmPoolTotalCapacity`
2654
+ #
2655
+ # * `GroupAndWarmPoolDesiredCapacity`
2656
+ #
2657
+ # * `GroupAndWarmPoolTotalCapacity`
2658
+ #
2542
2659
  # If you omit this parameter, all metrics are disabled.
2543
2660
  # @return [Array<String>]
2544
2661
  #
@@ -2717,6 +2834,22 @@ module Aws::AutoScaling
2717
2834
  #
2718
2835
  # * `GroupTotalCapacity`
2719
2836
  #
2837
+ # The warm pools feature supports the following additional metrics:
2838
+ #
2839
+ # * `WarmPoolDesiredCapacity`
2840
+ #
2841
+ # * `WarmPoolWarmedCapacity`
2842
+ #
2843
+ # * `WarmPoolPendingCapacity`
2844
+ #
2845
+ # * `WarmPoolTerminatingCapacity`
2846
+ #
2847
+ # * `WarmPoolTotalCapacity`
2848
+ #
2849
+ # * `GroupAndWarmPoolDesiredCapacity`
2850
+ #
2851
+ # * `GroupAndWarmPoolTotalCapacity`
2852
+ #
2720
2853
  # If you omit this parameter, all metrics are enabled.
2721
2854
  # @return [Array<String>]
2722
2855
  #
@@ -2765,6 +2898,20 @@ module Aws::AutoScaling
2765
2898
  # * `GroupTerminatingCapacity`
2766
2899
  #
2767
2900
  # * `GroupTotalCapacity`
2901
+ #
2902
+ # * `WarmPoolDesiredCapacity`
2903
+ #
2904
+ # * `WarmPoolWarmedCapacity`
2905
+ #
2906
+ # * `WarmPoolPendingCapacity`
2907
+ #
2908
+ # * `WarmPoolTerminatingCapacity`
2909
+ #
2910
+ # * `WarmPoolTotalCapacity`
2911
+ #
2912
+ # * `GroupAndWarmPoolDesiredCapacity`
2913
+ #
2914
+ # * `GroupAndWarmPoolTotalCapacity`
2768
2915
  # @return [String]
2769
2916
  #
2770
2917
  # @!attribute [rw] granularity
@@ -3198,6 +3345,11 @@ module Aws::AutoScaling
3198
3345
  # refresh is complete.
3199
3346
  # @return [Integer]
3200
3347
  #
3348
+ # @!attribute [rw] progress_details
3349
+ # Additional progress details for an Auto Scaling group that has a
3350
+ # warm pool.
3351
+ # @return [Types::InstanceRefreshProgressDetails]
3352
+ #
3201
3353
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefresh AWS API Documentation
3202
3354
  #
3203
3355
  class InstanceRefresh < Struct.new(
@@ -3208,7 +3360,8 @@ module Aws::AutoScaling
3208
3360
  :start_time,
3209
3361
  :end_time,
3210
3362
  :percentage_complete,
3211
- :instances_to_update)
3363
+ :instances_to_update,
3364
+ :progress_details)
3212
3365
  SENSITIVE = []
3213
3366
  include Aws::Structure
3214
3367
  end
@@ -3227,6 +3380,79 @@ module Aws::AutoScaling
3227
3380
  include Aws::Structure
3228
3381
  end
3229
3382
 
3383
+ # Reports the progress of an instance fresh on instances that are in the
3384
+ # Auto Scaling group.
3385
+ #
3386
+ # @!attribute [rw] percentage_complete
3387
+ # The percentage of instances in the Auto Scaling group that have been
3388
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3389
+ # tracks the instance's health status and warm-up time. When the
3390
+ # instance's health status changes to healthy and the specified
3391
+ # warm-up time passes, the instance is considered updated and added to
3392
+ # the percentage complete.
3393
+ # @return [Integer]
3394
+ #
3395
+ # @!attribute [rw] instances_to_update
3396
+ # The number of instances remaining to update.
3397
+ # @return [Integer]
3398
+ #
3399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshLivePoolProgress AWS API Documentation
3400
+ #
3401
+ class InstanceRefreshLivePoolProgress < Struct.new(
3402
+ :percentage_complete,
3403
+ :instances_to_update)
3404
+ SENSITIVE = []
3405
+ include Aws::Structure
3406
+ end
3407
+
3408
+ # Reports the progress of an instance refresh on an Auto Scaling group
3409
+ # that has a warm pool. This includes separate details for instances in
3410
+ # the warm pool and instances in the Auto Scaling group (the live pool).
3411
+ #
3412
+ # @!attribute [rw] live_pool_progress
3413
+ # Indicates the progress of an instance fresh on instances that are in
3414
+ # the Auto Scaling group.
3415
+ # @return [Types::InstanceRefreshLivePoolProgress]
3416
+ #
3417
+ # @!attribute [rw] warm_pool_progress
3418
+ # Indicates the progress of an instance fresh on instances that are in
3419
+ # the warm pool.
3420
+ # @return [Types::InstanceRefreshWarmPoolProgress]
3421
+ #
3422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshProgressDetails AWS API Documentation
3423
+ #
3424
+ class InstanceRefreshProgressDetails < Struct.new(
3425
+ :live_pool_progress,
3426
+ :warm_pool_progress)
3427
+ SENSITIVE = []
3428
+ include Aws::Structure
3429
+ end
3430
+
3431
+ # Reports the progress of an instance fresh on instances that are in the
3432
+ # warm pool.
3433
+ #
3434
+ # @!attribute [rw] percentage_complete
3435
+ # The percentage of instances in the warm pool that have been
3436
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3437
+ # tracks the instance's health status and warm-up time. When the
3438
+ # instance's health status changes to healthy and the specified
3439
+ # warm-up time passes, the instance is considered updated and added to
3440
+ # the percentage complete.
3441
+ # @return [Integer]
3442
+ #
3443
+ # @!attribute [rw] instances_to_update
3444
+ # The number of instances remaining to update.
3445
+ # @return [Integer]
3446
+ #
3447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshWarmPoolProgress AWS API Documentation
3448
+ #
3449
+ class InstanceRefreshWarmPoolProgress < Struct.new(
3450
+ :percentage_complete,
3451
+ :instances_to_update)
3452
+ SENSITIVE = []
3453
+ include Aws::Structure
3454
+ end
3455
+
3230
3456
  # Describes an instances distribution for an Auto Scaling group with a
3231
3457
  # MixedInstancesPolicy.
3232
3458
  #
@@ -4178,6 +4404,20 @@ module Aws::AutoScaling
4178
4404
  # * `GroupTerminatingCapacity`
4179
4405
  #
4180
4406
  # * `GroupTotalCapacity`
4407
+ #
4408
+ # * `WarmPoolDesiredCapacity`
4409
+ #
4410
+ # * `WarmPoolWarmedCapacity`
4411
+ #
4412
+ # * `WarmPoolPendingCapacity`
4413
+ #
4414
+ # * `WarmPoolTerminatingCapacity`
4415
+ #
4416
+ # * `WarmPoolTotalCapacity`
4417
+ #
4418
+ # * `GroupAndWarmPoolDesiredCapacity`
4419
+ #
4420
+ # * `GroupAndWarmPoolTotalCapacity`
4181
4421
  # @return [String]
4182
4422
  #
4183
4423
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricCollectionType AWS API Documentation
@@ -4951,6 +5191,71 @@ module Aws::AutoScaling
4951
5191
  include Aws::Structure
4952
5192
  end
4953
5193
 
5194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolAnswer AWS API Documentation
5195
+ #
5196
+ class PutWarmPoolAnswer < Aws::EmptyStructure; end
5197
+
5198
+ # @note When making an API call, you may pass PutWarmPoolType
5199
+ # data as a hash:
5200
+ #
5201
+ # {
5202
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
5203
+ # max_group_prepared_capacity: 1,
5204
+ # min_size: 1,
5205
+ # pool_state: "Stopped", # accepts Stopped, Running
5206
+ # }
5207
+ #
5208
+ # @!attribute [rw] auto_scaling_group_name
5209
+ # The name of the Auto Scaling group.
5210
+ # @return [String]
5211
+ #
5212
+ # @!attribute [rw] max_group_prepared_capacity
5213
+ # Specifies the total maximum number of instances that are allowed to
5214
+ # be in the warm pool or in any state except `Terminated` for the Auto
5215
+ # Scaling group. This is an optional property. Specify it only if the
5216
+ # warm pool size should not be determined by the difference between
5217
+ # the group's maximum capacity and its desired capacity.
5218
+ #
5219
+ # Amazon EC2 Auto Scaling will launch and maintain either the
5220
+ # difference between the group's maximum capacity and its desired
5221
+ # capacity, if a value for `MaxGroupPreparedCapacity` is not
5222
+ # specified, or the difference between the `MaxGroupPreparedCapacity`
5223
+ # and the desired capacity, if a value for `MaxGroupPreparedCapacity`
5224
+ # is specified.
5225
+ #
5226
+ # The size of the warm pool is dynamic. Only when
5227
+ # `MaxGroupPreparedCapacity` and `MinSize` are set to the same value
5228
+ # does the warm pool have an absolute size.
5229
+ #
5230
+ # If the desired capacity of the Auto Scaling group is higher than the
5231
+ # `MaxGroupPreparedCapacity`, the capacity of the warm pool is 0. To
5232
+ # remove a value that you previously set, include the property but
5233
+ # specify -1 for the value.
5234
+ # @return [Integer]
5235
+ #
5236
+ # @!attribute [rw] min_size
5237
+ # Specifies the minimum number of instances to maintain in the warm
5238
+ # pool. This helps you to ensure that there is always a certain number
5239
+ # of warmed instances available to handle traffic spikes. Defaults to
5240
+ # 0 if not specified.
5241
+ # @return [Integer]
5242
+ #
5243
+ # @!attribute [rw] pool_state
5244
+ # Sets the instance state to transition to after the lifecycle hooks
5245
+ # finish. Valid values are: `Stopped` (default) or `Running`.
5246
+ # @return [String]
5247
+ #
5248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolType AWS API Documentation
5249
+ #
5250
+ class PutWarmPoolType < Struct.new(
5251
+ :auto_scaling_group_name,
5252
+ :max_group_prepared_capacity,
5253
+ :min_size,
5254
+ :pool_state)
5255
+ SENSITIVE = []
5256
+ include Aws::Structure
5257
+ end
5258
+
4954
5259
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeatAnswer AWS API Documentation
4955
5260
  #
4956
5261
  class RecordLifecycleActionHeartbeatAnswer < Aws::EmptyStructure; end
@@ -6191,5 +6496,37 @@ module Aws::AutoScaling
6191
6496
  include Aws::Structure
6192
6497
  end
6193
6498
 
6499
+ # Describes a warm pool configuration.
6500
+ #
6501
+ # @!attribute [rw] max_group_prepared_capacity
6502
+ # The total maximum number of instances that are allowed to be in the
6503
+ # warm pool or in any state except `Terminated` for the Auto Scaling
6504
+ # group.
6505
+ # @return [Integer]
6506
+ #
6507
+ # @!attribute [rw] min_size
6508
+ # The minimum number of instances to maintain in the warm pool.
6509
+ # @return [Integer]
6510
+ #
6511
+ # @!attribute [rw] pool_state
6512
+ # The instance state to transition to after the lifecycle actions are
6513
+ # complete: `Stopped` or `Running`.
6514
+ # @return [String]
6515
+ #
6516
+ # @!attribute [rw] status
6517
+ # The status of a warm pool that is marked for deletion.
6518
+ # @return [String]
6519
+ #
6520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/WarmPoolConfiguration AWS API Documentation
6521
+ #
6522
+ class WarmPoolConfiguration < Struct.new(
6523
+ :max_group_prepared_capacity,
6524
+ :min_size,
6525
+ :pool_state,
6526
+ :status)
6527
+ SENSITIVE = []
6528
+ include Aws::Structure
6529
+ end
6530
+
6194
6531
  end
6195
6532
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-autoscaling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.59.0
4
+ version: 1.60.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-18 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -77,8 +77,8 @@ homepage: https://github.com/aws/aws-sdk-ruby
77
77
  licenses:
78
78
  - Apache-2.0
79
79
  metadata:
80
- source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-autoscaling
81
- changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-autoscaling/CHANGELOG.md
80
+ source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-autoscaling
81
+ changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-autoscaling/CHANGELOG.md
82
82
  post_install_message:
83
83
  rdoc_options: []
84
84
  require_paths: