aws-sdk-autoscaling 1.34.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -11,6 +13,7 @@ module Aws::AutoScaling
11
13
 
12
14
  include Seahorse::Model
13
15
 
16
+ ActiveInstanceRefreshNotFoundFault = Shapes::StructureShape.new(name: 'ActiveInstanceRefreshNotFoundFault')
14
17
  Activities = Shapes::ListShape.new(name: 'Activities')
15
18
  ActivitiesType = Shapes::StructureShape.new(name: 'ActivitiesType')
16
19
  Activity = Shapes::StructureShape.new(name: 'Activity')
@@ -52,6 +55,8 @@ module Aws::AutoScaling
52
55
  BlockDeviceEbsVolumeType = Shapes::StringShape.new(name: 'BlockDeviceEbsVolumeType')
53
56
  BlockDeviceMapping = Shapes::StructureShape.new(name: 'BlockDeviceMapping')
54
57
  BlockDeviceMappings = Shapes::ListShape.new(name: 'BlockDeviceMappings')
58
+ CancelInstanceRefreshAnswer = Shapes::StructureShape.new(name: 'CancelInstanceRefreshAnswer')
59
+ CancelInstanceRefreshType = Shapes::StructureShape.new(name: 'CancelInstanceRefreshType')
55
60
  ClassicLinkVPCSecurityGroups = Shapes::ListShape.new(name: 'ClassicLinkVPCSecurityGroups')
56
61
  CompleteLifecycleActionAnswer = Shapes::StructureShape.new(name: 'CompleteLifecycleActionAnswer')
57
62
  CompleteLifecycleActionType = Shapes::StructureShape.new(name: 'CompleteLifecycleActionType')
@@ -71,6 +76,8 @@ module Aws::AutoScaling
71
76
  DescribeAdjustmentTypesAnswer = Shapes::StructureShape.new(name: 'DescribeAdjustmentTypesAnswer')
72
77
  DescribeAutoScalingInstancesType = Shapes::StructureShape.new(name: 'DescribeAutoScalingInstancesType')
73
78
  DescribeAutoScalingNotificationTypesAnswer = Shapes::StructureShape.new(name: 'DescribeAutoScalingNotificationTypesAnswer')
79
+ DescribeInstanceRefreshesAnswer = Shapes::StructureShape.new(name: 'DescribeInstanceRefreshesAnswer')
80
+ DescribeInstanceRefreshesType = Shapes::StructureShape.new(name: 'DescribeInstanceRefreshesType')
74
81
  DescribeLifecycleHookTypesAnswer = Shapes::StructureShape.new(name: 'DescribeLifecycleHookTypesAnswer')
75
82
  DescribeLifecycleHooksAnswer = Shapes::StructureShape.new(name: 'DescribeLifecycleHooksAnswer')
76
83
  DescribeLifecycleHooksType = Shapes::StructureShape.new(name: 'DescribeLifecycleHooksType')
@@ -118,8 +125,15 @@ module Aws::AutoScaling
118
125
  InstanceIds = Shapes::ListShape.new(name: 'InstanceIds')
119
126
  InstanceMonitoring = Shapes::StructureShape.new(name: 'InstanceMonitoring')
120
127
  InstanceProtected = Shapes::BooleanShape.new(name: 'InstanceProtected')
128
+ InstanceRefresh = Shapes::StructureShape.new(name: 'InstanceRefresh')
129
+ InstanceRefreshIds = Shapes::ListShape.new(name: 'InstanceRefreshIds')
130
+ InstanceRefreshInProgressFault = Shapes::StructureShape.new(name: 'InstanceRefreshInProgressFault')
131
+ InstanceRefreshStatus = Shapes::StringShape.new(name: 'InstanceRefreshStatus')
132
+ InstanceRefreshes = Shapes::ListShape.new(name: 'InstanceRefreshes')
121
133
  Instances = Shapes::ListShape.new(name: 'Instances')
