aws-sdk-autoscaling 1.146.0 → 1.147.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d0b64a03b40a2473bcafb6582ae3b225405d6f625758491fa76ee6a88ebfc58
4
- data.tar.gz: a9d135ad58a701cd46ec97e8cd0d57566961d5a383c118deeb7af19ee1582d3f
3
+ metadata.gz: dc660561c07e6db128ddddeb91ef46697a03a3317b940538bfcad409e83994da
4
+ data.tar.gz: cc46da88ed4a2742f044458bc34b55e44200056df893a099d06712af51146b08
5
5
  SHA512:
6
- metadata.gz: 40f656a72be96729eeaef269a40f0a7c1afd2aa4222e45fc08276a6f1b0f228039067d53191ab8d6fe676663514239dfb588bd75d741d939b7613d025bc6ba30
7
- data.tar.gz: 27167142fd419885c4945c4fe3a5f6ae82b3d055ed656f4b5a0bac73013882aa26ef312468b7db3a160e4834693beb43e7d71a183a78c820dc99cf5bf35ab793
6
+ metadata.gz: 4140bd9414f9dba3002d05261840b586651c2020e9badf7ce8d1ca7c790ea69203c1e9a6032c9903d9d7455086c8b2ab90759b96b8ae996b471c419ec360a3c4
7
+ data.tar.gz: 93a50d93e0bb21704b2732e1b3b8b39b48799e9e702d6bf7c2d83caefd24efb4af0e70af2a9a601861c0f3ae545c7a64dbb3ac54748e8892df999e310bcb98e4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.147.0 (2025-11-18)
5
+ ------------------
6
+
7
+ * Feature - This release adds the new LaunchInstances API, which can launch instances synchronously in an AutoScaling group. The API also returns instances info and launch error back immediately.
8
+
4
9
  1.146.0 (2025-10-22)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.146.0
1
+ 1.147.0
@@ -5367,6 +5367,97 @@ module Aws::AutoScaling
5367
5367
  req.send_request(options)
5368
5368
  end
5369
5369
 
5370
+ # Launches a specified number of instances in an Auto Scaling group.
5371
+ # Returns instance IDs and other details if launch is successful or
5372
+ # error details if launch is unsuccessful.
5373
+ #
5374
+ # @option params [required, String] :auto_scaling_group_name
5375
+ # The name of the Auto Scaling group to launch instances into.
5376
+ #
5377
+ # @option params [required, Integer] :requested_capacity
5378
+ # The number of instances to launch. Although this value can exceed 100
5379
+ # for instance weights, the actual instance count is limited to 100
5380
+ # instances per launch.
5381
+ #
5382
+ # @option params [required, String] :client_token
5383
+ # A unique, case-sensitive identifier to ensure idempotency of the
5384
+ # request.
5385
+ #
5386
+ # **A suitable default value is auto-generated.** You should normally
5387
+ # not need to pass this option.**
5388
+ #
5389
+ # @option params [Array<String>] :availability_zones
5390
+ # The Availability Zones for the instance launch. Must match or be
5391
+ # included in the Auto Scaling group's Availability Zone configuration.
5392
+ # Either `AvailabilityZones` or `SubnetIds` must be specified for groups
5393
+ # with multiple Availability Zone configurations.
5394
+ #
5395
+ # @option params [Array<String>] :availability_zone_ids
5396
+ # A list of Availability Zone IDs where instances should be launched.
5397
+ # Must match or be included in the group's AZ configuration. You cannot
5398
+ # specify both AvailabilityZones and AvailabilityZoneIds. Required for
5399
+ # multi-AZ groups, optional for single-AZ groups.
5400
+ #
5401
+ # @option params [Array<String>] :subnet_ids
5402
+ # The subnet IDs for the instance launch. Either `AvailabilityZones` or
5403
+ # `SubnetIds` must be specified. If both are specified, the subnets must
5404
+ # reside in the specified Availability Zones.
5405
+ #
5406
+ # @option params [String] :retry_strategy
5407
+ # Specifies whether to retry asynchronously if the synchronous launch
5408
+ # fails. Valid values are NONE (default, no async retry) and
5409
+ # RETRY\_WITH\_GROUP\_CONFIGURATION (increase desired capacity and retry
5410
+ # with group configuration).
5411
+ #
5412
+ # @return [Types::LaunchInstancesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5413
+ #
5414
+ # * {Types::LaunchInstancesResult#auto_scaling_group_name #auto_scaling_group_name} => String
5415
+ # * {Types::LaunchInstancesResult#client_token #client_token} => String
5416
+ # * {Types::LaunchInstancesResult#instances #instances} => Array&lt;Types::InstanceCollection&gt;
5417
+ # * {Types::LaunchInstancesResult#errors #errors} => Array&lt;Types::LaunchInstancesError&gt;
5418
+ #
5419
+ # @example Request syntax with placeholder values
5420
+ #
5421
+ # resp = client.launch_instances({
5422
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
5423
+ # requested_capacity: 1, # required
5424
+ # client_token: "ClientToken", # required
5425
+ # availability_zones: ["XmlStringMaxLen255"],
5426
+ # availability_zone_ids: ["XmlStringMaxLen255"],
5427
+ # subnet_ids: ["XmlStringMaxLen255"],
5428
+ # retry_strategy: "retry-with-group-configuration", # accepts retry-with-group-configuration, none
5429
+ # })
5430
+ #
5431
+ # @example Response structure
5432
+ #
5433
+ # resp.auto_scaling_group_name #=> String
5434
+ # resp.client_token #=> String
5435
+ # resp.instances #=> Array
5436
+ # resp.instances[0].instance_type #=> String
5437
+ # resp.instances[0].market_type #=> String
5438
+ # resp.instances[0].subnet_id #=> String
5439
+ # resp.instances[0].availability_zone #=> String
5440
+ # resp.instances[0].availability_zone_id #=> String
5441
+ # resp.instances[0].instance_ids #=> Array
5442
+ # resp.instances[0].instance_ids[0] #=> String
5443
+ # resp.errors #=> Array
5444
+ # resp.errors[0].instance_type #=> String
5445
+ # resp.errors[0].market_type #=> String
5446
+ # resp.errors[0].subnet_id #=> String
5447
+ # resp.errors[0].availability_zone #=> String
5448
+ # resp.errors[0].availability_zone_id #=> String
5449
+ # resp.errors[0].error_code #=> String
5450
+ # resp.errors[0].error_message #=> String
5451
+ #
5452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchInstances AWS API Documentation
5453
+ #
5454
+ # @overload launch_instances(params = {})
5455
+ # @param [Hash] params ({})
5456
+ def launch_instances(params = {}, options = {})
5457
+ req = build_request(:launch_instances, params)
5458
+ req.send_request(options)
5459
+ end
5460
+
5370
5461
  # Creates or updates a lifecycle hook for the specified Auto Scaling
