aws-sdk-autoscaling 1.40.0 → 1.45.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.
@@ -123,6 +123,10 @@ module Aws::AutoScaling
123
123
  HonorCooldown = Shapes::BooleanShape.new(name: 'HonorCooldown')
124
124
  Instance = Shapes::StructureShape.new(name: 'Instance')
125
125
  InstanceIds = Shapes::ListShape.new(name: 'InstanceIds')
126
+ InstanceMetadataEndpointState = Shapes::StringShape.new(name: 'InstanceMetadataEndpointState')
127
+ InstanceMetadataHttpPutResponseHopLimit = Shapes::IntegerShape.new(name: 'InstanceMetadataHttpPutResponseHopLimit')
128
+ InstanceMetadataHttpTokensState = Shapes::StringShape.new(name: 'InstanceMetadataHttpTokensState')
129
+ InstanceMetadataOptions = Shapes::StructureShape.new(name: 'InstanceMetadataOptions')
126
130
  InstanceMonitoring = Shapes::StructureShape.new(name: 'InstanceMonitoring')
127
131
  InstanceProtected = Shapes::BooleanShape.new(name: 'InstanceProtected')
128
132
  InstanceRefresh = Shapes::StructureShape.new(name: 'InstanceRefresh')
@@ -472,6 +476,7 @@ module Aws::AutoScaling
472
476
  CreateLaunchConfigurationType.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: EbsOptimized, location_name: "EbsOptimized"))
473
477
  CreateLaunchConfigurationType.add_member(:associate_public_ip_address, Shapes::ShapeRef.new(shape: AssociatePublicIpAddress, location_name: "AssociatePublicIpAddress"))
474
478
  CreateLaunchConfigurationType.add_member(:placement_tenancy, Shapes::ShapeRef.new(shape: XmlStringMaxLen64, location_name: "PlacementTenancy"))
479
+ CreateLaunchConfigurationType.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptions, location_name: "MetadataOptions"))
475
480
  CreateLaunchConfigurationType.struct_class = Types::CreateLaunchConfigurationType
476
481
 
477
482
  CreateOrUpdateTagsType.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
@@ -697,6 +702,11 @@ module Aws::AutoScaling
697
702
 
698
703
  InstanceIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen19)
699
704
 
705
+ InstanceMetadataOptions.add_member(:http_tokens, Shapes::ShapeRef.new(shape: InstanceMetadataHttpTokensState, location_name: "HttpTokens"))
706
+ InstanceMetadataOptions.add_member(:http_put_response_hop_limit, Shapes::ShapeRef.new(shape: InstanceMetadataHttpPutResponseHopLimit, location_name: "HttpPutResponseHopLimit"))
707
+ InstanceMetadataOptions.add_member(:http_endpoint, Shapes::ShapeRef.new(shape: InstanceMetadataEndpointState, location_name: "HttpEndpoint"))
708
+ InstanceMetadataOptions.struct_class = Types::InstanceMetadataOptions
709
+
700
710
  InstanceMonitoring.add_member(:enabled, Shapes::ShapeRef.new(shape: MonitoringEnabled, location_name: "Enabled"))
701
711
  InstanceMonitoring.struct_class = Types::InstanceMonitoring
702
712
 
@@ -749,6 +759,7 @@ module Aws::AutoScaling
749
759
  LaunchConfiguration.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: EbsOptimized, location_name: "EbsOptimized"))
750
760
  LaunchConfiguration.add_member(:associate_public_ip_address, Shapes::ShapeRef.new(shape: AssociatePublicIpAddress, location_name: "AssociatePublicIpAddress"))
751
761
  LaunchConfiguration.add_member(:placement_tenancy, Shapes::ShapeRef.new(shape: XmlStringMaxLen64, location_name: "PlacementTenancy"))
762
+ LaunchConfiguration.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptions, location_name: "MetadataOptions"))
752
763
  LaunchConfiguration.struct_class = Types::LaunchConfiguration
753
764
 
754
765
  LaunchConfigurationNameType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "LaunchConfigurationName"))
@@ -260,6 +260,18 @@ module Aws::AutoScaling
260
260
  data[:placement_tenancy]
261
261
  end
262
262
 
263
+ # The metadata options for the instances. For more information, see
264
+ # [Instance Metadata and User Data][1] in the *Amazon EC2 User Guide for
265
+ # Linux Instances*.
266
+ #
267
+ #
268
+ #
269
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
270
+ # @return [Types::InstanceMetadataOptions]
271
+ def metadata_options
272
+ data[:metadata_options]
273
+ end
274
+
263
275
  # @!endgroup
264
276
 
265
277
  # @return [Client]
@@ -301,15 +301,15 @@ module Aws::AutoScaling
301
301
  #
302
302
  # * autoscaling:EC2\_INSTANCE\_TERMINATING
303
303
  #
304
- # Conditional: This parameter is required for new lifecycle hooks, but
305
- # optional when updating existing hooks.
304
+ # Required for new lifecycle hooks, but optional when updating existing
305
+ # hooks.
306
306
  # @option options [String] :role_arn
307
307
  # The ARN of the IAM role that allows the Auto Scaling group to publish
308
308
  # to the specified notification target, for example, an Amazon SNS topic
309
309
  # or an Amazon SQS queue.
310
310
  #