122
134
  InstancesDistribution = Shapes::StructureShape.new(name: 'InstancesDistribution')
135
+ InstancesToUpdate = Shapes::IntegerShape.new(name: 'InstancesToUpdate')
136
+ IntPercent = Shapes::IntegerShape.new(name: 'IntPercent')
123
137
  InvalidNextToken = Shapes::StructureShape.new(name: 'InvalidNextToken')
124
138
  LaunchConfiguration = Shapes::StructureShape.new(name: 'LaunchConfiguration')
125
139
  LaunchConfigurationNameType = Shapes::StructureShape.new(name: 'LaunchConfigurationNameType')
@@ -199,6 +213,9 @@ module Aws::AutoScaling
199
213
  PutScheduledUpdateGroupActionType = Shapes::StructureShape.new(name: 'PutScheduledUpdateGroupActionType')
200
214
  RecordLifecycleActionHeartbeatAnswer = Shapes::StructureShape.new(name: 'RecordLifecycleActionHeartbeatAnswer')
201
215
  RecordLifecycleActionHeartbeatType = Shapes::StructureShape.new(name: 'RecordLifecycleActionHeartbeatType')
216
+ RefreshInstanceWarmup = Shapes::IntegerShape.new(name: 'RefreshInstanceWarmup')
217
+ RefreshPreferences = Shapes::StructureShape.new(name: 'RefreshPreferences')
218
+ RefreshStrategy = Shapes::StringShape.new(name: 'RefreshStrategy')
202
219
  ResourceContentionFault = Shapes::StructureShape.new(name: 'ResourceContentionFault')
203
220
  ResourceInUseFault = Shapes::StructureShape.new(name: 'ResourceInUseFault')
204
221
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
@@ -224,6 +241,8 @@ module Aws::AutoScaling
224
241
  ShouldRespectGracePeriod = Shapes::BooleanShape.new(name: 'ShouldRespectGracePeriod')
225
242
  SpotInstancePools = Shapes::IntegerShape.new(name: 'SpotInstancePools')
226
243
  SpotPrice = Shapes::StringShape.new(name: 'SpotPrice')
244
+ StartInstanceRefreshAnswer = Shapes::StructureShape.new(name: 'StartInstanceRefreshAnswer')
245
+ StartInstanceRefreshType = Shapes::StructureShape.new(name: 'StartInstanceRefreshType')
227
246
  StepAdjustment = Shapes::StructureShape.new(name: 'StepAdjustment')
228
247
  StepAdjustments = Shapes::ListShape.new(name: 'StepAdjustments')
229
248
  SuspendedProcess = Shapes::StructureShape.new(name: 'SuspendedProcess')
@@ -253,6 +272,9 @@ module Aws::AutoScaling
253
272
  XmlStringMaxLen64 = Shapes::StringShape.new(name: 'XmlStringMaxLen64')
254
273
  XmlStringUserData = Shapes::StringShape.new(name: 'XmlStringUserData')
255
274
 
275
+ ActiveInstanceRefreshNotFoundFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
276
+ ActiveInstanceRefreshNotFoundFault.struct_class = Types::ActiveInstanceRefreshNotFoundFault
277
+
256
278
  Activities.member = Shapes::ShapeRef.new(shape: Activity)
257
279
 
258
280
  ActivitiesType.add_member(:activities, Shapes::ShapeRef.new(shape: Activities, required: true, location_name: "Activities"))
@@ -391,6 +413,12 @@ module Aws::AutoScaling
391
413
 
392
414
  BlockDeviceMappings.member = Shapes::ShapeRef.new(shape: BlockDeviceMapping)
393
415
 