5371
5462
  # group.
5372
5463
  #
@@ -7493,7 +7584,7 @@ module Aws::AutoScaling
7493
7584
  tracer: tracer
7494
7585
  )
7495
7586
  context[:gem_name] = 'aws-sdk-autoscaling'
7496
- context[:gem_version] = '1.146.0'
7587
+ context[:gem_version] = '1.147.0'
7497
7588
  Seahorse::Client::Request.new(handlers, context)
7498
7589
  end
7499
7590
 
@@ -63,8 +63,10 @@ module Aws::AutoScaling
63
63
  AutoScalingInstancesType = Shapes::StructureShape.new(name: 'AutoScalingInstancesType')
64
64
  AutoScalingNotificationTypes = Shapes::ListShape.new(name: 'AutoScalingNotificationTypes')
65
65
  AvailabilityZoneDistribution = Shapes::StructureShape.new(name: 'AvailabilityZoneDistribution')
66
+ AvailabilityZoneIdsLimit1 = Shapes::ListShape.new(name: 'AvailabilityZoneIdsLimit1')
66
67
  AvailabilityZoneImpairmentPolicy = Shapes::StructureShape.new(name: 'AvailabilityZoneImpairmentPolicy')
67
68
  AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
69
+ AvailabilityZonesLimit1 = Shapes::ListShape.new(name: 'AvailabilityZonesLimit1')
68
70
  BakeTime = Shapes::IntegerShape.new(name: 'BakeTime')
69
71
  BareMetal = Shapes::StringShape.new(name: 'BareMetal')
70
72
  BaselineEbsBandwidthMbpsRequest = Shapes::StructureShape.new(name: 'BaselineEbsBandwidthMbpsRequest')
@@ -96,6 +98,7 @@ module Aws::AutoScaling
96
98
  CheckpointDelay = Shapes::IntegerShape.new(name: 'CheckpointDelay')
97
99
  CheckpointPercentages = Shapes::ListShape.new(name: 'CheckpointPercentages')
98
100
  ClassicLinkVPCSecurityGroups = Shapes::ListShape.new(name: 'ClassicLinkVPCSecurityGroups')
101
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
99
102
  CompleteLifecycleActionAnswer = Shapes::StructureShape.new(name: 'CompleteLifecycleActionAnswer')
100
103
  CompleteLifecycleActionType = Shapes::StructureShape.new(name: 'CompleteLifecycleActionType')
101
104
  Context = Shapes::StringShape.new(name: 'Context')