311
- # Conditional: This parameter is required for new lifecycle hooks, but
312
- # optional when updating existing hooks.
311
+ # Required for new lifecycle hooks, but optional when updating existing
312
+ # hooks.
313
313
  # @option options [String] :notification_target_arn
314
314
  # The ARN of the notification target that Amazon EC2 Auto Scaling uses
315
315
  # to notify you when an instance is in the transition state for the
@@ -185,8 +185,8 @@ module Aws::AutoScaling
185
185
  # <note markdown="1"> With a mixed instances policy that uses instance weighting, Amazon EC2
186
186
  # Auto Scaling may need to go above `MaxSize` to meet your capacity
187
187
  # requirements. In this event, Amazon EC2 Auto Scaling will never go
188
- # above `MaxSize` by more than your maximum instance weight (weights
189
- # that define how many capacity units each instance contributes to the
188
+ # above `MaxSize` by more than your largest instance weight (weights
189
+ # that define how many units each instance contributes to the desired
190
190
  # capacity of the group).
191
191
  #
192
192
  # </note>
@@ -203,8 +203,10 @@ module Aws::AutoScaling
203
203
  # The amount of time, in seconds, after a scaling activity completes
204
204
  # before another scaling activity can start. The default value is `300`.
205
205
  #
206
- # For more information, see [Scaling Cooldowns][1] in the *Amazon EC2
207
- # Auto Scaling User Guide*.
206
+ # This setting applies when using simple scaling policies, but not when
207
+ # using other scaling policies or scheduled scaling. For more
208
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1] in
209
+ # the *Amazon EC2 Auto Scaling User Guide*.
208
210
  #
209
211
  #
210
212
  #
@@ -260,8 +262,7 @@ module Aws::AutoScaling
260
262
  # For more information, see [Health Check Grace Period][1] in the
261
263
  # *Amazon EC2 Auto Scaling User Guide*.
262
264
  #
263
- # Conditional: This parameter is required if you are adding an `ELB`
264
- # health check.
265
+ # Required if you are adding an `ELB` health check.
265
266
  #
266
267
  #
267
268
  #
@@ -402,6 +403,11 @@ module Aws::AutoScaling
402
403
  # ebs_optimized: false,
403
404
  # associate_public_ip_address: false,
404
405
  # placement_tenancy: "XmlStringMaxLen64",
406
+ # metadata_options: {
407
+ # http_tokens: "optional", # accepts optional, required
408
+ # http_put_response_hop_limit: 1,
409
+ # http_endpoint: "disabled", # accepts disabled, enabled
410
+ # },
405
411
  # })
406
412
  # @param [Hash] options ({})
407
413
  # @option options [required, String] :launch_configuration_name
@@ -618,6 +624,14 @@ module Aws::AutoScaling
618
624
  #
619
625
  #
620
626
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy
627
+ # @option options [Types::InstanceMetadataOptions] :metadata_options
628
+ # The metadata options for the instances. For more information, see
629
+ # [Instance Metadata and User Data][1] in the *Amazon EC2 User Guide for
630
+ # Linux Instances*.
631
+ #
632
+ #
633
+ #
634
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
621
635
  # @return [LaunchConfiguration]
622
636
  def create_launch_configuration(options = {})
623
637
  @client.create_launch_configuration(options)
@@ -47,16 +47,30 @@ module Aws::AutoScaling
47
47
  data[:policy_arn]
48
48
  end
49
49
 
50
- # The policy type. The valid values are `SimpleScaling`, `StepScaling`,
51
- # and `TargetTrackingScaling`.
50
+ # One of the following policy types:
51
+ #
52
+ # * `TargetTrackingScaling`
53
+ #
54
+ # * `StepScaling`
55
+ #
56
+ # * `SimpleScaling` (default)
57
+ #
58
+ # For more information, see [Target Tracking Scaling Policies][1] and
59
+ # [Step and Simple Scaling Policies][2] in the *Amazon EC2 Auto Scaling
60
+ # User Guide*.
61
+ #
62
+ #
63
+ #
64
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html
65
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html
52
66
  # @return [String]
53
67
  def policy_type
54
68
  data[:policy_type]
55
69
  end
56
70
 
57
- # The adjustment type, which specifies how `ScalingAdjustment` is
58
- # interpreted. The valid values are `ChangeInCapacity`, `ExactCapacity`,
59
- # and `PercentChangeInCapacity`.
71
+ # Specifies how the scaling adjustment is interpreted (for example, an
72
+ # absolute number or a percentage). The valid values are
73
+ # `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
60
74
  # @return [String]
61
75
  def adjustment_type
62
76
  data[:adjustment_type]
@@ -69,10 +83,8 @@ module Aws::AutoScaling
69
83
  data[:min_adjustment_step]
70
84
  end
71
85
 
72
- # The minimum number of instances to scale. If the value of
73
- # `AdjustmentType` is `PercentChangeInCapacity`, the scaling policy
74
- # changes the `DesiredCapacity` of the Auto Scaling group by at least
75
- # this many instances. Otherwise, the error is `ValidationError`.
86
+ # The minimum value to scale by when the adjustment type is
87
+ # `PercentChangeInCapacity`.
76
88
  # @return [Integer]
77
89
  def min_adjustment_magnitude
78
90
  data[:min_adjustment_magnitude]
@@ -86,8 +98,7 @@ module Aws::AutoScaling
86
98
  data[:scaling_adjustment]
87
99
  end
88
100
 
