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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-autoscaling.rb +1 -1
- data/lib/aws-sdk-autoscaling/auto_scaling_group.rb +45 -12
- data/lib/aws-sdk-autoscaling/client.rb +172 -77
- data/lib/aws-sdk-autoscaling/client_api.rb +32 -0
- data/lib/aws-sdk-autoscaling/instance.rb +8 -8
- data/lib/aws-sdk-autoscaling/lifecycle_hook.rb +8 -8
- data/lib/aws-sdk-autoscaling/resource.rb +50 -23
- data/lib/aws-sdk-autoscaling/scheduled_action.rb +1 -1
- data/lib/aws-sdk-autoscaling/types.rb +403 -106
- metadata +2 -2
@@ -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`
|
320
|
-
# instance
|
321
|
-
#
|
322
|
-
#
|
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
|
327
|
-
#
|
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
|
330
|
-
#
|
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
|
44
|
-
#
|
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
|
309
|
-
#
|
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
|
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
|
319
|
-
# key
|
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.
|
76
|
-
#
|
77
|
-
#
|
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.
|
80
|
-
#
|
81
|
-
#
|
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.
|
85
|
-
#
|
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,
|
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
|
160
|
-
#
|
161
|
-
#
|
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
|
-
#
|
286
|
-
#
|
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,
|
326
|
-
#
|
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
|
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
|
-
#
|
425
|
-
#
|
426
|
-
#
|
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
|
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
|
-
#
|
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
|
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/
|
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
|
295
|
-
#
|
296
|
-
#
|
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
|
616
|
-
#
|
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.
|
734
|
-
#
|
735
|
-
#
|
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.
|
740
|
-
#
|
741
|
-
#
|
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.
|
747
|
-
#
|
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,
|
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
|
842
|
-
#
|
843
|
-
#
|
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
|
1006
|
-
#
|
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
|
-
#
|
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
|
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
|
-
#
|
1175
|
-
#
|
1176
|
-
#
|
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
|
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
|
1757
|
-
#
|
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
|
-
#
|
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
|
-
#
|
1924
|
-
# `ClosestToNextInstanceHour`,
|
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.
|
2442
|
-
#
|
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
|
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
|
2753
|
-
#
|
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
|
2901
|
-
# health checks are enabled for the load
|
2902
|
-
# to `InService` after at least one
|
2903
|
-
# health check. If EC2 health checks
|
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
|
2944
|
-
# health checks are enabled, the state
|
2945
|
-
# at least one Auto Scaling instance
|
2946
|
-
# health checks are enabled instead, 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` -
|
3138
|
-
# Scaling group
|
3406
|
+
# * `ASGAverageCPUUtilization` - Average CPU utilization of the Auto
|
3407
|
+
# Scaling group.
|
3139
3408
|
#
|
3140
|
-
# * `ASGAverageNetworkIn` -
|
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` -
|
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` -
|
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
|
3266
|
-
#
|
3267
|
-
#
|
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
|
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
|
3277
|
-
# additional key
|
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
|
3337
|
-
#
|
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
|
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
|
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`
|
3972
|
-
# instance
|
3973
|
-
#
|
3974
|
-
#
|
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
|
3981
|
-
#
|
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
|
3985
|
-
#
|
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
|
-
# *
|
4040
|
-
#
|
4041
|
-
#
|
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
|
-
# *
|
4044
|
-
#
|
4045
|
-
#
|
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
|
4052
|
-
# adjustment has a negative lower bound, then there must be a
|
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
|
4056
|
-
# adjustment has a positive upper bound, then there must be a
|
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
|
4264
|
-
# disabled. If
|
4265
|
-
# remove instances from the Auto Scaling group. Otherwise,
|
4266
|
-
# tracking policy can remove instances from the Auto
|
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
|
4336
|
-
#
|
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
|
4341
|
-
#
|
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
|
4395
|
-
#
|
4396
|
-
#
|
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,
|