@@ -177,10 +180,13 @@ module Aws::AutoScaling
177
180
  HealthCheckGracePeriod = Shapes::IntegerShape.new(name: 'HealthCheckGracePeriod')
178
181
  HeartbeatTimeout = Shapes::IntegerShape.new(name: 'HeartbeatTimeout')
179
182
  HonorCooldown = Shapes::BooleanShape.new(name: 'HonorCooldown')
183
+ IdempotentParameterMismatchError = Shapes::StructureShape.new(name: 'IdempotentParameterMismatchError', error: {"code" => "IdempotentParameterMismatch", "httpStatusCode" => 400, "senderFault" => true})
180
184
  ImpairedZoneHealthCheckBehavior = Shapes::StringShape.new(name: 'ImpairedZoneHealthCheckBehavior')
181
185
  IncludeDeletedGroups = Shapes::BooleanShape.new(name: 'IncludeDeletedGroups')
182
186
  IncludeInstances = Shapes::BooleanShape.new(name: 'IncludeInstances')
183
187
  Instance = Shapes::StructureShape.new(name: 'Instance')
188
+ InstanceCollection = Shapes::StructureShape.new(name: 'InstanceCollection')
189
+ InstanceCollections = Shapes::ListShape.new(name: 'InstanceCollections')
184
190
  InstanceGeneration = Shapes::StringShape.new(name: 'InstanceGeneration')
185
191
  InstanceGenerations = Shapes::ListShape.new(name: 'InstanceGenerations')
186
192
  InstanceIds = Shapes::ListShape.new(name: 'InstanceIds')
@@ -216,6 +222,10 @@ module Aws::AutoScaling
216
222
  LaunchConfigurationNamesType = Shapes::StructureShape.new(name: 'LaunchConfigurationNamesType')
217
223
  LaunchConfigurations = Shapes::ListShape.new(name: 'LaunchConfigurations')
218
224
  LaunchConfigurationsType = Shapes::StructureShape.new(name: 'LaunchConfigurationsType')
225
+ LaunchInstancesError = Shapes::StructureShape.new(name: 'LaunchInstancesError')
226
+ LaunchInstancesErrors = Shapes::ListShape.new(name: 'LaunchInstancesErrors')
227
+ LaunchInstancesRequest = Shapes::StructureShape.new(name: 'LaunchInstancesRequest')
228
+ LaunchInstancesResult = Shapes::StructureShape.new(name: 'LaunchInstancesResult')
219
229
  LaunchTemplate = Shapes::StructureShape.new(name: 'LaunchTemplate')
220
230
  LaunchTemplateName = Shapes::StringShape.new(name: 'LaunchTemplateName')
221
231
  LaunchTemplateOverrides = Shapes::StructureShape.new(name: 'LaunchTemplateOverrides')
@@ -332,9 +342,11 @@ module Aws::AutoScaling
332
342
  RefreshInstanceWarmup = Shapes::IntegerShape.new(name: 'RefreshInstanceWarmup')
333
343
  RefreshPreferences = Shapes::StructureShape.new(name: 'RefreshPreferences')
334
344
  RefreshStrategy = Shapes::StringShape.new(name: 'RefreshStrategy')
345
+ RequestedCapacity = Shapes::IntegerShape.new(name: 'RequestedCapacity')
335
346
  ResourceContentionFault = Shapes::StructureShape.new(name: 'ResourceContentionFault', error: {"code" => "ResourceContention", "httpStatusCode" => 500, "senderFault" => true})
336
347
  ResourceInUseFault = Shapes::StructureShape.new(name: 'ResourceInUseFault', error: {"code" => "ResourceInUse", "httpStatusCode" => 400, "senderFault" => true})
337
348
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
349
+ RetryStrategy = Shapes::StringShape.new(name: 'RetryStrategy')
338
350
  ReturnData = Shapes::BooleanShape.new(name: 'ReturnData')
339
351
  ReuseOnScaleIn = Shapes::BooleanShape.new(name: 'ReuseOnScaleIn')
340
352
  RollbackDetails = Shapes::StructureShape.new(name: 'RollbackDetails')
@@ -371,6 +383,7 @@ module Aws::AutoScaling
371
383
  StepAdjustment = Shapes::StructureShape.new(name: 'StepAdjustment')
372
384
  StepAdjustments = Shapes::ListShape.new(name: 'StepAdjustments')
373
385
  String = Shapes::StringShape.new(name: 'String')
386
+ SubnetIdsLimit1 = Shapes::ListShape.new(name: 'SubnetIdsLimit1')
374
387
  SuspendedProcess = Shapes::StructureShape.new(name: 'SuspendedProcess')
375
388
  SuspendedProcesses = Shapes::ListShape.new(name: 'SuspendedProcesses')