89
- # The amount of time, in seconds, after a scaling activity completes
90
- # before any further dynamic scaling activities can start.
101
+ # The duration of the policy's cooldown period, in seconds.
91
102
  # @return [Integer]
92
103
  def cooldown
93
104
  data[:cooldown]
@@ -297,11 +308,9 @@ module Aws::AutoScaling
297
308
  # Indicates whether Amazon EC2 Auto Scaling waits for the cooldown
298
309
  # period to complete before executing the policy.
299
310
  #
300
- # This parameter is not supported if the policy type is `StepScaling` or
301
- # `TargetTrackingScaling`.
302
- #
303
- # For more information, see [Scaling Cooldowns][1] in the *Amazon EC2
304
- # Auto Scaling User Guide*.
311
+ # Valid only if the policy type is `SimpleScaling`. For more
312
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1] in
313
+ # the *Amazon EC2 Auto Scaling User Guide*.
305
314
  #
306
315
  #
307
316
  #
@@ -316,13 +325,13 @@ module Aws::AutoScaling
316
325
  # If you specify a metric value that doesn't correspond to a step
317
326
  # adjustment for the policy, the call returns an error.
318
327
  #
319
- # Conditional: This parameter is required if the policy type is
320
- # `StepScaling` and not supported otherwise.
328
+ # Required if the policy type is `StepScaling` and not supported
329
+ # otherwise.
321
330
  # @option options [Float] :breach_threshold
322
331
  # The breach threshold for the alarm.
323
332
  #
324
- # Conditional: This parameter is required if the policy type is
325
- # `StepScaling` and not supported otherwise.
333
+ # Required if the policy type is `StepScaling` and not supported
334
+ # otherwise.
326
335
  # @return [EmptyStructure]
327
336
  def execute(options = {})
328
337
  options = options.merge(policy_name: @name)
@@ -288,8 +288,7 @@ module Aws::AutoScaling
288
288
  # @return [Integer]
289
289
  #
290
290
  # @!attribute [rw] default_cooldown
291
- # The amount of time, in seconds, after a scaling activity completes
292
- # before another scaling activity can start.
291
+ # The duration of the default cooldown period, in seconds.
293
292
  # @return [Integer]
294
293
  #
295
294
  # @!attribute [rw] availability_zones
@@ -951,9 +950,9 @@ module Aws::AutoScaling
951
950
  # <note markdown="1"> With a mixed instances policy that uses instance weighting, Amazon
952
951
  # EC2 Auto Scaling may need to go above `MaxSize` to meet your
953
952
  # capacity requirements. In this event, Amazon EC2 Auto Scaling will
954
- # never go above `MaxSize` by more than your maximum instance weight
955
- # (weights that define how many capacity units each instance
956
- # contributes to the capacity of the group).
953
+ # never go above `MaxSize` by more than your largest instance weight
954
+ # (weights that define how many units each instance contributes to the
955
+ # desired capacity of the group).
957
956
  #
958
957
  # </note>
959
958
  # @return [Integer]
@@ -975,8 +974,10 @@ module Aws::AutoScaling
975
974
  # before another scaling activity can start. The default value is
976
975
  # `300`.
977
976
  #
978
- # For more information, see [Scaling Cooldowns][1] in the *Amazon EC2
979
- # Auto Scaling User Guide*.
977
+ # This setting applies when using simple scaling policies, but not
978
+ # when using other scaling policies or scheduled scaling. For more
979
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1]
980
+ # in the *Amazon EC2 Auto Scaling User Guide*.
980
981
  #
981
982
  #
982
983
  #
@@ -1042,8 +1043,7 @@ module Aws::AutoScaling
1042
1043
  # For more information, see [Health Check Grace Period][1] in the
1043
1044
  # *Amazon EC2 Auto Scaling User Guide*.
1044
1045
  #
1045
- # Conditional: This parameter is required if you are adding an `ELB`
1046
- # health check.
1046
+ # Required if you are adding an `ELB` health check.
1047
1047
  #
1048
1048
  #
1049
1049
  #
@@ -1223,6 +1223,11 @@ module Aws::AutoScaling
1223
1223
  # ebs_optimized: false,
1224
1224
  # associate_public_ip_address: false,
1225
1225
  # placement_tenancy: "XmlStringMaxLen64",
1226
+ # metadata_options: {
1227
+ # http_tokens: "optional", # accepts optional, required
1228
+ # http_put_response_hop_limit: 1,
1229
+ # http_endpoint: "disabled", # accepts disabled, enabled
1230
+ # },
1226
1231
  # }
1227
1232
  #
1228
1233
  # @!attribute [rw] launch_configuration_name
@@ -1478,6 +1483,16 @@ module Aws::AutoScaling
1478
1483
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy
1479
1484
  # @return [String]
1480
1485
  #
1486
+ # @!attribute [rw] metadata_options
1487
+ # The metadata options for the instances. For more information, see
1488
+ # [Instance Metadata and User Data][1] in the *Amazon EC2 User Guide
1489
+ # for Linux Instances*.
1490
+ #
1491
+ #
1492
+ #
1493
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
1494
+ # @return [Types::InstanceMetadataOptions]
1495
+ #
1481
1496
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateLaunchConfigurationType AWS API Documentation
1482
1497
  #
