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