376
389
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -581,12 +594,16 @@ module Aws::AutoScaling
581
594
  AvailabilityZoneDistribution.add_member(:capacity_distribution_strategy, Shapes::ShapeRef.new(shape: CapacityDistributionStrategy, location_name: "CapacityDistributionStrategy"))
582
595
  AvailabilityZoneDistribution.struct_class = Types::AvailabilityZoneDistribution
583
596
 
597
+ AvailabilityZoneIdsLimit1.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
598
+
584
599
  AvailabilityZoneImpairmentPolicy.add_member(:zonal_shift_enabled, Shapes::ShapeRef.new(shape: ZonalShiftEnabled, location_name: "ZonalShiftEnabled"))
585
600
  AvailabilityZoneImpairmentPolicy.add_member(:impaired_zone_health_check_behavior, Shapes::ShapeRef.new(shape: ImpairedZoneHealthCheckBehavior, location_name: "ImpairedZoneHealthCheckBehavior"))
586
601
  AvailabilityZoneImpairmentPolicy.struct_class = Types::AvailabilityZoneImpairmentPolicy
587
602
 
588
603
  AvailabilityZones.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
589
604
 
605
+ AvailabilityZonesLimit1.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
606
+
590
607
  BaselineEbsBandwidthMbpsRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
591
608
  BaselineEbsBandwidthMbpsRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
592
609
  BaselineEbsBandwidthMbpsRequest.struct_class = Types::BaselineEbsBandwidthMbpsRequest
@@ -975,6 +992,9 @@ module Aws::AutoScaling
975
992
  GetPredictiveScalingForecastType.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "EndTime"))
976
993
  GetPredictiveScalingForecastType.struct_class = Types::GetPredictiveScalingForecastType
977
994
 
995
+ IdempotentParameterMismatchError.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Message"))
996
+ IdempotentParameterMismatchError.struct_class = Types::IdempotentParameterMismatchError
997
+
978
998
  Instance.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, required: true, location_name: "InstanceId"))
979
999
  Instance.add_member(:instance_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceType"))
980
1000
  Instance.add_member(:availability_zone, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AvailabilityZone"))
@@ -986,6 +1006,16 @@ module Aws::AutoScaling
986
1006
  Instance.add_member(:weighted_capacity, Shapes::ShapeRef.new(shape: XmlStringMaxLen32, location_name: "WeightedCapacity"))
987
1007
  Instance.struct_class = Types::Instance
988
1008
 
1009
+ InstanceCollection.add_member(:instance_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceType"))
1010
+ InstanceCollection.add_member(:market_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen64, location_name: "MarketType"))
1011
+ InstanceCollection.add_member(:subnet_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "SubnetId"))
1012
+ InstanceCollection.add_member(:availability_zone, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AvailabilityZone"))
1013
+ InstanceCollection.add_member(:availability_zone_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AvailabilityZoneId"))
1014
+ InstanceCollection.add_member(:instance_ids, Shapes::ShapeRef.new(shape: InstanceIds, location_name: "InstanceIds"))
1015
+ InstanceCollection.struct_class = Types::InstanceCollection
1016
+
1017
+ InstanceCollections.member = Shapes::ShapeRef.new(shape: InstanceCollection)
1018
+
989
1019
  InstanceGenerations.member = Shapes::ShapeRef.new(shape: InstanceGeneration)
990
1020
 
991
1021
  InstanceIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen19)
@@ -1119,6 +1149,32 @@ module Aws::AutoScaling
1119
1149
  LaunchConfigurationsType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
1120
1150
  LaunchConfigurationsType.struct_class = Types::LaunchConfigurationsType
1121
1151
 
1152
+ LaunchInstancesError.add_member(:instance_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceType"))
1153
+ LaunchInstancesError.add_member(:market_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen64, location_name: "MarketType"))
1154
+ LaunchInstancesError.add_member(:subnet_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "SubnetId"))
1155
+ LaunchInstancesError.add_member(:availability_zone, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AvailabilityZone"))
1156
+ LaunchInstancesError.add_member(:availability_zone_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AvailabilityZoneId"))
1157
+ LaunchInstancesError.add_member(:error_code, Shapes::ShapeRef.new(shape: XmlStringMaxLen64, location_name: "ErrorCode"))
1158
+ LaunchInstancesError.add_member(:error_message, Shapes::ShapeRef.new(shape: XmlString, location_name: "ErrorMessage"))
1159
+ LaunchInstancesError.struct_class = Types::LaunchInstancesError
1160
+
1161
+ LaunchInstancesErrors.member = Shapes::ShapeRef.new(shape: LaunchInstancesError)
1162
+
1163
+ LaunchInstancesRequest.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
1164
+ LaunchInstancesRequest.add_member(:requested_capacity, Shapes::ShapeRef.new(shape: RequestedCapacity, required: true, location_name: "RequestedCapacity"))
1165
+ LaunchInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "ClientToken", metadata: {"idempotencyToken" => true}))
1166
+ LaunchInstancesRequest.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZonesLimit1, location_name: "AvailabilityZones"))
1167
+ LaunchInstancesRequest.add_member(:availability_zone_ids, Shapes::ShapeRef.new(shape: AvailabilityZoneIdsLimit1, location_name: "AvailabilityZoneIds"))
1168
+ LaunchInstancesRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdsLimit1, location_name: "SubnetIds"))
1169
+ LaunchInstancesRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "RetryStrategy"))
1170
+ LaunchInstancesRequest.struct_class = Types::LaunchInstancesRequest
1171
+
1172
+ LaunchInstancesResult.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AutoScalingGroupName"))
1173
+ LaunchInstancesResult.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken"))
1174
+ LaunchInstancesResult.add_member(:instances, Shapes::ShapeRef.new(shape: InstanceCollections, location_name: "Instances"))
1175
+ LaunchInstancesResult.add_member(:errors, Shapes::ShapeRef.new(shape: LaunchInstancesErrors, location_name: "Errors"))
1176
+ LaunchInstancesResult.struct_class = Types::LaunchInstancesResult
1177
+
1122
1178
  LaunchTemplate.add_member(:launch_template_specification, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplateSpecification"))
1123
1179
  LaunchTemplate.add_member(:overrides, Shapes::ShapeRef.new(shape: Overrides, location_name: "Overrides"))
1124
1180
  LaunchTemplate.struct_class = Types::LaunchTemplate
@@ -1518,6 +1574,8 @@ module Aws::AutoScaling
1518
1574
 
1519
1575
  StepAdjustments.member = Shapes::ShapeRef.new(shape: StepAdjustment)
1520
1576
 
1577
+ SubnetIdsLimit1.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
1578
+
1521
1579
  SuspendedProcess.add_member(:process_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "ProcessName"))