416
+ CancelInstanceRefreshAnswer.add_member(:instance_refresh_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceRefreshId"))
417
+ CancelInstanceRefreshAnswer.struct_class = Types::CancelInstanceRefreshAnswer
418
+
419
+ CancelInstanceRefreshType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
420
+ CancelInstanceRefreshType.struct_class = Types::CancelInstanceRefreshType
421
+
394
422
  ClassicLinkVPCSecurityGroups.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
395
423
 
396
424
  CompleteLifecycleActionAnswer.struct_class = Types::CompleteLifecycleActionAnswer
@@ -498,6 +526,16 @@ module Aws::AutoScaling
498
526
  DescribeAutoScalingNotificationTypesAnswer.add_member(:auto_scaling_notification_types, Shapes::ShapeRef.new(shape: AutoScalingNotificationTypes, location_name: "AutoScalingNotificationTypes"))
499
527
  DescribeAutoScalingNotificationTypesAnswer.struct_class = Types::DescribeAutoScalingNotificationTypesAnswer
500
528
 
529
+ DescribeInstanceRefreshesAnswer.add_member(:instance_refreshes, Shapes::ShapeRef.new(shape: InstanceRefreshes, location_name: "InstanceRefreshes"))
530
+ DescribeInstanceRefreshesAnswer.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
531
+ DescribeInstanceRefreshesAnswer.struct_class = Types::DescribeInstanceRefreshesAnswer
532
+
533
+ DescribeInstanceRefreshesType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
534
+ DescribeInstanceRefreshesType.add_member(:instance_refresh_ids, Shapes::ShapeRef.new(shape: InstanceRefreshIds, location_name: "InstanceRefreshIds"))
535
+ DescribeInstanceRefreshesType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
536
+ DescribeInstanceRefreshesType.add_member(:max_records, Shapes::ShapeRef.new(shape: MaxRecords, location_name: "MaxRecords"))
537
+ DescribeInstanceRefreshesType.struct_class = Types::DescribeInstanceRefreshesType
538
+
501
539
  DescribeLifecycleHookTypesAnswer.add_member(:lifecycle_hook_types, Shapes::ShapeRef.new(shape: AutoScalingNotificationTypes, location_name: "LifecycleHookTypes"))
502
540
  DescribeLifecycleHookTypesAnswer.struct_class = Types::DescribeLifecycleHookTypesAnswer
503
541
 
@@ -662,6 +700,23 @@ module Aws::AutoScaling
662
700
  InstanceMonitoring.add_member(:enabled, Shapes::ShapeRef.new(shape: MonitoringEnabled, location_name: "Enabled"))
663
701
  InstanceMonitoring.struct_class = Types::InstanceMonitoring
664
702
 
703
+ InstanceRefresh.add_member(:instance_refresh_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceRefreshId"))
704
+ InstanceRefresh.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AutoScalingGroupName"))
705
+ InstanceRefresh.add_member(:status, Shapes::ShapeRef.new(shape: InstanceRefreshStatus, location_name: "Status"))
706
+ InstanceRefresh.add_member(:status_reason, Shapes::ShapeRef.new(shape: XmlStringMaxLen1023, location_name: "StatusReason"))
707
+ InstanceRefresh.add_member(:start_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "StartTime"))
708
+ InstanceRefresh.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "EndTime"))
709
+ InstanceRefresh.add_member(:percentage_complete, Shapes::ShapeRef.new(shape: IntPercent, location_name: "PercentageComplete"))
710
+ InstanceRefresh.add_member(:instances_to_update, Shapes::ShapeRef.new(shape: InstancesToUpdate, location_name: "InstancesToUpdate"))
711
+ InstanceRefresh.struct_class = Types::InstanceRefresh
712
+
713
+ InstanceRefreshIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
714
+
715
+ InstanceRefreshInProgressFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
716
+ InstanceRefreshInProgressFault.struct_class = Types::InstanceRefreshInProgressFault
717
+
718
+ InstanceRefreshes.member = Shapes::ShapeRef.new(shape: InstanceRefresh)
719
+
665
720
  Instances.member = Shapes::ShapeRef.new(shape: Instance)
666
721
 
667
722
  InstancesDistribution.add_member(:on_demand_allocation_strategy, Shapes::ShapeRef.new(shape: XmlString, location_name: "OnDemandAllocationStrategy"))
