aws-sdk-autoscaling 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -119,6 +119,7 @@ module Aws::AutoScaling
119
119
  InstanceMonitoring = Shapes::StructureShape.new(name: 'InstanceMonitoring')
120
120
  InstanceProtected = Shapes::BooleanShape.new(name: 'InstanceProtected')
121
121
  Instances = Shapes::ListShape.new(name: 'Instances')
122
+ InstancesDistribution = Shapes::StructureShape.new(name: 'InstancesDistribution')
122
123
  InvalidNextToken = Shapes::StructureShape.new(name: 'InvalidNextToken')
123
124
  LaunchConfiguration = Shapes::StructureShape.new(name: 'LaunchConfiguration')
124
125
  LaunchConfigurationNameType = Shapes::StructureShape.new(name: 'LaunchConfigurationNameType')
@@ -126,7 +127,9 @@ module Aws::AutoScaling
126
127
  LaunchConfigurationNamesType = Shapes::StructureShape.new(name: 'LaunchConfigurationNamesType')
127
128
  LaunchConfigurations = Shapes::ListShape.new(name: 'LaunchConfigurations')
128
129
  LaunchConfigurationsType = Shapes::StructureShape.new(name: 'LaunchConfigurationsType')
130
+ LaunchTemplate = Shapes::StructureShape.new(name: 'LaunchTemplate')
129
131
  LaunchTemplateName = Shapes::StringShape.new(name: 'LaunchTemplateName')
132
+ LaunchTemplateOverrides = Shapes::StructureShape.new(name: 'LaunchTemplateOverrides')
130
133
  LaunchTemplateSpecification = Shapes::StructureShape.new(name: 'LaunchTemplateSpecification')
131
134
  LifecycleActionResult = Shapes::StringShape.new(name: 'LifecycleActionResult')
132
135
  LifecycleActionToken = Shapes::StringShape.new(name: 'LifecycleActionToken')
@@ -163,6 +166,7 @@ module Aws::AutoScaling
163
166
  Metrics = Shapes::ListShape.new(name: 'Metrics')
164
167
  MinAdjustmentMagnitude = Shapes::IntegerShape.new(name: 'MinAdjustmentMagnitude')
165
168
  MinAdjustmentStep = Shapes::IntegerShape.new(name: 'MinAdjustmentStep')
169
+ MixedInstancesPolicy = Shapes::StructureShape.new(name: 'MixedInstancesPolicy')
166
170
  MonitoringEnabled = Shapes::BooleanShape.new(name: 'MonitoringEnabled')
167
171
  NoDevice = Shapes::BooleanShape.new(name: 'NoDevice')
168
172
  NotificationConfiguration = Shapes::StructureShape.new(name: 'NotificationConfiguration')
@@ -170,6 +174,9 @@ module Aws::AutoScaling
170
174
  NotificationTargetResourceName = Shapes::StringShape.new(name: 'NotificationTargetResourceName')
171
175
  NumberOfAutoScalingGroups = Shapes::IntegerShape.new(name: 'NumberOfAutoScalingGroups')
172
176
  NumberOfLaunchConfigurations = Shapes::IntegerShape.new(name: 'NumberOfLaunchConfigurations')
177
+ OnDemandBaseCapacity = Shapes::IntegerShape.new(name: 'OnDemandBaseCapacity')
178
+ OnDemandPercentageAboveBaseCapacity = Shapes::IntegerShape.new(name: 'OnDemandPercentageAboveBaseCapacity')
179
+ Overrides = Shapes::ListShape.new(name: 'Overrides')
173
180
  PoliciesType = Shapes::StructureShape.new(name: 'PoliciesType')
174
181
  PolicyARNType = Shapes::StructureShape.new(name: 'PolicyARNType')
175
182
  PolicyIncrement = Shapes::IntegerShape.new(name: 'PolicyIncrement')
@@ -212,6 +219,7 @@ module Aws::AutoScaling
212
219
  SetInstanceProtectionQuery = Shapes::StructureShape.new(name: 'SetInstanceProtectionQuery')
213
220
  ShouldDecrementDesiredCapacity = Shapes::BooleanShape.new(name: 'ShouldDecrementDesiredCapacity')
214
221
  ShouldRespectGracePeriod = Shapes::BooleanShape.new(name: 'ShouldRespectGracePeriod')
222
+ SpotInstancePools = Shapes::IntegerShape.new(name: 'SpotInstancePools')
215
223
  SpotPrice = Shapes::StringShape.new(name: 'SpotPrice')
216
224
  StepAdjustment = Shapes::StructureShape.new(name: 'StepAdjustment')
217
225
  StepAdjustments = Shapes::ListShape.new(name: 'StepAdjustments')
@@ -296,6 +304,7 @@ module Aws::AutoScaling
296
304
  AutoScalingGroup.add_member(:auto_scaling_group_arn, Shapes::ShapeRef.new(shape: ResourceName, location_name: "AutoScalingGroupARN"))
297
305
  AutoScalingGroup.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "LaunchConfigurationName"))
298
306
  AutoScalingGroup.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
307
+ AutoScalingGroup.add_member(:mixed_instances_policy, Shapes::ShapeRef.new(shape: MixedInstancesPolicy, location_name: "MixedInstancesPolicy"))
299
308
  AutoScalingGroup.add_member(:min_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMinSize, required: true, location_name: "MinSize"))
300
309
  AutoScalingGroup.add_member(:max_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMaxSize, required: true, location_name: "MaxSize"))
301
310
  AutoScalingGroup.add_member(:desired_capacity, Shapes::ShapeRef.new(shape: AutoScalingGroupDesiredCapacity, required: true, location_name: "DesiredCapacity"))
@@ -387,6 +396,7 @@ module Aws::AutoScaling
387
396
  CreateAutoScalingGroupType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
388
397
  CreateAutoScalingGroupType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "LaunchConfigurationName"))
389
398
  CreateAutoScalingGroupType.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
399
+ CreateAutoScalingGroupType.add_member(:mixed_instances_policy, Shapes::ShapeRef.new(shape: MixedInstancesPolicy, location_name: "MixedInstancesPolicy"))
390
400
  CreateAutoScalingGroupType.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, location_name: "InstanceId"))
391
401
  CreateAutoScalingGroupType.add_member(:min_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMinSize, required: true, location_name: "MinSize"))
392
402
  CreateAutoScalingGroupType.add_member(:max_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMaxSize, required: true, location_name: "MaxSize"))
@@ -642,6 +652,14 @@ module Aws::AutoScaling
642
652
 
643
653
  Instances.member = Shapes::ShapeRef.new(shape: Instance)
644
654
 
655
+ InstancesDistribution.add_member(:on_demand_allocation_strategy, Shapes::ShapeRef.new(shape: XmlString, location_name: "OnDemandAllocationStrategy"))
656
+ InstancesDistribution.add_member(:on_demand_base_capacity, Shapes::ShapeRef.new(shape: OnDemandBaseCapacity, location_name: "OnDemandBaseCapacity"))
657
+ InstancesDistribution.add_member(:on_demand_percentage_above_base_capacity, Shapes::ShapeRef.new(shape: OnDemandPercentageAboveBaseCapacity, location_name: "OnDemandPercentageAboveBaseCapacity"))
658
+ InstancesDistribution.add_member(:spot_allocation_strategy, Shapes::ShapeRef.new(shape: XmlString, location_name: "SpotAllocationStrategy"))
659
+ InstancesDistribution.add_member(:spot_instance_pools, Shapes::ShapeRef.new(shape: SpotInstancePools, location_name: "SpotInstancePools"))
660
+ InstancesDistribution.add_member(:spot_max_price, Shapes::ShapeRef.new(shape: SpotPrice, location_name: "SpotMaxPrice"))
661
+ InstancesDistribution.struct_class = Types::InstancesDistribution
662
+
645
663
  LaunchConfiguration.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "LaunchConfigurationName"))