1483
1498
  class CreateLaunchConfigurationType < Struct.new(
@@ -1498,7 +1513,8 @@ module Aws::AutoScaling
1498
1513
  :iam_instance_profile,
1499
1514
  :ebs_optimized,
1500
1515
  :associate_public_ip_address,
1501
- :placement_tenancy)
1516
+ :placement_tenancy,
1517
+ :metadata_options)
1502
1518
  SENSITIVE = []
1503
1519
  include Aws::Structure
1504
1520
  end
@@ -1856,13 +1872,6 @@ module Aws::AutoScaling
1856
1872
 
1857
1873
  # @!attribute [rw] instance_refreshes
1858
1874
  # The instance refreshes for the specified group.
1859
- #
1860
- # For more information, see [Replacing Auto Scaling Instances Based on
1861
- # an Instance Refresh][1].
1862
- #
1863
- #
1864
- #
1865
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
1866
1875
  # @return [Array<Types::InstanceRefresh>]
1867
1876
  #
1868
1877
  # @!attribute [rw] next_token
@@ -2529,9 +2538,7 @@ module Aws::AutoScaling
2529
2538
  # @!attribute [rw] snapshot_id
2530
2539
  # The snapshot ID of the volume to use.
2531
2540
  #
2532
- # Conditional: This parameter is optional if you specify a volume
2533
- # size. If you specify both `SnapshotId` and `VolumeSize`,
2534
- # `VolumeSize` must be equal or greater than the size of the snapshot.
2541
+ # You must specify either a `VolumeSize` or a `SnapshotId`.
2535
2542
  # @return [String]
2536
2543
  #
2537
2544
  # @!attribute [rw] volume_size
@@ -2545,9 +2552,9 @@ module Aws::AutoScaling
2545
2552
  # Default: If you create a volume from a snapshot and you don't
2546
2553
  # specify a volume size, the default is the snapshot size.
2547
2554
  #
2548
- # <note markdown="1"> At least one of VolumeSize or SnapshotId is required.
2549
- #
2550
- # </note>
2555
+ # You must specify either a `VolumeSize` or a `SnapshotId`. If you
2556
+ # specify both `SnapshotId` and `VolumeSize`, the volume size must be
2557
+ # equal or greater than the size of the snapshot.
2551
2558
  # @return [Integer]
2552
2559
  #
2553
2560
  # @!attribute [rw] volume_type
@@ -2575,8 +2582,8 @@ module Aws::AutoScaling
2575
2582
  # For more information, see [Amazon EBS Volume Types][1] in the
2576
2583
  # *Amazon EC2 User Guide for Linux Instances*.
2577
2584
  #
2578
- # Conditional: This parameter is required when the volume type is
2579
- # `io1`. (Not used with `standard`, `gp2`, `st1`, or `sc1` volumes.)
2585
+ # Required when the volume type is `io1`. (Not used with `standard`,
2586
+ # `gp2`, `st1`, or `sc1` volumes.)
2580
2587
  #
2581
2588
  #
2582
2589
  #
@@ -2809,11 +2816,9 @@ module Aws::AutoScaling
2809
2816
  # Indicates whether Amazon EC2 Auto Scaling waits for the cooldown
2810
2817
  # period to complete before executing the policy.
2811
2818
  #
2812
- # This parameter is not supported if the policy type is `StepScaling`
2813
- # or `TargetTrackingScaling`.
2814
- #
2815
- # For more information, see [Scaling Cooldowns][1] in the *Amazon EC2
2816
- # Auto Scaling User Guide*.
2819
+ # Valid only if the policy type is `SimpleScaling`. For more
2820
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1]
2821
+ # in the *Amazon EC2 Auto Scaling User Guide*.
2817
2822
  #
2818
2823
  #
2819
2824
  #
@@ -2830,15 +2835,15 @@ module Aws::AutoScaling
2830
2835
  # If you specify a metric value that doesn't correspond to a step
2831
2836
  # adjustment for the policy, the call returns an error.
2832
2837
  #
2833
- # Conditional: This parameter is required if the policy type is
2834
- # `StepScaling` and not supported otherwise.
2838
+ # Required if the policy type is `StepScaling` and not supported
2839
+ # otherwise.
2835
2840
  # @return [Float]
2836
2841
  #
2837
2842
  # @!attribute [rw] breach_threshold
2838
2843
  # The breach threshold for the alarm.
2839
2844
  #
2840
- # Conditional: This parameter is required if the policy type is
2841
- # `StepScaling` and not supported otherwise.
2845
+ # Required if the policy type is `StepScaling` and not supported
2846
+ # otherwise.
2842
2847
  # @return [Float]
2843
2848
  #
2844
2849
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExecutePolicyType AWS API Documentation
@@ -3013,6 +3018,72 @@ module Aws::AutoScaling
3013
3018
  include Aws::Structure
3014
3019
  end
3015
3020
 
