aws-sdk-autoscaling 1.59.0 → 1.60.0

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