646
664
  LaunchConfiguration.add_member(:launch_configuration_arn, Shapes::ShapeRef.new(shape: ResourceName, location_name: "LaunchConfigurationARN"))
647
665
  LaunchConfiguration.add_member(:image_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "ImageId"))
@@ -679,6 +697,13 @@ module Aws::AutoScaling
679
697
  LaunchConfigurationsType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
680
698
  LaunchConfigurationsType.struct_class = Types::LaunchConfigurationsType
681
699
 
700
+ LaunchTemplate.add_member(:launch_template_specification, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplateSpecification"))
701
+ LaunchTemplate.add_member(:overrides, Shapes::ShapeRef.new(shape: Overrides, location_name: "Overrides"))
702
+ LaunchTemplate.struct_class = Types::LaunchTemplate
703
+
704
+ LaunchTemplateOverrides.add_member(:instance_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceType"))
705
+ LaunchTemplateOverrides.struct_class = Types::LaunchTemplateOverrides
706
+
682
707
  LaunchTemplateSpecification.add_member(:launch_template_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "LaunchTemplateId"))
683
708
  LaunchTemplateSpecification.add_member(:launch_template_name, Shapes::ShapeRef.new(shape: LaunchTemplateName, location_name: "LaunchTemplateName"))
684
709
  LaunchTemplateSpecification.add_member(:version, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Version"))
@@ -742,6 +767,10 @@ module Aws::AutoScaling
742
767
 
743
768
  Metrics.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
744
769
 
770
+ MixedInstancesPolicy.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplate, location_name: "LaunchTemplate"))
771
+ MixedInstancesPolicy.add_member(:instances_distribution, Shapes::ShapeRef.new(shape: InstancesDistribution, location_name: "InstancesDistribution"))
772
+ MixedInstancesPolicy.struct_class = Types::MixedInstancesPolicy
773
+
745
774
  NotificationConfiguration.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "AutoScalingGroupName"))
746
775
  NotificationConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: ResourceName, location_name: "TopicARN"))
747
776
  NotificationConfiguration.add_member(:notification_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "NotificationType"))
@@ -749,6 +778,8 @@ module Aws::AutoScaling
749
778
 
750
779
  NotificationConfigurations.member = Shapes::ShapeRef.new(shape: NotificationConfiguration)
751
780
 
781
+ Overrides.member = Shapes::ShapeRef.new(shape: LaunchTemplateOverrides)
782
+
752
783
  PoliciesType.add_member(:scaling_policies, Shapes::ShapeRef.new(shape: ScalingPolicies, location_name: "ScalingPolicies"))
753
784
  PoliciesType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
754
785
  PoliciesType.struct_class = Types::PoliciesType
@@ -949,6 +980,7 @@ module Aws::AutoScaling
949
980
  UpdateAutoScalingGroupType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "AutoScalingGroupName"))
950
981
  UpdateAutoScalingGroupType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "LaunchConfigurationName"))
951
982
  UpdateAutoScalingGroupType.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
983
+ UpdateAutoScalingGroupType.add_member(:mixed_instances_policy, Shapes::ShapeRef.new(shape: MixedInstancesPolicy, location_name: "MixedInstancesPolicy"))
952
984
  UpdateAutoScalingGroupType.add_member(:min_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMinSize, location_name: "MinSize"))
953
985
  UpdateAutoScalingGroupType.add_member(:max_size, Shapes::ShapeRef.new(shape: AutoScalingGroupMaxSize, location_name: "MaxSize"))
954
986
  UpdateAutoScalingGroupType.add_member(:desired_capacity, Shapes::ShapeRef.new(shape: AutoScalingGroupDesiredCapacity, location_name: "DesiredCapacity"))
@@ -316,18 +316,18 @@ module Aws::AutoScaling
316
316
  # })
317
317
  # @param [Hash] options ({})
318
318
  # @option options [required, String] :health_status
319
- # The health status of the instance. Set to `Healthy` if you want the
320
- # instance to remain in service. Set to `Unhealthy` if you want the
321
- # instance to be out of service. Amazon EC2 Auto Scaling will terminate
322
- # and replace the unhealthy instance.
319
+ # The health status of the instance. Set to `Healthy` to have the
320
+ # instance remain in service. Set to `Unhealthy` to have the instance be
321
+ # out of service. Amazon EC2 Auto Scaling terminates and replaces the
322
+ # unhealthy instance.
323
323
  # @option options [Boolean] :should_respect_grace_period
324
324
  # If the Auto Scaling group of the specified instance has a
325
325
  # `HealthCheckGracePeriod` specified for the group, by default, this
326
- # call will respect the grace period. Set this to `False`, if you do not
327
- # want the call to respect the grace period associated with the group.
326
+ # call respects the grace period. Set this to `False`, to have the call
327
+ # not respect the grace period associated with the group.
328
328
  #
329
- # For more information, see the description of the health check grace
330
- # period for CreateAutoScalingGroup.
329
+ # For more information about the health check grace period, see
330
+ # CreateAutoScalingGroup.
331
331
  # @return [EmptyStructure]
332
332
  def set_health(options = {})
333
333
  options = options.merge(instance_id: @id)
@@ -40,8 +40,8 @@ module Aws::AutoScaling
40
40
  end
41
41
  alias :lifecycle_hook_name :name
42
42
 
43
- # The state of the EC2 instance to which you want to attach the
44
- # lifecycle hook. The following are possible values:
43
+ # The state of the EC2 instance to which to attach the lifecycle hook.
44
+ # The following are possible values:
45
45
  #
46
46
  # * autoscaling:EC2\_INSTANCE\_LAUNCHING
47
47
  #
@@ -305,18 +305,18 @@ module Aws::AutoScaling
305
305
  # This parameter is required for new lifecycle hooks, but optional when
306
306
  # updating existing hooks.
307
307
  # @option options [String] :notification_target_arn
308
- # The ARN of the notification target that Amazon EC2 Auto Scaling will
309
- # use to notify you when an instance is in the transition state for the
308
+ # The ARN of the notification target that Amazon EC2 Auto Scaling uses
309
+ # to notify you when an instance is in the transition state for the
310
310
  # lifecycle hook. This target can be either an SQS queue or an SNS
311
311
  # topic. If you specify an empty string, this overrides the current ARN.
312
312
  #
313
313
  # This operation uses the JSON format when sending notifications to an
314
- # Amazon SQS queue, and an email key/value pair format when sending
314
+ # Amazon SQS queue, and an email key-value pair format when sending
315
315
  # notifications to an Amazon SNS topic.
316
316
  #
317
317
  # When you specify a notification target, Amazon EC2 Auto Scaling sends
318
- # it a test message. Test messages contains the following additional
319
- # key/value pair: `"Event": "autoscaling:TEST_NOTIFICATION"`.
318
+ # it a test message. Test messages contain the following additional
319
+ # key-value pair: `"Event": "autoscaling:TEST_NOTIFICATION"`.
320
320
  # @option options [String] :notification_metadata
321
321
  # Contains additional information that you want to include any time
322
322
  # Amazon EC2 Auto Scaling sends a message to the notification target.
@@ -353,7 +353,7 @@ module Aws::AutoScaling
353
353
  # @option options [String] :lifecycle_action_token
354
354
  # A token that uniquely identifies a specific lifecycle action
355
355
  # associated with an instance. Amazon EC2 Auto Scaling sends this token
356
- # to the notification target you specified when you created the
356
+ # to the notification target that you specified when you created the
357
357
  # lifecycle hook.
358
358
  # @option options [String] :instance_id
359
359
  # The ID of the instance.
@@ -31,6 +31,28 @@ module Aws::AutoScaling
31
31
  # launch_template_name: "LaunchTemplateName",
32
32
  # version: "XmlStringMaxLen255",
33
33
  # },