@@ -876,6 +931,10 @@ module Aws::AutoScaling
876
931
  RecordLifecycleActionHeartbeatType.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, location_name: "InstanceId"))
877
932
  RecordLifecycleActionHeartbeatType.struct_class = Types::RecordLifecycleActionHeartbeatType
878
933
 
934
+ RefreshPreferences.add_member(:min_healthy_percentage, Shapes::ShapeRef.new(shape: IntPercent, location_name: "MinHealthyPercentage"))
935
+ RefreshPreferences.add_member(:instance_warmup, Shapes::ShapeRef.new(shape: RefreshInstanceWarmup, location_name: "InstanceWarmup"))
936
+ RefreshPreferences.struct_class = Types::RefreshPreferences
937
+
879
938
  ResourceContentionFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
880
939
  ResourceContentionFault.struct_class = Types::ResourceContentionFault
881
940
 
@@ -961,6 +1020,14 @@ module Aws::AutoScaling
961
1020
  SetInstanceProtectionQuery.add_member(:protected_from_scale_in, Shapes::ShapeRef.new(shape: ProtectedFromScaleIn, required: true, location_name: "ProtectedFromScaleIn"))
962
1021
  SetInstanceProtectionQuery.struct_class = Types::SetInstanceProtectionQuery
963
1022
 
1023
+ StartInstanceRefreshAnswer.add_member(:instance_refresh_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceRefreshId"))
1024
+ StartInstanceRefreshAnswer.struct_class = Types::StartInstanceRefreshAnswer
1025
+
1026
+ StartInstanceRefreshType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
1027
+ StartInstanceRefreshType.add_member(:strategy, Shapes::ShapeRef.new(shape: RefreshStrategy, location_name: "Strategy"))
1028
+ StartInstanceRefreshType.add_member(:preferences, Shapes::ShapeRef.new(shape: RefreshPreferences, location_name: "Preferences"))
1029
+ StartInstanceRefreshType.struct_class = Types::StartInstanceRefreshType
1030
+
964
1031
  StepAdjustment.add_member(:metric_interval_lower_bound, Shapes::ShapeRef.new(shape: MetricScale, location_name: "MetricIntervalLowerBound"))
965
1032
  StepAdjustment.add_member(:metric_interval_upper_bound, Shapes::ShapeRef.new(shape: MetricScale, location_name: "MetricIntervalUpperBound"))
966
1033
  StepAdjustment.add_member(:scaling_adjustment, Shapes::ShapeRef.new(shape: PolicyIncrement, required: true, location_name: "ScalingAdjustment"))
@@ -1098,6 +1165,17 @@ module Aws::AutoScaling
1098
1165
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1099
1166
  end)
1100
1167
 
1168
+ api.add_operation(:cancel_instance_refresh, Seahorse::Model::Operation.new.tap do |o|
1169
+ o.name = "CancelInstanceRefresh"
1170
+ o.http_method = "POST"
1171
+ o.http_request_uri = "/"
1172
+ o.input = Shapes::ShapeRef.new(shape: CancelInstanceRefreshType)
1173
+ o.output = Shapes::ShapeRef.new(shape: CancelInstanceRefreshAnswer)
1174
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1175
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1176
+ o.errors << Shapes::ShapeRef.new(shape: ActiveInstanceRefreshNotFoundFault)
1177
+ end)
1178
+
1101
1179
  api.add_operation(:complete_lifecycle_action, Seahorse::Model::Operation.new.tap do |o|
1102
1180
  o.name = "CompleteLifecycleAction"
1103
1181
  o.http_method = "POST"
@@ -1269,6 +1347,16 @@ module Aws::AutoScaling
1269
1347
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1270
1348
  end)
1271
1349
 