3021
+ # The metadata options for the instances. For more information, see
3022
+ # [Instance Metadata and User Data][1] in the *Amazon EC2 User Guide for
3023
+ # Linux Instances*.
3024
+ #
3025
+ #
3026
+ #
3027
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
3028
+ #
3029
+ # @note When making an API call, you may pass InstanceMetadataOptions
3030
+ # data as a hash:
3031
+ #
3032
+ # {
3033
+ # http_tokens: "optional", # accepts optional, required
3034
+ # http_put_response_hop_limit: 1,
3035
+ # http_endpoint: "disabled", # accepts disabled, enabled
3036
+ # }
3037
+ #
3038
+ # @!attribute [rw] http_tokens
3039
+ # The state of token usage for your instance metadata requests. If the
3040
+ # parameter is not specified in the request, the default state is
3041
+ # `optional`.
3042
+ #
3043
+ # If the state is `optional`, you can choose to retrieve instance
3044
+ # metadata with or without a signed token header on your request. If
3045
+ # you retrieve the IAM role credentials without a token, the version
3046
+ # 1.0 role credentials are returned. If you retrieve the IAM role
3047
+ # credentials using a valid signed token, the version 2.0 role
3048
+ # credentials are returned.
3049
+ #
3050
+ # If the state is `required`, you must send a signed token header with
3051
+ # any instance metadata retrieval requests. In this state, retrieving
3052
+ # the IAM role credentials always returns the version 2.0 credentials;
3053
+ # the version 1.0 credentials are not available.
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] http_put_response_hop_limit
3057
+ # The desired HTTP PUT response hop limit for instance metadata
3058
+ # requests. The larger the number, the further instance metadata
3059
+ # requests can travel.
3060
+ #
3061
+ # Default: 1
3062
+ #
3063
+ # Possible values: Integers from 1 to 64
3064
+ # @return [Integer]
3065
+ #
3066
+ # @!attribute [rw] http_endpoint
3067
+ # This parameter enables or disables the HTTP metadata endpoint on
3068
+ # your instances. If the parameter is not specified, the default state
3069
+ # is `enabled`.
3070
+ #
3071
+ # <note markdown="1"> If you specify a value of `disabled`, you will not be able to access
3072
+ # your instance metadata.
3073
+ #
3074
+ # </note>
3075
+ # @return [String]
3076
+ #
3077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceMetadataOptions AWS API Documentation
3078
+ #
3079
+ class InstanceMetadataOptions < Struct.new(
3080
+ :http_tokens,
3081
+ :http_put_response_hop_limit,
3082
+ :http_endpoint)
3083
+ SENSITIVE = []
3084
+ include Aws::Structure
3085
+ end
3086
+
3016
3087
  # Describes whether detailed monitoring is enabled for the Auto Scaling
3017
3088
  # instances.
3018
3089
  #
@@ -3464,6 +3535,16 @@ module Aws::AutoScaling
3464
3535
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy
3465
3536
  # @return [String]
3466
3537
  #
3538
+ # @!attribute [rw] metadata_options
3539
+ # The metadata options for the instances. For more information, see
3540
+ # [Instance Metadata and User Data][1] in the *Amazon EC2 User Guide
3541
+ # for Linux Instances*.
3542
+ #
3543
+ #
3544
+ #
3545
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
3546
+ # @return [Types::InstanceMetadataOptions]
3547
+ #
3467
3548
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchConfiguration AWS API Documentation
3468
3549
  #
3469
3550
  class LaunchConfiguration < Struct.new(
@@ -3485,7 +3566,8 @@ module Aws::AutoScaling
3485
3566
  :created_time,
3486
3567
  :ebs_optimized,
3487
3568
  :associate_public_ip_address,
3488
- :placement_tenancy)
3569
+ :placement_tenancy,
3570
+ :metadata_options)
3489
3571
  SENSITIVE = []
3490
3572
  include Aws::Structure
3491
3573
  end
@@ -4062,6 +4144,16 @@ module Aws::AutoScaling
4062
4144
  # * `GroupTerminatingInstances`
4063
4145
  #
4064
4146
  # * `GroupTotalInstances`
4147
+ #
4148
+ # * `GroupInServiceCapacity`
4149
+ #
4150
+ # * `GroupPendingCapacity`
4151
+ #
4152
+ # * `GroupStandbyCapacity`
4153
+ #
4154
+ # * `GroupTerminatingCapacity`
4155
+ #
4156
+ # * `GroupTotalCapacity`
4065
4157
  # @return [String]
4066
4158
  #
4067
4159
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricCollectionType AWS API Documentation
@@ -4123,7 +4215,7 @@ module Aws::AutoScaling
4123
4215
  # You can create a mixed instances policy for a new Auto Scaling group,
4124
4216
  # or you can create it for an existing group by updating the group to
4125
4217
  # specify `MixedInstancesPolicy` as the top-level parameter instead of a
4126
- # launch configuration or template. For more information, see
4218
+ # launch configuration or launch template. For more information, see
4127
4219
  # CreateAutoScalingGroup and UpdateAutoScalingGroup.
4128
4220
  #
4129
4221
  #
@@ -4160,8 +4252,7 @@ module Aws::AutoScaling
4160
4252
  # @!attribute [rw] launch_template
4161
4253
  # The launch template and instance types (overrides).
4162
4254
  #
4163
- # This parameter must be specified when creating a mixed instances
4164
- # policy.
4255
+ # Required when creating a mixed instances policy.
4165
4256
  # @return [Types::LaunchTemplate]
4166
4257
  #
4167
4258
  # @!attribute [rw] instances_distribution
@@ -4405,8 +4496,8 @@ module Aws::AutoScaling
4405
4496
  #
4406
4497
  # * autoscaling:EC2\_INSTANCE\_TERMINATING
4407
4498
  #
4408
- # Conditional: This parameter is required for new lifecycle hooks, but
4409
- # optional when updating existing hooks.
4499
+ # Required for new lifecycle hooks, but optional when updating
4500
+ # existing hooks.
4410
4501
  # @return [String]