34
+ # mixed_instances_policy: {
35
+ # launch_template: {
36
+ # launch_template_specification: {
37
+ # launch_template_id: "XmlStringMaxLen255",
38
+ # launch_template_name: "LaunchTemplateName",
39
+ # version: "XmlStringMaxLen255",
40
+ # },
41
+ # overrides: [
42
+ # {
43
+ # instance_type: "XmlStringMaxLen255",
44
+ # },
45
+ # ],
46
+ # },
47
+ # instances_distribution: {
48
+ # on_demand_allocation_strategy: "XmlString",
49
+ # on_demand_base_capacity: 1,
50
+ # on_demand_percentage_above_base_capacity: 1,
51
+ # spot_allocation_strategy: "XmlString",
52
+ # spot_instance_pools: 1,
53
+ # spot_max_price: "SpotPrice",
54
+ # },
55
+ # },
34
56
  # instance_id: "XmlStringMaxLen19",
35
57
  # min_size: 1, # required
36
58
  # max_size: 1, # required
@@ -72,22 +94,26 @@ module Aws::AutoScaling
72
94
  # The name of the Auto Scaling group. This name must be unique within
73
95
  # the scope of your AWS account.
74
96
  # @option options [String] :launch_configuration_name
75
- # The name of the launch configuration. You must specify one of the
76
- # following: a launch configuration, a launch template, or an EC2
77
- # instance.
97
+ # The name of the launch configuration. This parameter, a launch
98
+ # template, a mixed instances policy, or an EC2 instance must be
99
+ # specified.
78
100
  # @option options [Types::LaunchTemplateSpecification] :launch_template
79
- # The launch template to use to launch instances. You must specify one
80
- # of the following: a launch template, a launch configuration, or an EC2
81
- # instance.
101
+ # The launch template to use to launch instances. This parameter, a
102
+ # launch configuration, a mixed instances policy, or an EC2 instance
103
+ # must be specified.
104
+ # @option options [Types::MixedInstancesPolicy] :mixed_instances_policy
105
+ # The mixed instances policy to use to launch instances. This parameter,
106
+ # a launch template, a launch configuration, or an EC2 instance must be
107
+ # specified.
82
108
  # @option options [String] :instance_id
83
109
  # The ID of the instance used to create a launch configuration for the
84
- # group. You must specify one of the following: an EC2 instance, a
85
- # launch configuration, or a launch template.
110
+ # group. This parameter, a launch configuration, a launch template, or a
111
+ # mixed instances policy must be specified.
86
112
  #
87
113
  # When you specify an ID of an instance, Amazon EC2 Auto Scaling creates
88
114
  # a new launch configuration and associates it with the group. This
89
115
  # launch configuration derives its attributes from the specified
90
- # instance, with the exception of the block device mapping.
116
+ # instance, except for the block device mapping.
91
117
  #
92
118
  # For more information, see [Create an Auto Scaling Group Using an EC2
93
119
  # Instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
@@ -156,9 +182,9 @@ module Aws::AutoScaling
156
182
  #
157
183
  # [1]: http://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
158
184
  # @option options [String] :placement_group
159
- # The name of the placement group into which you'll launch your
160
- # instances, if any. For more information, see [Placement Groups][1] in
161
- # the *Amazon Elastic Compute Cloud User Guide*.
185
+ # The name of the placement group into which to launch your instances,
186
+ # if any. For more information, see [Placement Groups][1] in the *Amazon
187
+ # Elastic Compute Cloud User Guide*.
162
188
  #
163
189
  #
164
190
  #
@@ -281,9 +307,9 @@ module Aws::AutoScaling
281
307
  # One or more security groups with which to associate the instances.
282
308
  #
283
309
  # If your instances are launched in EC2-Classic, you can either specify
284
- # security group names or the security group IDs. For more information
285
- # about security groups for EC2-Classic, see [Amazon EC2 Security
286
- # Groups][1] in the *Amazon Elastic Compute Cloud User Guide*.
310
+ # security group names or the security group IDs. For more information,
311
+ # see [Amazon EC2 Security Groups][1] in the *Amazon Elastic Compute
312
+ # Cloud User Guide*.
287
313
  #
288
314
  # If your instances are launched into a VPC, specify security group IDs.
289
315
  # For more information, see [Security Groups for Your VPC][2] in the
@@ -322,8 +348,8 @@ module Aws::AutoScaling
322
348
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
323
349
  # @option options [String] :instance_id
324
350
  # The ID of the instance to use to create the launch configuration. The
325
- # new launch configuration derives attributes from the instance, with
326
- # the exception of the block device mapping.
351
+ # new launch configuration derives attributes from the instance, except
352
+ # for the block device mapping.
327
353
  #
328
354
  # If you do not specify `InstanceId`, you must specify both `ImageId`
329
355
  # and `InstanceType`.
@@ -378,7 +404,7 @@ module Aws::AutoScaling
378
404
  # The name or the Amazon Resource Name (ARN) of the instance profile
379
405
  # associated with the IAM role for the instance.
380
406
  #
381
- # EC2 instances launched with an IAM role will automatically have AWS
407
+ # EC2 instances launched with an IAM role automatically have AWS
382
408
  # security credentials available. You can use IAM roles with Amazon EC2
383
409
  # Auto Scaling to automatically enable applications running on your EC2
384
410
  # instances to securely access other AWS resources. For more
@@ -421,9 +447,9 @@ module Aws::AutoScaling
421
447
  # The tenancy of the instance. An instance with a tenancy of `dedicated`
422
448
  # runs on single-tenant hardware and can only be launched into a VPC.
423
449
  #
424
- # You must set the value of this parameter to `dedicated` if want to
425
- # launch Dedicated Instances into a shared tenancy VPC (VPC with
426
- # instance placement tenancy attribute set to `default`).
450
+ # To launch Dedicated Instances into a shared tenancy VPC (a VPC with
451
+ # the instance placement tenancy attribute set to `default`), you must
452
+ # set the value of this parameter to `dedicated`.
427
453
  #
428
454
  # If you specify this parameter, be sure to specify at least one subnet
429
455
  # when you create your group.
@@ -607,7 +633,7 @@ module Aws::AutoScaling
607
633
  # The name of the Auto Scaling group.
608
634
  # @option options [Array<String>] :policy_names
609
635
  # The names of one or more policies. If you omit this parameter, all
610
- # policies are described. If an group name is provided, the results are
636
+ # policies are described. If a group name is provided, the results are
611
637
  # limited to that group. This list is limited to 50 items. If you
612
638
  # specify an unknown policy name, it is ignored with no error.
613
639
  # @option options [Array<String>] :policy_types
@@ -703,7 +729,8 @@ module Aws::AutoScaling
703
729
  # })
704
730
  # @param [Hash] options ({})
705
731
  # @option options [Array<Types::Filter>] :filters
706
- # A filter used to scope the tags to return.
732
+ # One or more filters to scope the tags to return. The maximum number of
733
+ # filters per filter type (for example, `auto-scaling-group`) is 1000.
707
734
  # @return [Tag::Collection]
708
735
  def tags(options = {})
709
736
  batches = Enumerator.new do |y|
@@ -53,7 +53,7 @@ module Aws::AutoScaling
53
53
  # time can be up to one month in the future.
54
54
  #
55
55
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
56
- # form the boundaries of when the recurring action will start and stop.
56
+ # form the boundaries of when the recurring action starts and stops.
57
57
  # @return [Time]
58
58
  def start_time
59
59
  data[:start_time]
@@ -105,7 +105,7 @@ module Aws::AutoScaling
105
105
  #
106
106
  #
107
107
  #
108
- # [1]: http://docs.aws.amazon.com/autoscaling/ec2/DeveloperGuide/as-scale-based-on-demand.html
108
+ # [1]: http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html
109
109
  #
110
110
  # @!attribute [rw] adjustment_type
111
111
  # The policy adjustment type. The valid values are `ChangeInCapacity`,
@@ -237,6 +237,10 @@ module Aws::AutoScaling
237
237
  # The launch template for the group.