1522
1580
  SuspendedProcess.add_member(:suspension_reason, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "SuspensionReason"))
1523
1581
  SuspendedProcess.struct_class = Types::SuspendedProcess
@@ -2222,6 +2280,16 @@ module Aws::AutoScaling
2222
2280
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
2223
2281
  end)
2224
2282
 
2283
+ api.add_operation(:launch_instances, Seahorse::Model::Operation.new.tap do |o|
2284
+ o.name = "LaunchInstances"
2285
+ o.http_method = "POST"
2286
+ o.http_request_uri = "/"
2287
+ o.input = Shapes::ShapeRef.new(shape: LaunchInstancesRequest)
2288
+ o.output = Shapes::ShapeRef.new(shape: LaunchInstancesResult)
2289
+ o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
2290
+ o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchError)
2291
+ end)
2292
+
2225
2293
  api.add_operation(:put_lifecycle_hook, Seahorse::Model::Operation.new.tap do |o|
2226
2294
  o.name = "PutLifecycleHook"
2227
2295
  o.http_method = "POST"
@@ -31,6 +31,8 @@ module Aws::AutoScaling
31
31
  # * This error class is not used. `ActiveInstanceRefreshNotFound` is used during parsing instead.
32
32
  # * {AlreadyExistsFault}
33
33
  # * This error class is not used. `AlreadyExists` is used during parsing instead.
34
+ # * {IdempotentParameterMismatchError}
35
+ # * This error class is not used. `IdempotentParameterMismatch` is used during parsing instead.
34
36
  # * {InstanceRefreshInProgressFault}
35
37
  # * This error class is not used. `InstanceRefreshInProgress` is used during parsing instead.
36
38
  # * {InvalidNextToken}
@@ -86,6 +88,23 @@ module Aws::AutoScaling
86
88
  end
87
89
  end
88
90
 
91
+ # @deprecated This error class is not used during parsing.
92
+ # Please use `IdempotentParameterMismatch` instead.
93
+ class IdempotentParameterMismatchError < ServiceError
94
+
95
+ # @param [Seahorse::Client::RequestContext] context
96
+ # @param [String] message
97
+ # @param [Aws::AutoScaling::Types::IdempotentParameterMismatchError] data
98
+ def initialize(context, message, data = Aws::EmptyStructure.new)
99
+ super(context, message, data)
100
+ end
101
+
102
+ # @return [String]
103
+ def message
104
+ @message || @data[:message]
105
+ end
106
+ end
107
+
89
108
  # @deprecated This error class is not used during parsing.
90
109
  # Please use `InstanceRefreshInProgress` instead.
91
110
  class InstanceRefreshInProgressFault < ServiceError
@@ -3400,6 +3400,21 @@ module Aws::AutoScaling
3400
3400
  include Aws::Structure
3401
3401
  end
3402
3402
 
3403
+ # Indicates that the parameters in the current request do not match the
3404
+ # parameters from a previous request with the same client token within
3405
+ # the idempotency window.
3406
+ #
3407
+ # @!attribute [rw] message
3408
+ # @return [String]
3409
+ #
3410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/IdempotentParameterMismatchError AWS API Documentation
3411
+ #
3412
+ class IdempotentParameterMismatchError < Struct.new(
3413
+ :message)
3414
+ SENSITIVE = []
3415
+ include Aws::Structure
3416
+ end
3417
+
3403
3418
  # Describes an EC2 instance.
3404
3419
  #
3405
3420
  # @!attribute [rw] instance_id
@@ -3468,6 +3483,47 @@ module Aws::AutoScaling
3468
3483
  include Aws::Structure
3469
3484
  end
3470
3485
 
3486
+ # Contains details about a collection of instances launched in the Auto
3487
+ # Scaling group.
3488
+ #
3489
+ # @!attribute [rw] instance_type
3490
+ # The instance type of the launched instances.
3491
+ # @return [String]
3492
+ #
3493
+ # @!attribute [rw] market_type
3494
+ # The market type for the instances (On-Demand or Spot).
3495
+ # @return [String]
3496
+ #
3497
+ # @!attribute [rw] subnet_id
3498
+ # The ID of the subnet where the instances were launched.
3499
+ # @return [String]
3500
+ #
3501
+ # @!attribute [rw] availability_zone
3502
+ # The Availability Zone where the instances were launched.
3503
+ # @return [String]
3504
+ #
3505
+ # @!attribute [rw] availability_zone_id
3506
+ # The Availability Zone ID where the instances in this collection were
3507
+ # launched.
3508
+ # @return [String]
3509
+ #
3510
+ # @!attribute [rw] instance_ids
3511
+ # A list of instance IDs for the successfully launched instances.
3512
+ # @return [Array<String>]
3513
+ #
3514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceCollection AWS API Documentation
3515
+ #
3516
+ class InstanceCollection < Struct.new(
3517
+ :instance_type,
3518
+ :market_type,
3519
+ :subnet_id,
3520
+ :availability_zone,
3521
+ :availability_zone_id,
3522
+ :instance_ids)
3523
+ SENSITIVE = []
3524
+ include Aws::Structure
3525
+ end
3526
+
3471
3527
  # Describes an instance maintenance policy.
3472
3528
  #
3473
3529
  # For more information, see [Set instance maintenance policy][1] in the
@@ -4646,6 +4702,146 @@ module Aws::AutoScaling
4646
4702
  include Aws::Structure
4647
4703
  end
4648
4704
 
4705
+ # Contains details about errors encountered during instance launch
4706
+ # attempts.
4707
+ #
4708
+ # @!attribute [rw] instance_type
4709
+ # The instance type that failed to launch.
4710
+ # @return [String]
4711
+ #
4712
+ # @!attribute [rw] market_type
4713
+ # The market type (On-Demand or Spot) that encountered the launch
4714
+ # error.
4715
+ # @return [String]
4716
+ #
4717
+ # @!attribute [rw] subnet_id
4718
+ # The subnet ID where the instance launch was attempted.
4719
+ # @return [String]
4720
+ #
4721
+ # @!attribute [rw] availability_zone
4722
+ # The Availability Zone where the instance launch was attempted.
4723
+ # @return [String]
4724
+ #
4725
+ # @!attribute [rw] availability_zone_id
4726
+ # The Availability Zone ID where the launch error occurred.
4727
+ # @return [String]
4728
+ #
4729
+ # @!attribute [rw] error_code
4730
+ # The error code representing the type of error encountered (e.g.,
4731
+ # InsufficientInstanceCapacity).
4732
+ # @return [String]
4733
+ #
4734
+ # @!attribute [rw] error_message
4735
+ # A descriptive message providing details about the error encountered
4736
+ # during the launch attempt.
4737
+ # @return [String]
4738
+ #
4739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchInstancesError AWS API Documentation
4740
+ #
4741
+ class LaunchInstancesError < Struct.new(
4742
+ :instance_type,
4743
+ :market_type,
4744
+ :subnet_id,
4745
+ :availability_zone,
4746
+ :availability_zone_id,
4747
+ :error_code,
4748
+ :error_message)
4749
+ SENSITIVE = []
4750
+ include Aws::Structure
4751
+ end
4752
+
4753
+ # @!attribute [rw] auto_scaling_group_name
4754
+ # The name of the Auto Scaling group to launch instances into.
4755
+ # @return [String]
4756
+ #
4757
+ # @!attribute [rw] requested_capacity
4758
+ # The number of instances to launch. Although this value can exceed
4759
+ # 100 for instance weights, the actual instance count is limited to
4760
+ # 100 instances per launch.
4761
+ # @return [Integer]
4762
+ #
4763
+ # @!attribute [rw] client_token
4764
+ # A unique, case-sensitive identifier to ensure idempotency of the
4765
+ # request.
4766
+ #
4767
+ # **A suitable default value is auto-generated.** You should normally
4768
+ # not need to pass this option.
4769
+ # @return [String]
4770
+ #
4771
+ # @!attribute [rw] availability_zones
4772
+ # The Availability Zones for the instance launch. Must match or be
4773
+ # included in the Auto Scaling group's Availability Zone
4774
+ # configuration. Either `AvailabilityZones` or `SubnetIds` must be
4775
+ # specified for groups with multiple Availability Zone configurations.
4776
+ # @return [Array<String>]
4777
+ #
4778
+ # @!attribute [rw] availability_zone_ids
4779
+ # A list of Availability Zone IDs where instances should be launched.
4780
+ # Must match or be included in the group's AZ configuration. You
4781
+ # cannot specify both AvailabilityZones and AvailabilityZoneIds.
4782
+ # Required for multi-AZ groups, optional for single-AZ groups.
4783
+ # @return [Array<String>]
4784
+ #
4785
+ # @!attribute [rw] subnet_ids
4786
+ # The subnet IDs for the instance launch. Either `AvailabilityZones`
4787
+ # or `SubnetIds` must be specified. If both are specified, the subnets
4788
+ # must reside in the specified Availability Zones.
4789
+ # @return [Array<String>]
4790
+ #
4791
+ # @!attribute [rw] retry_strategy
4792
+ # Specifies whether to retry asynchronously if the synchronous launch
4793
+ # fails. Valid values are NONE (default, no async retry) and
4794
+ # RETRY\_WITH\_GROUP\_CONFIGURATION (increase desired capacity and
4795
+ # retry with group configuration).
4796
+ # @return [String]
4797
+ #
4798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchInstancesRequest AWS API Documentation
4799
+ #
4800
+ class LaunchInstancesRequest < Struct.new(
4801
+ :auto_scaling_group_name,
4802
+ :requested_capacity,
4803
+ :client_token,
4804
+ :availability_zones,
4805
+ :availability_zone_ids,
4806
+ :subnet_ids,
4807
+ :retry_strategy)
4808
+ SENSITIVE = []
4809
+ include Aws::Structure
4810
+ end
4811
+
4812
+ # @!attribute [rw] auto_scaling_group_name
4813
+ # The name of the Auto Scaling group where the instances were
4814
+ # launched.
4815
+ # @return [String]
4816
+ #
4817
+ # @!attribute [rw] client_token
4818
+ # The idempotency token used for the request, either
4819
+ # customer-specified or auto-generated.
4820
+ # @return [String]
4821
+ #
4822
+ # @!attribute [rw] instances
4823
+ # A list of successfully launched instances including details such as
4824
+ # instance type, Availability Zone, subnet, lifecycle state, and
4825
+ # instance IDs.
4826
+ # @return [Array<Types::InstanceCollection>]
4827
+ #
4828
+ # @!attribute [rw] errors
4829
+ # A list of errors encountered during the launch attempt including
4830
+ # details about failed instance launches with their corresponding
4831
+ # error codes and messages.
4832
+ # @return [Array<Types::LaunchInstancesError>]
4833
+ #
4834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchInstancesResult AWS API Documentation
4835
+ #
4836
+ class LaunchInstancesResult < Struct.new(
4837
+ :auto_scaling_group_name,
4838
+ :client_token,
4839
+ :instances,
4840
+ :errors)
4841
+ SENSITIVE = []
4842
+ include Aws::Structure
4843
+ end
4844
+
4649
4845
  # Use this structure to specify the launch templates and instance types
4650
4846
  # (overrides) for a mixed instances policy.
4651
4847
  #
@@ -65,7 +65,7 @@ module Aws::AutoScaling
65
65
  autoload :ScheduledAction, 'aws-sdk-autoscaling/scheduled_action'
66
66
  autoload :Tag, 'aws-sdk-autoscaling/tag'
67
67
 
68
- GEM_VERSION = '1.146.0'
68
+ GEM_VERSION = '1.147.0'
69
69
 
70
70
  end
71
71
 
data/sig/client.rbs CHANGED
@@ -844,6 +844,25 @@ module Aws
844
844
  ) -> _GetPredictiveScalingForecastResponseSuccess