4411
4502
  #
4412
4503
  # @!attribute [rw] role_arn
@@ -4414,8 +4505,8 @@ module Aws::AutoScaling
4414
4505
  # publish to the specified notification target, for example, an Amazon
4415
4506
  # SNS topic or an Amazon SQS queue.
4416
4507
  #
4417
- # Conditional: This parameter is required for new lifecycle hooks, but
4418
- # optional when updating existing hooks.
4508
+ # Required for new lifecycle hooks, but optional when updating
4509
+ # existing hooks.
4419
4510
  # @return [String]
4420
4511
  #
4421
4512
  # @!attribute [rw] notification_target_arn
@@ -4561,19 +4652,23 @@ module Aws::AutoScaling
4561
4652
  # @return [String]
4562
4653
  #
4563
4654
  # @!attribute [rw] policy_type
4564
- # The policy type. The valid values are `SimpleScaling`,
4565
- # `StepScaling`, and `TargetTrackingScaling`. If the policy type is
4566
- # null, the value is treated as `SimpleScaling`.
4655
+ # One of the following policy types:
4656
+ #
4657
+ # * `TargetTrackingScaling`
4658
+ #
4659
+ # * `StepScaling`
4660
+ #
4661
+ # * `SimpleScaling` (default)
4567
4662
  # @return [String]
4568
4663
  #
4569
4664
  # @!attribute [rw] adjustment_type
4570
- # Specifies whether the `ScalingAdjustment` parameter is an absolute
4571
- # number or a percentage of the current capacity. The valid values are
4665
+ # Specifies how the scaling adjustment is interpreted (for example, an
4666
+ # absolute number or a percentage). The valid values are
4572
4667
  # `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
4573
4668
  #
4574
- # Valid only if the policy type is `StepScaling` or `SimpleScaling`.
4575
- # For more information, see [Scaling Adjustment Types][1] in the
4576
- # *Amazon EC2 Auto Scaling User Guide*.
4669
+ # Required if the policy type is `StepScaling` or `SimpleScaling`. For
4670
+ # more information, see [Scaling Adjustment Types][1] in the *Amazon
4671
+ # EC2 Auto Scaling User Guide*.
4577
4672
  #
4578
4673
  #
4579
4674
  #
@@ -4586,18 +4681,23 @@ module Aws::AutoScaling
4586
4681
  # @return [Integer]
4587
4682
  #
4588
4683
  # @!attribute [rw] min_adjustment_magnitude
4589
- # The minimum value to scale by when scaling by percentages. For
4590
- # example, suppose that you create a step scaling policy to scale out
4591
- # an Auto Scaling group by 25 percent and you specify a
4592
- # `MinAdjustmentMagnitude` of 2. If the group has 4 instances and the
4593
- # scaling policy is performed, 25 percent of 4 is 1. However, because
4594
- # you specified a `MinAdjustmentMagnitude` of 2, Amazon EC2 Auto
4595
- # Scaling scales out the group by 2 instances.
4596
- #
4597
- # Valid only if the policy type is `StepScaling` or `SimpleScaling`
4598
- # and the adjustment type is `PercentChangeInCapacity`. For more
4599
- # information, see [Scaling Adjustment Types][1] in the *Amazon EC2
4600
- # Auto Scaling User Guide*.
4684
+ # The minimum value to scale by when the adjustment type is
4685
+ # `PercentChangeInCapacity`. For example, suppose that you create a
4686
+ # step scaling policy to scale out an Auto Scaling group by 25 percent
4687
+ # and you specify a `MinAdjustmentMagnitude` of 2. If the group has 4
4688
+ # instances and the scaling policy is performed, 25 percent of 4 is 1.
4689
+ # However, because you specified a `MinAdjustmentMagnitude` of 2,
4690
+ # Amazon EC2 Auto Scaling scales out the group by 2 instances.
4691
+ #
4692
+ # Valid only if the policy type is `StepScaling` or `SimpleScaling`.
4693
+ # For more information, see [Scaling Adjustment Types][1] in the
4694
+ # *Amazon EC2 Auto Scaling User Guide*.
4695
+ #
4696
+ # <note markdown="1"> Some Auto Scaling groups use instance weights. In this case, set the
4697
+ # `MinAdjustmentMagnitude` to a value that is at least as large as
4698
+ # your largest instance weight.
4699
+ #
4700
+ # </note>
4601
4701
  #
4602
4702
  #
4603
4703
  #
@@ -4605,26 +4705,23 @@ module Aws::AutoScaling
4605
4705
  # @return [Integer]
4606
4706
  #
4607
4707
  # @!attribute [rw] scaling_adjustment
4608
- # The amount by which a simple scaling policy scales the Auto Scaling
4609
- # group in response to an alarm breach. The adjustment is based on the
4610
- # value that you specified in the `AdjustmentType` parameter (either
4611
- # an absolute number or a percentage). A positive value adds to the
4612
- # current capacity and a negative value subtracts from the current
4613
- # capacity. For exact capacity, you must specify a positive value.
4614
- #
4615
- # Conditional: If you specify `SimpleScaling` for the policy type, you
4616
- # must specify this parameter. (Not used with any other policy type.)
4708
+ # The amount by which to scale, based on the specified adjustment
4709
+ # type. A positive value adds to the current capacity while a negative
4710
+ # number removes from the current capacity. For exact capacity, you
4711
+ # must specify a positive value.
4712
+ #
4713
+ # Required if the policy type is `SimpleScaling`. (Not used with any
4714
+ # other policy type.)
4617
4715
  # @return [Integer]