1350
+ api.add_operation(:describe_instance_refreshes, Seahorse::Model::Operation.new.tap do |o|
1351
+ o.name = "DescribeInstanceRefreshes"
1352
+ o.http_method = "POST"
1353
+ o.http_request_uri = "/"
1354
+ o.input = Shapes::ShapeRef.new(shape: DescribeInstanceRefreshesType)
1355
+ o.output = Shapes::ShapeRef.new(shape: DescribeInstanceRefreshesAnswer)
1356
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextToken)
1357
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1358
+ end)
1359
+
1272
1360
  api.add_operation(:describe_launch_configurations, Seahorse::Model::Operation.new.tap do |o|
1273
1361
  o.name = "DescribeLaunchConfigurations"
1274
1362
  o.http_method = "POST"
@@ -1593,6 +1681,17 @@ module Aws::AutoScaling
1593
1681
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1594
1682
  end)
1595
1683
 
1684
+ api.add_operation(:start_instance_refresh, Seahorse::Model::Operation.new.tap do |o|
1685
+ o.name = "StartInstanceRefresh"
1686
+ o.http_method = "POST"
1687
+ o.http_request_uri = "/"
1688
+ o.input = Shapes::ShapeRef.new(shape: StartInstanceRefreshType)
1689
+ o.output = Shapes::ShapeRef.new(shape: StartInstanceRefreshAnswer)
1690
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1691
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
1692
+ o.errors << Shapes::ShapeRef.new(shape: InstanceRefreshInProgressFault)
1693
+ end)
1694
+
1596
1695
  api.add_operation(:suspend_processes, Seahorse::Model::Operation.new.tap do |o|
1597
1696
  o.name = "SuspendProcesses"
1598
1697
  o.http_method = "POST"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -25,7 +27,9 @@ module Aws::AutoScaling
25
27
  # See {Seahorse::Client::RequestContext} for more information.
26
28
  #
27
29
  # ## Error Classes
30
+ # * {ActiveInstanceRefreshNotFoundFault}
28
31
  # * {AlreadyExistsFault}
32
+ # * {InstanceRefreshInProgressFault}
29
33
  # * {InvalidNextToken}
30
34
  # * {LimitExceededFault}
31
35
  # * {ResourceContentionFault}
@@ -39,6 +43,21 @@ module Aws::AutoScaling
39
43
 
40
44
  extend Aws::Errors::DynamicErrors
41
45
 
46
+ class ActiveInstanceRefreshNotFoundFault < ServiceError
47
+
48
+ # @param [Seahorse::Client::RequestContext] context
49
+ # @param [String] message
50
+ # @param [Aws::AutoScaling::Types::ActiveInstanceRefreshNotFoundFault] data
51
+ def initialize(context, message, data = Aws::EmptyStructure.new)
52
+ super(context, message, data)
53
+ end
54
+
55
+ # @return [String]
56
+ def message
57
+ @message || @data[:message]
58
+ end
59
+ end
60
+
42
61
  class AlreadyExistsFault < ServiceError
43
62
 
44
63
  # @param [Seahorse::Client::RequestContext] context
@@ -54,6 +73,21 @@ module Aws::AutoScaling
54
73
  end
55
74
  end
56
75
 
76
+ class InstanceRefreshInProgressFault < ServiceError
77
+
78
+ # @param [Seahorse::Client::RequestContext] context
79
+ # @param [String] message
80
+ # @param [Aws::AutoScaling::Types::InstanceRefreshInProgressFault] data
81
+ def initialize(context, message, data = Aws::EmptyStructure.new)
82
+ super(context, message, data)
83
+ end
84
+
85
+ # @return [String]
86
+ def message
87
+ @message || @data[:message]
88
+ end
89
+ end
90
+
57
91
  class InvalidNextToken < ServiceError
58
92
 
59
93
  # @param [Seahorse::Client::RequestContext] context
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -341,7 +343,12 @@ module Aws::AutoScaling
341
343
  # not respect the grace period associated with the group.
342
344
  #
343
345
  # For more information about the health check grace period, see
344
- # CreateAutoScalingGroup.
346
+ # [CreateAutoScalingGroup][1] in the *Amazon EC2 Auto Scaling API
347
+ # Reference*.
348
+ #
349
+ #
350
+ #
351
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html
345
352
  # @return [EmptyStructure]
346
353
  def set_health(options = {})
347
354
  options = options.merge(instance_id: @id)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -333,8 +335,8 @@ module Aws::AutoScaling
333
335
  #
334
336
  # If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the
335
337
  # action that you specified in the `DefaultResult` parameter. You can
336
- # prevent the lifecycle hook from timing out by calling
337
- # RecordLifecycleActionHeartbeat.
338
+ # prevent the lifecycle hook from timing out by calling the
339
+ # RecordLifecycleActionHeartbeat API.
338
340
  # @option options [String] :default_result
339
341
  # Defines the action the Auto Scaling group should take when the
340
342
  # lifecycle hook timeout elapses or if an unexpected failure occurs.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -108,19 +110,26 @@ module Aws::AutoScaling
108
110
  # The name of the Auto Scaling group. This name must be unique per
109
111
  # Region per account.
110
112
  # @option options [String] :launch_configuration_name
111
- # The name of the launch configuration.
113
+ # The name of the launch configuration to use when an instance is
114
+ # launched. To get the launch configuration name, use the
115
+ # DescribeLaunchConfigurations API operation. New launch configurations
116
+ # can be created with the CreateLaunchConfiguration API.
112
117
  #
113
- # If you do not specify `LaunchConfigurationName`, you must specify one
114
- # of the following parameters: `InstanceId`, `LaunchTemplate`, or
118
+ # You must specify one of the following parameters in your request:
119
+ # `LaunchConfigurationName`, `LaunchTemplate`, `InstanceId`, or
115
120
  # `MixedInstancesPolicy`.
116
121
  # @option options [Types::LaunchTemplateSpecification] :launch_template
117
- # The launch template to use to launch instances.
122
+ # Parameters used to specify the launch template and version to use when
123
+ # an instance is launched.
118
124
  #
119
125
  # For more information, see [LaunchTemplateSpecification][1] in the
120
126
  # *Amazon EC2 Auto Scaling API Reference*.
121
127
  #
122
- # If you do not specify `LaunchTemplate`, you must specify one of the
123
- # following parameters: `InstanceId`, `LaunchConfigurationName`, or
128
+ # You can alternatively associate a launch template to the Auto Scaling
129
+ # group by using the `MixedInstancesPolicy` parameter.
130
+ #
131
+ # You must specify one of the following parameters in your request:
132
+ # `LaunchConfigurationName`, `LaunchTemplate`, `InstanceId`, or
124
133
  # `MixedInstancesPolicy`.
125
134
  #
126
135
  #
@@ -153,33 +162,43 @@ module Aws::AutoScaling
153
162
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
154
163
  # @option options [String] :instance_id
155
164
  # The ID of the instance used to create a launch configuration for the
156
- # group.
165
+ # group. To get the instance ID, use the Amazon EC2
166
+ # [DescribeInstances][1] API operation.
157
167
  #
158
168
  # When you specify an ID of an instance, Amazon EC2 Auto Scaling creates
159
169
  # a new launch configuration and associates it with the group. This
160
170
  # launch configuration derives its attributes from the specified
161
171
  # instance, except for the block device mapping.
162
172
  #
163
- # For more information, see [Create an Auto Scaling Group Using an EC2
164
- # Instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
165
- #
166
173
  # You must specify one of the following parameters in your request:
167
174
  # `LaunchConfigurationName`, `LaunchTemplate`, `InstanceId`, or
168
175
  # `MixedInstancesPolicy`.
169
176
  #
170
177
  #
171
178
  #
172
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html
179
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html
173
180
  # @option options [required, Integer] :min_size
174
181
  # The minimum size of the group.
175
182
  # @option options [required, Integer] :max_size
176
183
  # The maximum size of the group.
184
+ #
185
+ # <note markdown="1"> With a mixed instances policy that uses instance weighting, Amazon EC2
186
+ # Auto Scaling may need to go above `MaxSize` to meet your capacity
187
+ # requirements. In this event, Amazon EC2 Auto Scaling will never go
188
+ # above `MaxSize` by more than your maximum instance weight (weights
189
+ # that define how many capacity units each instance contributes to the
190
+ # capacity of the group).
191
+ #
192
+ # </note>
177
193
  # @option options [Integer] :desired_capacity
178
- # The number of Amazon EC2 instances that the Auto Scaling group
179
- # attempts to maintain. This number must be greater than or equal to the
180
- # minimum size of the group and less than or equal to the maximum size
181
- # of the group. If you do not specify a desired capacity, the default is
182
- # the minimum size of the group.
194
+ # The desired capacity is the initial capacity of the Auto Scaling group
195
+ # at the time of its creation and the capacity it attempts to maintain.
196
+ # It can scale beyond this capacity if you configure automatic scaling.
197
+ #
198
+ # This number must be greater than or equal to the minimum size of the
199
+ # group and less than or equal to the maximum size of the group. If you
200
+ # do not specify a desired capacity, the default is the minimum size of
201
+ # the group.
183
202
  # @option options [Integer] :default_cooldown
184
203
  # The amount of time, in seconds, after a scaling activity completes
185
204
  # before another scaling activity can start. The default value is `300`.
@@ -293,7 +312,15 @@ module Aws::AutoScaling
293
312
  # @option options [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
294
313
  # One or more lifecycle hooks.
295
314
  # @option options [Array<Types::Tag>] :tags
296
- # One or more tags.
315
+ # One or more tags. You can tag your Auto Scaling group and propagate
316
+ # the tags to the Amazon EC2 instances it launches.
317
+ #
318
+ # Tags are not propagated to Amazon EBS volumes. To add tags to Amazon
319
+ # EBS volumes, specify the tags in a launch template but use caution. If
320
+ # the launch template specifies an instance tag with a key that is also
321
+ # specified for the Auto Scaling group, Amazon EC2 Auto Scaling
322
+ # overrides the value of that instance tag with the value specified by
323
+ # the Auto Scaling group.
297
324
  #
298
325
  # For more information, see [Tagging Auto Scaling Groups and
299
326
  # Instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
@@ -314,20 +341,24 @@ module Aws::AutoScaling
314
341
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html
315
342
  # @option options [Integer] :max_instance_lifetime
316
343
  # The maximum amount of time, in seconds, that an instance can be in
317
- # service.
344
+ # service. The default is null.
345
+ #
346
+ # This parameter is optional, but if you specify a value for it, you
347
+ # must specify a value of at least 604,800 seconds (7 days). To clear a
348
+ # previously set value, specify a new value of 0.
318
349
  #
319
350
  # For more information, see [Replacing Auto Scaling Instances Based on
320
351
  # Maximum Instance Lifetime][1] in the *Amazon EC2 Auto Scaling User
321
352
  # Guide*.
322
353
  #
323
- # Valid Range: Minimum value of 604800.
354
+ # Valid Range: Minimum value of 0.
324
355
  #
325
356
  #
326
357
  #
327
358
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
328
359
  # @return [AutoScalingGroup]
329
360
  def create_group(options = {})
330
- resp = @client.create_auto_scaling_group(options)
361
+ @client.create_auto_scaling_group(options)
331
362
  AutoScalingGroup.new(
332
363
  name: options[:auto_scaling_group_name],
333
364
  client: @client
@@ -589,7 +620,7 @@ module Aws::AutoScaling
589
620
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy
590
621
  # @return [LaunchConfiguration]
591
622
  def create_launch_configuration(options = {})
592
- resp = @client.create_launch_configuration(options)
623
+ @client.create_launch_configuration(options)
593
624
  LaunchConfiguration.new(
594
625
  name: options[:launch_configuration_name],
595
626
  client: @client