238
238
  # @return [Types::LaunchTemplateSpecification]
239
239
  #
240
+ # @!attribute [rw] mixed_instances_policy
241
+ # The mixed instances policy for the group.
242
+ # @return [Types::MixedInstancesPolicy]
243
+ #
240
244
  # @!attribute [rw] min_size
241
245
  # The minimum size of the group.
242
246
  # @return [Integer]
@@ -291,9 +295,9 @@ module Aws::AutoScaling
291
295
  # @return [Array<Types::SuspendedProcess>]
292
296
  #
293
297
  # @!attribute [rw] placement_group
294
- # The name of the placement group into which you'll launch your
295
- # instances, if any. For more information, see [Placement Groups][1]
296
- # in the *Amazon Elastic Compute Cloud User Guide*.
298
+ # The name of the placement group into which to launch your instances,
299
+ # if any. For more information, see [Placement Groups][1] in the
300
+ # *Amazon Elastic Compute Cloud User Guide*.
297
301
  #
298
302
  #
299
303
  #
@@ -342,6 +346,7 @@ module Aws::AutoScaling
342
346
  :auto_scaling_group_arn,
343
347
  :launch_configuration_name,
344
348
  :launch_template,
349
+ :mixed_instances_policy,
345
350
  :min_size,
346
351
  :max_size,
347
352
  :desired_capacity,
@@ -612,8 +617,8 @@ module Aws::AutoScaling
612
617
  # Suppresses a device mapping.
613
618
  #
614
619
  # If this parameter is true for the root device, the instance might
615
- # fail the EC2 health check. Amazon EC2 Auto Scaling launches a
616
- # replacement instance if the instance fails the health check.
620
+ # fail the EC2 health check. In that case, Amazon EC2 Auto Scaling
621
+ # launches a replacement instance.
617
622
  # @return [Boolean]
618
623
  #
619
624
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BlockDeviceMapping AWS API Documentation
@@ -687,6 +692,28 @@ module Aws::AutoScaling
687
692
  # launch_template_name: "LaunchTemplateName",
688
693
  # version: "XmlStringMaxLen255",
689
694
  # },
695
+ # mixed_instances_policy: {
696
+ # launch_template: {
697
+ # launch_template_specification: {
698
+ # launch_template_id: "XmlStringMaxLen255",
699
+ # launch_template_name: "LaunchTemplateName",
700
+ # version: "XmlStringMaxLen255",
701
+ # },
702
+ # overrides: [
703
+ # {
704
+ # instance_type: "XmlStringMaxLen255",
705
+ # },
706
+ # ],
707
+ # },
708
+ # instances_distribution: {
709
+ # on_demand_allocation_strategy: "XmlString",
710
+ # on_demand_base_capacity: 1,
711
+ # on_demand_percentage_above_base_capacity: 1,
712
+ # spot_allocation_strategy: "XmlString",
713
+ # spot_instance_pools: 1,
714
+ # spot_max_price: "SpotPrice",
715
+ # },
716
+ # },
690
717
  # instance_id: "XmlStringMaxLen19",
691
718
  # min_size: 1, # required
692
719
  # max_size: 1, # required
@@ -730,26 +757,32 @@ module Aws::AutoScaling
730
757
  # @return [String]
731
758
  #
732
759
  # @!attribute [rw] launch_configuration_name
733
- # The name of the launch configuration. You must specify one of the
734
- # following: a launch configuration, a launch template, or an EC2
735
- # instance.
760
+ # The name of the launch configuration. This parameter, a launch
761
+ # template, a mixed instances policy, or an EC2 instance must be
762
+ # specified.
736
763
  # @return [String]
737
764
  #
738
765
  # @!attribute [rw] launch_template
739
- # The launch template to use to launch instances. You must specify one
740
- # of the following: a launch template, a launch configuration, or an
741
- # EC2 instance.
766
+ # The launch template to use to launch instances. This parameter, a
767
+ # launch configuration, a mixed instances policy, or an EC2 instance
768
+ # must be specified.
742
769
  # @return [Types::LaunchTemplateSpecification]
743
770
  #
771
+ # @!attribute [rw] mixed_instances_policy
772
+ # The mixed instances policy to use to launch instances. This
773
+ # parameter, a launch template, a launch configuration, or an EC2
774
+ # instance must be specified.
775
+ # @return [Types::MixedInstancesPolicy]
776
+ #
744
777
  # @!attribute [rw] instance_id
745
778
  # The ID of the instance used to create a launch configuration for the
746
- # group. You must specify one of the following: an EC2 instance, a
747
- # launch configuration, or a launch template.
779
+ # group. This parameter, a launch configuration, a launch template, or
780
+ # a mixed instances policy must be specified.
748
781
  #
749
782
  # When you specify an ID of an instance, Amazon EC2 Auto Scaling
750
783
  # creates a new launch configuration and associates it with the group.
751
784
  # This launch configuration derives its attributes from the specified
752
- # instance, with the exception of the block device mapping.
785
+ # instance, except for the block device mapping.
753
786
  #
754
787
  # For more information, see [Create an Auto Scaling Group Using an EC2
755
788
  # Instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
@@ -838,9 +871,9 @@ module Aws::AutoScaling
838
871
  # @return [Integer]
839
872
  #
840
873
  # @!attribute [rw] placement_group
841
- # The name of the placement group into which you'll launch your
842
- # instances, if any. For more information, see [Placement Groups][1]
843
- # in the *Amazon Elastic Compute Cloud User Guide*.
874
+ # The name of the placement group into which to launch your instances,
875
+ # if any. For more information, see [Placement Groups][1] in the
876
+ # *Amazon Elastic Compute Cloud User Guide*.
844
877
  #
845
878
  #
846
879
  #
@@ -909,6 +942,7 @@ module Aws::AutoScaling
909
942
  :auto_scaling_group_name,
910
943
  :launch_configuration_name,
911
944
  :launch_template,
945
+ :mixed_instances_policy,
912
946
  :instance_id,
913
947
  :min_size,
914
948
  :max_size,
@@ -1002,9 +1036,8 @@ module Aws::AutoScaling
1002
1036
  #
1003
1037
  # If your instances are launched in EC2-Classic, you can either
1004
1038
  # specify security group names or the security group IDs. For more
1005
- # information about security groups for EC2-Classic, see [Amazon EC2
1006
- # Security Groups][1] in the *Amazon Elastic Compute Cloud User
1007
- # Guide*.
1039
+ # information, see [Amazon EC2 Security Groups][1] in the *Amazon
1040
+ # Elastic Compute Cloud User Guide*.
1008
1041
  #
1009
1042
  # If your instances are launched into a VPC, specify security group
1010
1043
  # IDs. For more information, see [Security Groups for Your VPC][2] in
@@ -1052,7 +1085,7 @@ module Aws::AutoScaling
1052
1085
  # @!attribute [rw] instance_id
1053
1086
  # The ID of the instance to use to create the launch configuration.
1054
1087
  # The new launch configuration derives attributes from the instance,
1055
- # with the exception of the block device mapping.
1088
+ # except for the block device mapping.
1056
1089
  #
1057
1090
  # If you do not specify `InstanceId`, you must specify both `ImageId`
1058
1091
  # and `InstanceType`.
@@ -1121,7 +1154,7 @@ module Aws::AutoScaling
1121
1154
  # The name or the Amazon Resource Name (ARN) of the instance profile
1122
1155
  # associated with the IAM role for the instance.
1123
1156
  #
1124
- # EC2 instances launched with an IAM role will automatically have AWS
1157
+ # EC2 instances launched with an IAM role automatically have AWS
1125
1158
  # security credentials available. You can use IAM roles with Amazon
1126
1159
  # EC2 Auto Scaling to automatically enable applications running on
1127
1160
  # your EC2 instances to securely access other AWS resources. For more