4618
4716
  #
4619
4717
  # @!attribute [rw] cooldown
4620
- # The amount of time, in seconds, after a scaling activity completes
4621
- # before any further dynamic scaling activities can start. If this
4622
- # parameter is not specified, the default cooldown period for the
4623
- # group applies.
4718
+ # The duration of the policy's cooldown period, in seconds. When a
4719
+ # cooldown period is specified here, it overrides the default cooldown
4720
+ # period defined for the Auto Scaling group.
4624
4721
  #
4625
4722
  # Valid only if the policy type is `SimpleScaling`. For more
4626
- # information, see [Scaling Cooldowns][1] in the *Amazon EC2 Auto
4627
- # Scaling User Guide*.
4723
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1]
4724
+ # in the *Amazon EC2 Auto Scaling User Guide*.
4628
4725
  #
4629
4726
  #
4630
4727
  #
@@ -4643,29 +4740,42 @@ module Aws::AutoScaling
4643
4740
  # A set of adjustments that enable you to scale based on the size of
4644
4741
  # the alarm breach.
4645
4742
  #
4646
- # Conditional: If you specify `StepScaling` for the policy type, you
4647
- # must specify this parameter. (Not used with any other policy type.)
4743
+ # Required if the policy type is `StepScaling`. (Not used with any
4744
+ # other policy type.)
4648
4745
  # @return [Array<Types::StepAdjustment>]
4649
4746
  #
4650
4747
  # @!attribute [rw] estimated_instance_warmup
4651
4748
  # The estimated time, in seconds, until a newly launched instance can
4652
- # contribute to the CloudWatch metrics. The default is to use the
4653
- # value specified for the default cooldown period for the group.
4749
+ # contribute to the CloudWatch metrics. If not provided, the default
4750
+ # is to use the value from the default cooldown period for the Auto
4751
+ # Scaling group.
4654
4752
  #
4655
- # Valid only if the policy type is `StepScaling` or
4656
- # `TargetTrackingScaling`.
4753
+ # Valid only if the policy type is `TargetTrackingScaling` or
4754
+ # `StepScaling`.
4657
4755
  # @return [Integer]
4658
4756
  #
4659
4757
  # @!attribute [rw] target_tracking_configuration
4660
4758
  # A target tracking scaling policy. Includes support for predefined or
4661
4759
  # customized metrics.
4662
4760
  #
4761
+ # The following predefined metrics are available:
4762
+ #
4763
+ # * `ASGAverageCPUUtilization`
4764
+ #
4765
+ # * `ASGAverageNetworkIn`
4766
+ #
4767
+ # * `ASGAverageNetworkOut`
4768
+ #
4769
+ # * `ALBRequestCountPerTarget`
4770
+ #
4771
+ # If you specify `ALBRequestCountPerTarget` for the metric, you must
4772
+ # specify the `ResourceLabel` parameter with the
4773
+ # `PredefinedMetricSpecification`.
4774
+ #
4663
4775
  # For more information, see [TargetTrackingConfiguration][1] in the
4664
4776
  # *Amazon EC2 Auto Scaling API Reference*.
4665
4777
  #
4666
- # Conditional: If you specify `TargetTrackingScaling` for the policy
4667
- # type, you must specify this parameter. (Not used with any other
4668
- # policy type.)
4778
+ # Required if the policy type is `TargetTrackingScaling`.
4669
4779
  #
4670
4780
  #
4671
4781
  #
@@ -4861,10 +4971,7 @@ module Aws::AutoScaling
4861
4971
  # The number of seconds until a newly launched instance is configured
4862
4972
  # and ready to use. During this time, Amazon EC2 Auto Scaling does not
4863
4973
  # immediately move on to the next replacement. The default is to use
4864
- # the value specified for the health check grace period for the group.
4865
- #
4866
- # Note: While warming up, a newly launched instance is not counted
4867
- # toward the aggregated metrics of the Auto Scaling group.
4974
+ # the value for the health check grace period defined for the group.
4868
4975
  # @return [Integer]
4869
4976
  #
4870
4977
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RefreshPreferences AWS API Documentation
@@ -4933,14 +5040,28 @@ module Aws::AutoScaling
4933
5040
  # @return [String]
4934
5041
  #
4935
5042
  # @!attribute [rw] policy_type
4936
- # The policy type. The valid values are `SimpleScaling`,
4937
- # `StepScaling`, and `TargetTrackingScaling`.
5043
+ # One of the following policy types:
5044
+ #
5045
+ # * `TargetTrackingScaling`
5046
+ #
5047
+ # * `StepScaling`
5048
+ #
5049
+ # * `SimpleScaling` (default)
5050
+ #
5051
+ # For more information, see [Target Tracking Scaling Policies][1] and
5052
+ # [Step and Simple Scaling Policies][2] in the *Amazon EC2 Auto
5053
+ # Scaling User Guide*.
5054
+ #
5055
+ #
5056
+ #
5057
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html
5058
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html
4938
5059
  # @return [String]
4939
5060
  #
4940
5061
  # @!attribute [rw] adjustment_type