845
845
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetPredictiveScalingForecastResponseSuccess
846
846
 
847
+ interface _LaunchInstancesResponseSuccess
848
+ include ::Seahorse::Client::_ResponseSuccess[Types::LaunchInstancesResult]
849
+ def auto_scaling_group_name: () -> ::String
850
+ def client_token: () -> ::String
851
+ def instances: () -> ::Array[Types::InstanceCollection]
852
+ def errors: () -> ::Array[Types::LaunchInstancesError]
853
+ end
854
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AutoScaling/Client.html#launch_instances-instance_method
855
+ def launch_instances: (
856
+ auto_scaling_group_name: ::String,
857
+ requested_capacity: ::Integer,
858
+ client_token: ::String,
859
+ ?availability_zones: Array[::String],
860
+ ?availability_zone_ids: Array[::String],
861
+ ?subnet_ids: Array[::String],
862
+ ?retry_strategy: ("retry-with-group-configuration" | "none")
863
+ ) -> _LaunchInstancesResponseSuccess
864
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _LaunchInstancesResponseSuccess
865
+
847
866
  interface _PutLifecycleHookResponseSuccess
848
867
  include ::Seahorse::Client::_ResponseSuccess[Types::PutLifecycleHookAnswer]
849
868
  end
data/sig/errors.rbs CHANGED
@@ -17,6 +17,9 @@ module Aws
17
17
  class AlreadyExistsFault < ::Aws::Errors::ServiceError