@@ -1171,9 +1204,9 @@ module Aws::AutoScaling
1171
1204
  # `dedicated` runs on single-tenant hardware and can only be launched
1172
1205
  # into a VPC.
1173
1206
  #
1174
- # You must set the value of this parameter to `dedicated` if want to
1175
- # launch Dedicated Instances into a shared tenancy VPC (VPC with
1176
- # instance placement tenancy attribute set to `default`).
1207
+ # To launch Dedicated Instances into a shared tenancy VPC (a VPC with
1208
+ # the instance placement tenancy attribute set to `default`), you must
1209
+ # set the value of this parameter to `dedicated`.
1177
1210
  #
1178
1211
  # If you specify this parameter, be sure to specify at least one
1179
1212
  # subnet when you create your group.
@@ -1300,7 +1333,7 @@ module Aws::AutoScaling
1300
1333
  # @return [String]
1301
1334
  #
1302
1335
  # @!attribute [rw] force_delete
1303
- # Specifies that the group will be deleted along with all instances
1336
+ # Specifies that the group is to be deleted along with all instances
1304
1337
  # associated with the group, without waiting for all instances to be
1305
1338
  # terminated. This parameter also deletes any lifecycle actions
1306
1339
  # associated with the group.
@@ -1356,7 +1389,7 @@ module Aws::AutoScaling
1356
1389
  #
1357
1390
  # @!attribute [rw] topic_arn
1358
1391
  # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1359
- # Service (SNS) topic.
1392
+ # Service (Amazon SNS) topic.
1360
1393
  # @return [String]
1361
1394
  #
1362
1395
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteNotificationConfigurationType AWS API Documentation
@@ -1753,8 +1786,8 @@ module Aws::AutoScaling
1753
1786
  #
1754
1787
  # @!attribute [rw] policy_names
1755
1788
  # The names of one or more policies. If you omit this parameter, all
1756
- # policies are described. If an group name is provided, the results
1757
- # are limited to that group. This list is limited to 50 items. If you
1789
+ # policies are described. If a group name is provided, the results are
1790
+ # limited to that group. This list is limited to 50 items. If you
1758
1791
  # specify an unknown policy name, it is ignored with no error.
1759
1792
  # @return [Array<String>]
1760
1793
  #
@@ -1896,7 +1929,9 @@ module Aws::AutoScaling
1896
1929
  # }
1897
1930
  #
1898
1931
  # @!attribute [rw] filters
1899
- # A filter used to scope the tags to return.
1932
+ # One or more filters to scope the tags to return. The maximum number
1933
+ # of filters per filter type (for example, `auto-scaling-group`) is
1934
+ # 1000.
1900
1935
  # @return [Array<Types::Filter>]
1901
1936
  #
1902
1937
  # @!attribute [rw] next_token
@@ -1919,9 +1954,12 @@ module Aws::AutoScaling
1919
1954
  end
1920
1955
 
1921
1956
  # @!attribute [rw] termination_policy_types
1922
- # The termination policies supported by Amazon EC2 Auto Scaling
1923
- # (`OldestInstance`, `OldestLaunchConfiguration`, `NewestInstance`,
1924
- # `ClosestToNextInstanceHour`, and `Default`).
1957
+ # The termination policies supported by Amazon EC2 Auto Scaling:
1958
+ # `OldestInstance`, `OldestLaunchConfiguration`, `NewestInstance`,
1959
+ # `ClosestToNextInstanceHour`, `Default`, `OldestLaunchTemplate`, and
1960
+ # `AllocationStrategy`. Currently, the `OldestLaunchTemplate` and
1961
+ # `AllocationStrategy` policies are only supported for Auto Scaling
1962
+ # groups with MixedInstancesPolicy.
1925
1963
  # @return [Array<String>]
1926
1964
  #
1927
1965
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTerminationPolicyTypesAnswer AWS API Documentation
@@ -2438,15 +2476,15 @@ module Aws::AutoScaling
2438
2476
  # @return [String]
2439
2477
  #
2440
2478
  # @!attribute [rw] lifecycle_state
2441
- # A description of the current lifecycle state. Note that the
2442
- # `Quarantined` state is not used.
2479
+ # A description of the current lifecycle state. The `Quarantined`
2480
+ # state is not used.
2443
2481
  # @return [String]
2444
2482
  #
2445
2483
  # @!attribute [rw] health_status
2446
2484
  # The last reported health status of the instance. "Healthy" means
2447
2485
  # that the instance is healthy and should remain in service.
2448
- # "Unhealthy" means that the instance is unhealthy and Amazon EC2
2449
- # Auto Scaling should terminate and replace it.
2486
+ # "Unhealthy" means that the instance is unhealthy and that Amazon
2487
+ # EC2 Auto Scaling should terminate and replace it.
2450
2488
  # @return [String]
2451
2489
  #
2452
2490
  # @!attribute [rw] launch_configuration_name
@@ -2497,6 +2535,94 @@ module Aws::AutoScaling
2497
2535
  include Aws::Structure
2498
2536
  end
2499
2537
 
2538
+ # Describes an instances distribution for an Auto Scaling group with
2539
+ # MixedInstancesPolicy.
2540
+ #
2541
+ # The instances distribution specifies the distribution of On-Demand
2542
+ # Instances and Spot Instances, the maximum price to pay for Spot
2543
+ # Instances, and how the Auto Scaling group allocates instance types.
2544
+ #
2545
+ # @note When making an API call, you may pass InstancesDistribution
2546
+ # data as a hash:
2547
+ #
2548
+ # {
2549
+ # on_demand_allocation_strategy: "XmlString",
2550
+ # on_demand_base_capacity: 1,
2551
+ # on_demand_percentage_above_base_capacity: 1,
2552
+ # spot_allocation_strategy: "XmlString",
2553
+ # spot_instance_pools: 1,
2554
+ # spot_max_price: "SpotPrice",
2555
+ # }
2556
+ #
2557
+ # @!attribute [rw] on_demand_allocation_strategy
2558
+ # Indicates how to allocate instance types to fulfill On-Demand
2559
+ # capacity.
2560
+ #
2561
+ # The only valid value is `prioritized`, which is also the default
2562
+ # value. This strategy uses the order of instance types in the
2563
+ # **Overrides** array of LaunchTemplate to define the launch priority
2564
+ # of each instance type. The first instance type in the array is
2565
+ # prioritized higher than the last. If all your On-Demand capacity
2566
+ # cannot be fulfilled using your highest priority instance, then the
2567
+ # Auto Scaling groups launches the remaining capacity using the second
2568
+ # priority instance type, and so on.
2569
+ # @return [String]
2570
+ #
2571
+ # @!attribute [rw] on_demand_base_capacity
2572
+ # The minimum amount of the Auto Scaling group's capacity that must
2573
+ # be fulfilled by On-Demand Instances. This base portion is
2574
+ # provisioned first as your group scales.
2575
+ #
2576
+ # The default value is 0. If you leave this parameter set to 0,
2577
+ # On-Demand Instances are launched as a percentage of the Auto Scaling
2578
+ # group's desired capacity, per the
2579
+ # **OnDemandPercentageAboveBaseCapacity** setting.
2580
+ # @return [Integer]
2581
+ #
2582
+ # @!attribute [rw] on_demand_percentage_above_base_capacity
2583
+ # Controls the percentages of On-Demand Instances and Spot Instances
2584
+ # for your additional capacity beyond **OnDemandBaseCapacity**.
2585
+ #
2586
+ # The range is 0–100. The default value is 100. If you leave this
2587
+ # parameter set to 100, the percentages are 100% for On-Demand
2588
+ # Instances and 0% for Spot Instances.
2589
+ # @return [Integer]
2590
+ #
2591
+ # @!attribute [rw] spot_allocation_strategy
2592
+ # Indicates how to allocate Spot capacity across Spot pools.
2593
+ #
2594
+ # The only valid value is `lowest-price`, which is also the default
2595
+ # value. The Auto Scaling group selects the cheapest Spot pools and
2596
+ # evenly allocates your Spot capacity across the number of Spot pools
2597
+ # that you specify.
2598
+ # @return [String]
2599
+ #
2600
+ # @!attribute [rw] spot_instance_pools
2601
+ # The number of Spot pools to use to allocate your Spot capacity. The
2602
+ # Spot pools are determined from the different instance types in the
2603
+ # **Overrides** array of LaunchTemplate.
2604
+ #
2605
+ # The range is 1–20 and the default is 2.
2606
+ # @return [Integer]
2607
+ #
2608
+ # @!attribute [rw] spot_max_price
2609
+ # The maximum price per unit hour that you are willing to pay for a
2610
+ # Spot Instance. If you leave this value blank (which is the default),
2611
+ # the maximum Spot price is set at the On-Demand price.
2612
+ # @return [String]
2613
+ #
2614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstancesDistribution AWS API Documentation
2615
+ #
2616
+ class InstancesDistribution < Struct.new(
2617
+ :on_demand_allocation_strategy,
2618
+ :on_demand_base_capacity,
2619
+ :on_demand_percentage_above_base_capacity,
2620
+ :spot_allocation_strategy,
2621
+ :spot_instance_pools,
2622
+ :spot_max_price)
2623
+ include Aws::Structure
2624
+ end
2625
+
2500
2626
  # Describes a launch configuration.