4941
- # The adjustment type, which specifies how `ScalingAdjustment` is
4942
- # interpreted. The valid values are `ChangeInCapacity`,
4943
- # `ExactCapacity`, and `PercentChangeInCapacity`.
5062
+ # Specifies how the scaling adjustment is interpreted (for example, an
5063
+ # absolute number or a percentage). The valid values are
5064
+ # `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
4944
5065
  # @return [String]
4945
5066
  #
4946
5067
  # @!attribute [rw] min_adjustment_step
@@ -4949,10 +5070,8 @@ module Aws::AutoScaling
4949
5070
  # @return [Integer]
4950
5071
  #
4951
5072
  # @!attribute [rw] min_adjustment_magnitude
4952
- # The minimum number of instances to scale. If the value of
4953
- # `AdjustmentType` is `PercentChangeInCapacity`, the scaling policy
4954
- # changes the `DesiredCapacity` of the Auto Scaling group by at least
4955
- # this many instances. Otherwise, the error is `ValidationError`.
5073
+ # The minimum value to scale by when the adjustment type is
5074
+ # `PercentChangeInCapacity`.
4956
5075
  # @return [Integer]
4957
5076
  #
4958
5077
  # @!attribute [rw] scaling_adjustment
@@ -4962,8 +5081,7 @@ module Aws::AutoScaling
4962
5081
  # @return [Integer]
4963
5082
  #
4964
5083
  # @!attribute [rw] cooldown
4965
- # The amount of time, in seconds, after a scaling activity completes
4966
- # before any further dynamic scaling activities can start.
5084
+ # The duration of the policy's cooldown period, in seconds.
4967
5085
  # @return [Integer]
4968
5086
  #
4969
5087
  # @!attribute [rw] step_adjustments
@@ -5399,13 +5517,25 @@ module Aws::AutoScaling
5399
5517
  # A rolling update is an update that is applied to all instances in an
5400
5518
  # Auto Scaling group until all instances have been updated. A rolling
5401
5519
  # update can fail due to failed health checks or if instances are on
5402
- # standby or are protected from scale-in. If the rolling update
5520
+ # standby or are protected from scale in. If the rolling update
5403
5521
  # process fails, any instances that were already replaced are not
5404
5522
  # rolled back to their previous configuration.
5405
5523
  # @return [String]
5406
5524
  #
5407
5525
  # @!attribute [rw] preferences
5408
5526
  # Set of preferences associated with the instance refresh request.
5527
+ #
5528
+ # If not provided, the default values are used. For
5529
+ # `MinHealthyPercentage`, the default value is `90`. For
5530
+ # `InstanceWarmup`, the default is to use the value specified for the
5531
+ # health check grace period for the Auto Scaling group.
5532
+ #
5533
+ # For more information, see [RefreshPreferences][1] in the *Amazon EC2
5534
+ # Auto Scaling API Reference*.
5535
+ #
5536
+ #
5537
+ #
5538
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RefreshPreferences.html
5409
5539
  # @return [Types::RefreshPreferences]
5410
5540
  #
5411
5541
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefreshType AWS API Documentation
@@ -5815,9 +5945,9 @@ module Aws::AutoScaling
5815
5945
  # <note markdown="1"> With a mixed instances policy that uses instance weighting, Amazon
5816
5946
  # EC2 Auto Scaling may need to go above `MaxSize` to meet your
5817
5947
  # capacity requirements. In this event, Amazon EC2 Auto Scaling will
5818
- # never go above `MaxSize` by more than your maximum instance weight
5819
- # (weights that define how many capacity units each instance
5820
- # contributes to the capacity of the group).
5948
+ # never go above `MaxSize` by more than your largest instance weight
5949
+ # (weights that define how many units each instance contributes to the
5950
+ # desired capacity of the group).
5821
5951
  #
5822
5952
  # </note>
5823
5953
  # @return [Integer]
@@ -5834,13 +5964,12 @@ module Aws::AutoScaling
5834
5964
  # @!attribute [rw] default_cooldown
5835
5965
  # The amount of time, in seconds, after a scaling activity completes
5836
5966
  # before another scaling activity can start. The default value is
5837
- # `300`. This cooldown period is not used when a scaling-specific
5838
- # cooldown is specified.
5967
+ # `300`.
5839
5968
  #
5840
- # Cooldown periods are not supported for target tracking scaling
5841
- # policies, step scaling policies, or scheduled scaling. For more
5842
- # information, see [Scaling Cooldowns][1] in the *Amazon EC2 Auto
5843
- # Scaling User Guide*.
5969
+ # This setting applies when using simple scaling policies, but not
5970
+ # when using other scaling policies or scheduled scaling. For more
5971
+ # information, see [Scaling Cooldowns for Amazon EC2 Auto Scaling][1]
5972
+ # in the *Amazon EC2 Auto Scaling User Guide*.
5844
5973
  #
5845
5974
  #
5846
5975
  #
@@ -5866,8 +5995,7 @@ module Aws::AutoScaling
5866
5995
  # For more information, see [Health Check Grace Period][1] in the
5867
5996
  # *Amazon EC2 Auto Scaling User Guide*.
5868
5997
  #
5869
- # Conditional: This parameter is required if you are adding an `ELB`
5870
- # health check.
5998
+ # Required if you are adding an `ELB` health check.
5871
5999
  #
5872
6000
  #
5873
6001
  #