18
18
  def message: () -> ::String
19
19
  end
20
+ class IdempotentParameterMismatchError < ::Aws::Errors::ServiceError
21
+ def message: () -> ::String
22
+ end
20
23
  class InstanceRefreshInProgressFault < ::Aws::Errors::ServiceError
21
24
  def message: () -> ::String
22
25
  end
data/sig/types.rbs CHANGED
@@ -707,6 +707,11 @@ module Aws::AutoScaling
707
707
  SENSITIVE: []
708
708
  end
709
709
 
710
+ class IdempotentParameterMismatchError
711
+ attr_accessor message: ::String
712
+ SENSITIVE: []
713
+ end
714
+
710
715
  class Instance
711
716
  attr_accessor instance_id: ::String
712
717
  attr_accessor instance_type: ::String
@@ -720,6 +725,16 @@ module Aws::AutoScaling
720
725
  SENSITIVE: []
721
726
  end
722
727
 
728
+ class InstanceCollection
729
+ attr_accessor instance_type: ::String
730
+ attr_accessor market_type: ::String
731
+ attr_accessor subnet_id: ::String
732
+ attr_accessor availability_zone: ::String
733
+ attr_accessor availability_zone_id: ::String
734
+ attr_accessor instance_ids: ::Array[::String]
735
+ SENSITIVE: []
736
+ end
737
+
723
738
  class InstanceMaintenancePolicy