2501
2627
  #
2502
2628
  # @!attribute [rw] launch_configuration_name
@@ -2690,7 +2816,86 @@ module Aws::AutoScaling
2690
2816
  include Aws::Structure
2691
2817
  end
2692
2818
 
2693
- # Describes a launch template.
2819
+ # Describes a launch template and overrides.
2820
+ #
2821
+ # The overrides are used to override the instance type specified by the
2822
+ # launch template with multiple instance types that can be used to
2823
+ # launch On-Demand Instances and Spot Instances.
2824
+ #
2825
+ # @note When making an API call, you may pass LaunchTemplate
2826
+ # data as a hash:
2827
+ #
2828
+ # {
2829
+ # launch_template_specification: {
2830
+ # launch_template_id: "XmlStringMaxLen255",
2831
+ # launch_template_name: "LaunchTemplateName",
2832
+ # version: "XmlStringMaxLen255",
2833
+ # },
2834
+ # overrides: [
2835
+ # {
2836
+ # instance_type: "XmlStringMaxLen255",
2837
+ # },
2838
+ # ],
2839
+ # }
2840
+ #
2841
+ # @!attribute [rw] launch_template_specification
2842
+ # The launch template to use. You must specify either the launch
2843
+ # template ID or launch template name in the request.
2844
+ # @return [Types::LaunchTemplateSpecification]
2845
+ #
2846
+ # @!attribute [rw] overrides
2847
+ # Any parameters that you specify override the same parameters in the
2848
+ # launch template. Currently, the only supported override is instance
2849
+ # type.
2850
+ #
2851
+ # You must specify between 2 and 20 overrides.
2852
+ # @return [Array<Types::LaunchTemplateOverrides>]
2853
+ #
2854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchTemplate AWS API Documentation
2855
+ #
2856
+ class LaunchTemplate < Struct.new(
2857
+ :launch_template_specification,
2858
+ :overrides)
2859
+ include Aws::Structure
2860
+ end
2861
+
2862
+ # Describes an override for a launch template.
2863
+ #
2864
+ # @note When making an API call, you may pass LaunchTemplateOverrides
2865
+ # data as a hash:
2866
+ #
2867
+ # {
2868
+ # instance_type: "XmlStringMaxLen255",
2869
+ # }
2870
+ #
2871
+ # @!attribute [rw] instance_type
2872
+ # The instance type.
2873
+ #
2874
+ # For information about available instance types, see [Available
2875
+ # Instance Types][1] in the *Amazon Elastic Compute Cloud User Guide.*
2876
+ #
2877
+ #
2878
+ #
2879
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes
2880
+ # @return [String]
2881
+ #
2882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchTemplateOverrides AWS API Documentation
2883
+ #
2884
+ class LaunchTemplateOverrides < Struct.new(
2885
+ :instance_type)
2886
+ include Aws::Structure
2887
+ end
2888
+
2889
+ # Describes a launch template and the launch template version.
2890
+ #
2891
+ # The launch template that is specified must be configured for use with
2892
+ # an Auto Scaling group. For more information, see [Creating a Launch
2893
+ # Template for an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling
2894
+ # User Guide*.
2895
+ #
2896
+ #
2897
+ #
2898
+ # [1]: http://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
2694
2899
  #
2695
2900
  # @note When making an API call, you may pass LaunchTemplateSpecification
2696
2901
  # data as a hash:
@@ -2749,8 +2954,8 @@ module Aws::AutoScaling
2749
2954
  # @return [String]
2750
2955
  #
2751
2956
  # @!attribute [rw] lifecycle_transition
2752
- # The state of the EC2 instance to which you want to attach the
2753
- # lifecycle hook. The following are possible values:
2957
+ # The state of the EC2 instance to which to attach the lifecycle hook.
2958
+ # The following are possible values:
2754
2959
  #
2755
2960
  # * autoscaling:EC2\_INSTANCE\_LAUNCHING
2756
2961
  #
@@ -2897,11 +3102,11 @@ module Aws::AutoScaling
2897
3102
  #
2898
3103
  # If you attach a load balancer to an existing Auto Scaling group, the
2899
3104
  # initial state is `Adding`. The state transitions to `Added` after all
2900
- # instances in the group are registered with the load balancer. If ELB
2901
- # health checks are enabled for the load balancer, the state transitions
2902
- # to `InService` after at least one instance in the group passes the
2903
- # health check. If EC2 health checks are enabled instead, the load
2904
- # balancer remains in the `Added` state.
3105
+ # instances in the group are registered with the load balancer. If
3106
+ # Elastic Load Balancing health checks are enabled for the load
3107
+ # balancer, the state transitions to `InService` after at least one
3108
+ # instance in the group passes the health check. If EC2 health checks
3109
+ # are enabled instead, the load balancer remains in the `Added` state.
2905
3110
  #
2906
3111
  # @!attribute [rw] load_balancer_name
2907
3112
  # The name of the load balancer.
@@ -2940,11 +3145,11 @@ module Aws::AutoScaling
2940
3145
  #
2941
3146
  # If you attach a target group to an existing Auto Scaling group, the
2942
3147
  # initial state is `Adding`. The state transitions to `Added` after all
2943
- # Auto Scaling instances are registered with the target group. If ELB
2944
- # health checks are enabled, the state transitions to `InService` after
2945
- # at least one Auto Scaling instance passes the health check. If EC2
2946
- # health checks are enabled instead, the target group remains in the
2947
- # `Added` state.
3148
+ # Auto Scaling instances are registered with the target group. If
3149
+ # Elastic Load Balancing health checks are enabled, the state
3150
+ # transitions to `InService` after at least one Auto Scaling instance
3151
+ # passes the health check. If EC2 health checks are enabled instead, the
3152
+ # target group remains in the `Added` state.
2948
3153
  #
2949
3154
  # @!attribute [rw] load_balancer_target_group_arn
2950
3155
  # The Amazon Resource Name (ARN) of the target group.
@@ -3047,6 +3252,70 @@ module Aws::AutoScaling
3047
3252
  include Aws::Structure
3048
3253
  end
3049
3254
 
3255
+ # Describes a mixed instances policy for an Auto Scaling group. With
3256
+ # mixed instances, your Auto Scaling group can provision a combination
3257
+ # of On-Demand Instances and Spot Instances across multiple instance
3258
+ # types. For more information, see [Using Multiple Instance Types and
3259
+ # Purchase Options][1] in the *Amazon EC2 Auto Scaling User Guide*.
3260
+ #
3261
+ # When you create your Auto Scaling group, you can specify a launch
3262
+ # configuration or template as a parameter for the top-level object, or
3263
+ # you can specify a mixed instances policy, but not both at the same
3264
+ # time.
3265
+ #
3266
+ #
3267
+ #
3268
+ # [1]: http://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html#asg-purchase-options
3269
+ #
3270
+ # @note When making an API call, you may pass MixedInstancesPolicy
3271
+ # data as a hash:
3272
+ #
3273
+ # {
3274
+ # launch_template: {
3275
+ # launch_template_specification: {
3276
+ # launch_template_id: "XmlStringMaxLen255",
3277
+ # launch_template_name: "LaunchTemplateName",
3278
+ # version: "XmlStringMaxLen255",
3279
+ # },
3280
+ # overrides: [
3281
+ # {
3282
+ # instance_type: "XmlStringMaxLen255",
3283
+ # },
3284
+ # ],
3285
+ # },
3286
+ # instances_distribution: {
3287
+ # on_demand_allocation_strategy: "XmlString",
3288
+ # on_demand_base_capacity: 1,
3289
+ # on_demand_percentage_above_base_capacity: 1,
3290
+ # spot_allocation_strategy: "XmlString",
3291
+ # spot_instance_pools: 1,
3292
+ # spot_max_price: "SpotPrice",
3293
+ # },
3294
+ # }
3295
+ #
3296
+ # @!attribute [rw] launch_template
3297
+ # The launch template and overrides.
3298
+ #
3299
+ # This parameter is required when creating an Auto Scaling group with
3300
+ # a mixed instances policy, but is not required when updating the
3301
+ # group.
3302
+ # @return [Types::LaunchTemplate]
3303
+ #
3304
+ # @!attribute [rw] instances_distribution
3305
+ # The instances distribution to use.
3306
+ #
3307
+ # If you leave this parameter unspecified when creating the group, the
3308
+ # default values are used.
3309
+ # @return [Types::InstancesDistribution]
3310
+ #
3311
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MixedInstancesPolicy AWS API Documentation
3312
+ #
3313
+ class MixedInstancesPolicy < Struct.new(
3314
+ :launch_template,
3315
+ :instances_distribution)
3316
+ include Aws::Structure
3317
+ end
3318
+
3050
3319
  # Describes a notification.
3051
3320
  #
3052
3321
  # @!attribute [rw] auto_scaling_group_name
@@ -3055,7 +3324,7 @@ module Aws::AutoScaling
3055
3324
  #
3056
3325
  # @!attribute [rw] topic_arn
3057
3326
  # The Amazon Resource Name (ARN) of the Amazon Simple Notification
3058
- # Service (SNS) topic.
3327
+ # Service (Amazon SNS) topic.
3059
3328
  # @return [String]
3060
3329
  #
3061
3330
  # @!attribute [rw] notification_type
@@ -3134,17 +3403,17 @@ module Aws::AutoScaling
3134
3403
  # Identifies the resource associated with the metric type. The
3135
3404
  # following predefined metrics are available:
3136
3405
  #
3137
- # * `ASGAverageCPUUtilization` - average CPU utilization of the Auto
3138
- # Scaling group
3406
+ # * `ASGAverageCPUUtilization` - Average CPU utilization of the Auto
3407
+ # Scaling group.
3139
3408
  #
3140
- # * `ASGAverageNetworkIn` - average number of bytes received on all
3141
- # network interfaces by the Auto Scaling group
3409
+ # * `ASGAverageNetworkIn` - Average number of bytes received on all
3410
+ # network interfaces by the Auto Scaling group.
3142
3411
  #
3143
- # * `ASGAverageNetworkOut` - average number of bytes sent out on all
3144
- # network interfaces by the Auto Scaling group
3412
+ # * `ASGAverageNetworkOut` - Average number of bytes sent out on all
3413
+ # network interfaces by the Auto Scaling group.
3145
3414
  #
3146
- # * `ALBRequestCountPerTarget` - number of requests completed per
3147
- # target in an Application Load Balancer target group
3415
+ # * `ALBRequestCountPerTarget` - Number of requests completed per
3416
+ # target in an Application Load Balancer target group.
3148
3417
  #
3149
3418
  # For predefined metric types `ASGAverageCPUUtilization`,
3150
3419
  # `ASGAverageNetworkIn`, and `ASGAverageNetworkOut`, the parameter
@@ -3262,19 +3531,19 @@ module Aws::AutoScaling
3262
3531
  # @return [String]
3263
3532
  #
3264
3533
  # @!attribute [rw] notification_target_arn
3265
- # The ARN of the notification target that Amazon EC2 Auto Scaling will
3266
- # use to notify you when an instance is in the transition state for
3267
- # the lifecycle hook. This target can be either an SQS queue or an SNS
3534
+ # The ARN of the notification target that Amazon EC2 Auto Scaling uses
3535
+ # to notify you when an instance is in the transition state for the
3536
+ # lifecycle hook. This target can be either an SQS queue or an SNS
3268
3537
  # topic. If you specify an empty string, this overrides the current
3269
3538
  # ARN.
3270
3539
  #
3271
3540
  # This operation uses the JSON format when sending notifications to an
3272
- # Amazon SQS queue, and an email key/value pair format when sending
3541
+ # Amazon SQS queue, and an email key-value pair format when sending
3273
3542
  # notifications to an Amazon SNS topic.
3274
3543
  #
3275
3544
  # When you specify a notification target, Amazon EC2 Auto Scaling
3276
- # sends it a test message. Test messages contains the following
3277
- # additional key/value pair: `"Event":
3545
+ # sends it a test message. Test messages contain the following
3546
+ # additional key-value pair: `"Event":
3278
3547
  # "autoscaling:TEST_NOTIFICATION"`.
3279
3548
  # @return [String]
3280
3549
  #
@@ -3329,12 +3598,12 @@ module Aws::AutoScaling
3329
3598
  #
3330
3599
  # @!attribute [rw] topic_arn
3331
3600
  # The Amazon Resource Name (ARN) of the Amazon Simple Notification
3332
- # Service (SNS) topic.
3601
+ # Service (Amazon SNS) topic.
3333
3602
  # @return [String]
3334
3603
  #
3335
3604
  # @!attribute [rw] notification_types
3336
- # The type of event that will cause the notification to be sent. For
3337
- # details about notification types supported by Amazon EC2 Auto
3605
+ # The type of event that causes the notification to be sent. For more
3606
+ # information about notification types supported by Amazon EC2 Auto
3338
3607
  # Scaling, see DescribeAutoScalingNotificationTypes.
3339
3608
  # @return [Array<String>]
3340
3609
  #
@@ -3613,8 +3882,8 @@ module Aws::AutoScaling
3613
3882
  # @!attribute [rw] lifecycle_action_token
3614
3883
  # A token that uniquely identifies a specific lifecycle action
3615
3884
  # associated with an instance. Amazon EC2 Auto Scaling sends this
3616
- # token to the notification target you specified when you created the
3617
- # lifecycle hook.
3885
+ # token to the notification target that you specified when you created
3886
+ # the lifecycle hook.
3618
3887
  # @return [String]
3619
3888
  #
3620
3889
  # @!attribute [rw] instance_id
@@ -3803,8 +4072,7 @@ module Aws::AutoScaling
3803
4072
  # and time can be up to one month in the future.
3804
4073
  #
3805
4074
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
3806
- # form the boundaries of when the recurring action will start and
3807
- # stop.
4075
+ # form the boundaries of when the recurring action starts and stops.
3808
4076
  # @return [Time]
3809
4077
  #
3810
4078
  # @!attribute [rw] end_time
@@ -3968,21 +4236,20 @@ module Aws::AutoScaling
3968
4236
  # @return [String]
3969
4237
  #
3970
4238
  # @!attribute [rw] health_status