724
739
  attr_accessor min_healthy_percentage: ::Integer
725
740
  attr_accessor max_healthy_percentage: ::Integer
@@ -873,6 +888,36 @@ module Aws::AutoScaling
873
888
  SENSITIVE: []
874
889
  end
875
890
 
891
+ class LaunchInstancesError
892
+ attr_accessor instance_type: ::String
893
+ attr_accessor market_type: ::String
894
+ attr_accessor subnet_id: ::String
895
+ attr_accessor availability_zone: ::String
896
+ attr_accessor availability_zone_id: ::String
897
+ attr_accessor error_code: ::String
898
+ attr_accessor error_message: ::String
899
+ SENSITIVE: []
900
+ end
901
+
902
+ class LaunchInstancesRequest
903
+ attr_accessor auto_scaling_group_name: ::String
904
+ attr_accessor requested_capacity: ::Integer
905
+ attr_accessor client_token: ::String
906
+ attr_accessor availability_zones: ::Array[::String]
907
+ attr_accessor availability_zone_ids: ::Array[::String]
908
+ attr_accessor subnet_ids: ::Array[::String]
909
+ attr_accessor retry_strategy: ("retry-with-group-configuration" | "none")
910
+ SENSITIVE: []
911
+ end
912
+
913
+ class LaunchInstancesResult
914
+ attr_accessor auto_scaling_group_name: ::String
915
+ attr_accessor client_token: ::String
916
+ attr_accessor instances: ::Array[Types::InstanceCollection]
917
+ attr_accessor errors: ::Array[Types::LaunchInstancesError]
918
+ SENSITIVE: []
919
+ end
920
+
876
921
  class LaunchTemplate
877
922
  attr_accessor launch_template_specification: Types::LaunchTemplateSpecification
878
923
  attr_accessor overrides: ::Array[Types::LaunchTemplateOverrides]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-autoscaling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.146.0
4
+ version: 1.147.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services