3971
- # The health status of the instance. Set to `Healthy` if you want the
3972
- # instance to remain in service. Set to `Unhealthy` if you want the
3973
- # instance to be out of service. Amazon EC2 Auto Scaling will
3974
- # terminate and replace the unhealthy instance.
4239
+ # The health status of the instance. Set to `Healthy` to have the
4240
+ # instance remain in service. Set to `Unhealthy` to have the instance
4241
+ # be out of service. Amazon EC2 Auto Scaling terminates and replaces
4242
+ # the unhealthy instance.
3975
4243
  # @return [String]
3976
4244
  #
3977
4245
  # @!attribute [rw] should_respect_grace_period
3978
4246
  # If the Auto Scaling group of the specified instance has a
3979
4247
  # `HealthCheckGracePeriod` specified for the group, by default, this
3980
- # call will respect the grace period. Set this to `False`, if you do
3981
- # not want the call to respect the grace period associated with the
3982
- # group.
4248
+ # call respects the grace period. Set this to `False`, to have the
4249
+ # call not respect the grace period associated with the group.
3983
4250
  #
3984
- # For more information, see the description of the health check grace
3985
- # period for CreateAutoScalingGroup.
4251
+ # For more information about the health check grace period, see
4252
+ # CreateAutoScalingGroup.
3986
4253
  # @return [Boolean]
3987
4254
  #
3988
4255
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceHealthQuery AWS API Documentation
@@ -4036,25 +4303,25 @@ module Aws::AutoScaling
4036
4303
  # For the following examples, suppose that you have an alarm with a
4037
4304
  # breach threshold of 50:
4038
4305
  #
4039
- # * If you want the adjustment to be triggered when the metric is
4040
- # greater than or equal to 50 and less than 60, specify a lower bound
4041
- # of 0 and an upper bound of 10.
4306
+ # * To trigger the adjustment when the metric is greater than or equal
4307
+ # to 50 and less than 60, specify a lower bound of 0 and an upper
4308
+ # bound of 10.
4042
4309
  #
4043
- # * If you want the adjustment to be triggered when the metric is
4044
- # greater than 40 and less than or equal to 50, specify a lower bound
4045
- # of -10 and an upper bound of 0.
4310
+ # * To trigger the adjustment when the metric is greater than 40 and
4311
+ # less than or equal to 50, specify a lower bound of -10 and an upper
4312
+ # bound of 0.
4046
4313
  #
4047
4314
  # There are a few rules for the step adjustments for your step policy:
4048
4315
  #
4049
4316
  # * The ranges of your step adjustments can't overlap or have a gap.
4050
4317
  #
4051
- # * At most one step adjustment can have a null lower bound. If one step
4052
- # adjustment has a negative lower bound, then there must be a step
4053
- # adjustment with a null lower bound.
4318
+ # * At most, one step adjustment can have a null lower bound. If one
4319
+ # step adjustment has a negative lower bound, then there must be a
4320
+ # step adjustment with a null lower bound.
4054
4321
  #
4055
- # * At most one step adjustment can have a null upper bound. If one step
4056
- # adjustment has a positive upper bound, then there must be a step
4057
- # adjustment with a null upper bound.
4322
+ # * At most, one step adjustment can have a null upper bound. If one
4323
+ # step adjustment has a positive upper bound, then there must be a
4324
+ # step adjustment with a null upper bound.
4058
4325
  #
4059
4326
  # * The upper and lower bound can't be null in the same step
4060
4327
  # adjustment.
@@ -4260,11 +4527,11 @@ module Aws::AutoScaling
4260
4527
  # @return [Float]
4261
4528
  #
4262
4529
  # @!attribute [rw] disable_scale_in
4263
- # Indicates whether scale in by the target tracking policy is
4264
- # disabled. If scale in is disabled, the target tracking policy won't
4265
- # remove instances from the Auto Scaling group. Otherwise, the target
4266
- # tracking policy can remove instances from the Auto Scaling group.
4267
- # The default is disabled.
4530
+ # Indicates whether scaling in by the target tracking policy is
4531
+ # disabled. If scaling in is disabled, the target tracking policy
4532
+ # doesn't remove instances from the Auto Scaling group. Otherwise,
4533
+ # the target tracking policy can remove instances from the Auto
4534
+ # Scaling group. The default is disabled.
4268
4535
  # @return [Boolean]
4269
4536
  #
4270
4537
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TargetTrackingConfiguration AWS API Documentation
@@ -4313,6 +4580,28 @@ module Aws::AutoScaling
4313
4580
  # launch_template_name: "LaunchTemplateName",
4314
4581
  # version: "XmlStringMaxLen255",
4315
4582
  # },
4583
+ # mixed_instances_policy: {
4584
+ # launch_template: {
4585
+ # launch_template_specification: {
4586
+ # launch_template_id: "XmlStringMaxLen255",
4587
+ # launch_template_name: "LaunchTemplateName",
4588
+ # version: "XmlStringMaxLen255",
4589
+ # },
4590
+ # overrides: [
4591
+ # {
4592
+ # instance_type: "XmlStringMaxLen255",
4593
+ # },
4594
+ # ],
4595
+ # },
4596
+ # instances_distribution: {
4597
+ # on_demand_allocation_strategy: "XmlString",
4598
+ # on_demand_base_capacity: 1,
4599
+ # on_demand_percentage_above_base_capacity: 1,
4600
+ # spot_allocation_strategy: "XmlString",
4601
+ # spot_instance_pools: 1,
4602
+ # spot_max_price: "SpotPrice",
4603
+ # },
4604
+ # },
4316
4605
  # min_size: 1,
4317
4606
  # max_size: 1,
4318
4607
  # desired_capacity: 1,
@@ -4332,15 +4621,22 @@ module Aws::AutoScaling
4332
4621
  # @return [String]
4333
4622
  #
4334
4623
  # @!attribute [rw] launch_configuration_name
4335
- # The name of the launch configuration. If you specify a launch
4336
- # configuration, you can't specify a launch template.
4624
+ # The name of the launch configuration. If you specify this parameter,
4625
+ # you can't specify a launch template or a mixed instances policy.
4337
4626
  # @return [String]
4338
4627
  #
4339
4628
  # @!attribute [rw] launch_template
4340
- # The launch template to use to specify the updates. If you specify a
4341
- # launch template, you can't specify a launch configuration.
4629
+ # The launch template and version to use to specify the updates. If
4630
+ # you specify this parameter, you can't specify a launch
4631
+ # configuration or a mixed instances policy.
4342
4632
  # @return [Types::LaunchTemplateSpecification]
4343
4633
  #
4634
+ # @!attribute [rw] mixed_instances_policy
4635
+ # The mixed instances policy to use to specify the updates. If you
4636
+ # specify this parameter, you can't specify a launch configuration or
4637
+ # a launch template.
4638
+ # @return [Types::MixedInstancesPolicy]
4639
+ #
4344
4640
  # @!attribute [rw] min_size
4345
4641
  # The minimum size of the Auto Scaling group.
4346
4642
  # @return [Integer]
@@ -4391,9 +4687,9 @@ module Aws::AutoScaling
4391
4687
  # @return [Integer]
4392
4688
  #
4393
4689
  # @!attribute [rw] placement_group
4394
- # The name of the placement group into which you'll launch your
4395
- # instances, if any. For more information, see [Placement Groups][1]
4396
- # in the *Amazon Elastic Compute Cloud User Guide*.
4690
+ # The name of the placement group into which to launch your instances,
4691
+ # if any. For more information, see [Placement Groups][1] in the
4692
+ # *Amazon Elastic Compute Cloud User Guide*.
4397
4693
  #
4398
4694
  #
4399
4695
  #
@@ -4445,6 +4741,7 @@ module Aws::AutoScaling
4445
4741
  :auto_scaling_group_name,
4446
4742
  :launch_configuration_name,
4447
4743
  :launch_template,
4744
+ :mixed_instances_policy,
4448
4745
  :min_size,
4449
4746
  :max_size,
4450
4747
  :desired_capacity,