aws-sdk-autoscaling 1.70.0 → 1.74.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,6 +13,14 @@ module Aws::AutoScaling
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ AcceleratorCountRequest = Shapes::StructureShape.new(name: 'AcceleratorCountRequest')
17
+ AcceleratorManufacturer = Shapes::StringShape.new(name: 'AcceleratorManufacturer')
18
+ AcceleratorManufacturers = Shapes::ListShape.new(name: 'AcceleratorManufacturers')
19
+ AcceleratorName = Shapes::StringShape.new(name: 'AcceleratorName')
20
+ AcceleratorNames = Shapes::ListShape.new(name: 'AcceleratorNames')
21
+ AcceleratorTotalMemoryMiBRequest = Shapes::StructureShape.new(name: 'AcceleratorTotalMemoryMiBRequest')
22
+ AcceleratorType = Shapes::StringShape.new(name: 'AcceleratorType')
23
+ AcceleratorTypes = Shapes::ListShape.new(name: 'AcceleratorTypes')
16
24
  ActiveInstanceRefreshNotFoundFault = Shapes::StructureShape.new(name: 'ActiveInstanceRefreshNotFoundFault')
17
25
  Activities = Shapes::ListShape.new(name: 'Activities')
18
26
  ActivitiesType = Shapes::StructureShape.new(name: 'ActivitiesType')
@@ -46,6 +54,8 @@ module Aws::AutoScaling
46
54
  AutoScalingInstancesType = Shapes::StructureShape.new(name: 'AutoScalingInstancesType')
47
55
  AutoScalingNotificationTypes = Shapes::ListShape.new(name: 'AutoScalingNotificationTypes')
48
56
  AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
57
+ BareMetal = Shapes::StringShape.new(name: 'BareMetal')
58
+ BaselineEbsBandwidthMbpsRequest = Shapes::StructureShape.new(name: 'BaselineEbsBandwidthMbpsRequest')
49
59
  BatchDeleteScheduledActionAnswer = Shapes::StructureShape.new(name: 'BatchDeleteScheduledActionAnswer')
50
60
  BatchDeleteScheduledActionType = Shapes::StructureShape.new(name: 'BatchDeleteScheduledActionType')
51
61
  BatchPutScheduledUpdateGroupActionAnswer = Shapes::StructureShape.new(name: 'BatchPutScheduledUpdateGroupActionAnswer')
@@ -58,6 +68,7 @@ module Aws::AutoScaling
58
68
  BlockDeviceEbsVolumeType = Shapes::StringShape.new(name: 'BlockDeviceEbsVolumeType')
59
69
  BlockDeviceMapping = Shapes::StructureShape.new(name: 'BlockDeviceMapping')
60
70
  BlockDeviceMappings = Shapes::ListShape.new(name: 'BlockDeviceMappings')
71
+ BurstablePerformance = Shapes::StringShape.new(name: 'BurstablePerformance')
61
72
  CancelInstanceRefreshAnswer = Shapes::StructureShape.new(name: 'CancelInstanceRefreshAnswer')
62
73
  CancelInstanceRefreshType = Shapes::StructureShape.new(name: 'CancelInstanceRefreshType')
63
74
  CapacityForecast = Shapes::StructureShape.new(name: 'CapacityForecast')
@@ -69,6 +80,8 @@ module Aws::AutoScaling
69
80
  CompleteLifecycleActionType = Shapes::StructureShape.new(name: 'CompleteLifecycleActionType')
70
81
  Context = Shapes::StringShape.new(name: 'Context')
71
82
  Cooldown = Shapes::IntegerShape.new(name: 'Cooldown')
83
+ CpuManufacturer = Shapes::StringShape.new(name: 'CpuManufacturer')
84
+ CpuManufacturers = Shapes::ListShape.new(name: 'CpuManufacturers')
72
85
  CreateAutoScalingGroupType = Shapes::StructureShape.new(name: 'CreateAutoScalingGroupType')
73
86
  CreateLaunchConfigurationType = Shapes::StructureShape.new(name: 'CreateLaunchConfigurationType')
74
87
  CreateOrUpdateTagsType = Shapes::StructureShape.new(name: 'CreateOrUpdateTagsType')
@@ -122,6 +135,8 @@ module Aws::AutoScaling
122
135
  EnterStandbyAnswer = Shapes::StructureShape.new(name: 'EnterStandbyAnswer')
123
136
  EnterStandbyQuery = Shapes::StructureShape.new(name: 'EnterStandbyQuery')
124
137
  EstimatedInstanceWarmup = Shapes::IntegerShape.new(name: 'EstimatedInstanceWarmup')
138
+ ExcludedInstance = Shapes::StringShape.new(name: 'ExcludedInstance')
139
+ ExcludedInstanceTypes = Shapes::ListShape.new(name: 'ExcludedInstanceTypes')
125
140
  ExecutePolicyType = Shapes::StructureShape.new(name: 'ExecutePolicyType')
126
141
  ExitStandbyAnswer = Shapes::StructureShape.new(name: 'ExitStandbyAnswer')
127
142
  ExitStandbyQuery = Shapes::StructureShape.new(name: 'ExitStandbyQuery')
@@ -138,6 +153,8 @@ module Aws::AutoScaling
138
153
  HonorCooldown = Shapes::BooleanShape.new(name: 'HonorCooldown')
139
154
  IncludeDeletedGroups = Shapes::BooleanShape.new(name: 'IncludeDeletedGroups')
140
155
  Instance = Shapes::StructureShape.new(name: 'Instance')
156
+ InstanceGeneration = Shapes::StringShape.new(name: 'InstanceGeneration')
157
+ InstanceGenerations = Shapes::ListShape.new(name: 'InstanceGenerations')
141
158
  InstanceIds = Shapes::ListShape.new(name: 'InstanceIds')
142
159
  InstanceMetadataEndpointState = Shapes::StringShape.new(name: 'InstanceMetadataEndpointState')
143
160
  InstanceMetadataHttpPutResponseHopLimit = Shapes::IntegerShape.new(name: 'InstanceMetadataHttpPutResponseHopLimit')
@@ -153,6 +170,7 @@ module Aws::AutoScaling
153
170
  InstanceRefreshStatus = Shapes::StringShape.new(name: 'InstanceRefreshStatus')
154
171
  InstanceRefreshWarmPoolProgress = Shapes::StructureShape.new(name: 'InstanceRefreshWarmPoolProgress')
155
172
  InstanceRefreshes = Shapes::ListShape.new(name: 'InstanceRefreshes')
173
+ InstanceRequirements = Shapes::StructureShape.new(name: 'InstanceRequirements')
156
174
  Instances = Shapes::ListShape.new(name: 'Instances')
157
175
  InstancesDistribution = Shapes::StructureShape.new(name: 'InstancesDistribution')
158
176
  InstancesToUpdate = Shapes::IntegerShape.new(name: 'InstancesToUpdate')
@@ -185,13 +203,21 @@ module Aws::AutoScaling
185
203
  LoadBalancerTargetGroupStates = Shapes::ListShape.new(name: 'LoadBalancerTargetGroupStates')
186
204
  LoadForecast = Shapes::StructureShape.new(name: 'LoadForecast')
187
205
  LoadForecasts = Shapes::ListShape.new(name: 'LoadForecasts')
206
+ LocalStorage = Shapes::StringShape.new(name: 'LocalStorage')
207
+ LocalStorageType = Shapes::StringShape.new(name: 'LocalStorageType')
208
+ LocalStorageTypes = Shapes::ListShape.new(name: 'LocalStorageTypes')
188
209
  MaxGroupPreparedCapacity = Shapes::IntegerShape.new(name: 'MaxGroupPreparedCapacity')
189
210
  MaxInstanceLifetime = Shapes::IntegerShape.new(name: 'MaxInstanceLifetime')
190
211
  MaxNumberOfAutoScalingGroups = Shapes::IntegerShape.new(name: 'MaxNumberOfAutoScalingGroups')
191
212
  MaxNumberOfLaunchConfigurations = Shapes::IntegerShape.new(name: 'MaxNumberOfLaunchConfigurations')
192
213
  MaxRecords = Shapes::IntegerShape.new(name: 'MaxRecords')
214
+ MemoryGiBPerVCpuRequest = Shapes::StructureShape.new(name: 'MemoryGiBPerVCpuRequest')
215
+ MemoryMiBRequest = Shapes::StructureShape.new(name: 'MemoryMiBRequest')
216
+ Metric = Shapes::StructureShape.new(name: 'Metric')
193
217
  MetricCollectionType = Shapes::StructureShape.new(name: 'MetricCollectionType')
194
218
  MetricCollectionTypes = Shapes::ListShape.new(name: 'MetricCollectionTypes')
219
+ MetricDataQueries = Shapes::ListShape.new(name: 'MetricDataQueries')
220
+ MetricDataQuery = Shapes::StructureShape.new(name: 'MetricDataQuery')
195
221
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
196
222
  MetricDimensionName = Shapes::StringShape.new(name: 'MetricDimensionName')
197
223
  MetricDimensionValue = Shapes::StringShape.new(name: 'MetricDimensionValue')
@@ -201,6 +227,7 @@ module Aws::AutoScaling
201
227
  MetricName = Shapes::StringShape.new(name: 'MetricName')
202
228
  MetricNamespace = Shapes::StringShape.new(name: 'MetricNamespace')
203
229
  MetricScale = Shapes::FloatShape.new(name: 'MetricScale')
230
+ MetricStat = Shapes::StructureShape.new(name: 'MetricStat')
204
231
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
205
232
  MetricType = Shapes::StringShape.new(name: 'MetricType')
206
233
  MetricUnit = Shapes::StringShape.new(name: 'MetricUnit')
@@ -210,11 +237,15 @@ module Aws::AutoScaling
210
237
  MixedInstanceSpotPrice = Shapes::StringShape.new(name: 'MixedInstanceSpotPrice')
211
238
  MixedInstancesPolicy = Shapes::StructureShape.new(name: 'MixedInstancesPolicy')
212
239
  MonitoringEnabled = Shapes::BooleanShape.new(name: 'MonitoringEnabled')
240
+ NetworkInterfaceCountRequest = Shapes::StructureShape.new(name: 'NetworkInterfaceCountRequest')
213
241
  NoDevice = Shapes::BooleanShape.new(name: 'NoDevice')
214
242
  NonZeroIntPercent = Shapes::IntegerShape.new(name: 'NonZeroIntPercent')
215
243
  NotificationConfiguration = Shapes::StructureShape.new(name: 'NotificationConfiguration')
216
244
  NotificationConfigurations = Shapes::ListShape.new(name: 'NotificationConfigurations')
217
245
  NotificationTargetResourceName = Shapes::StringShape.new(name: 'NotificationTargetResourceName')
246
+ NullableBoolean = Shapes::BooleanShape.new(name: 'NullableBoolean')
247
+ NullablePositiveDouble = Shapes::FloatShape.new(name: 'NullablePositiveDouble')
248
+ NullablePositiveInteger = Shapes::IntegerShape.new(name: 'NullablePositiveInteger')
218
249
  NumberOfAutoScalingGroups = Shapes::IntegerShape.new(name: 'NumberOfAutoScalingGroups')
219
250
  NumberOfLaunchConfigurations = Shapes::IntegerShape.new(name: 'NumberOfLaunchConfigurations')
220
251
  OnDemandBaseCapacity = Shapes::IntegerShape.new(name: 'OnDemandBaseCapacity')
@@ -230,6 +261,9 @@ module Aws::AutoScaling
230
261
  PredefinedMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedMetricSpecification')
231
262
  PredefinedScalingMetricType = Shapes::StringShape.new(name: 'PredefinedScalingMetricType')
232
263
  PredictiveScalingConfiguration = Shapes::StructureShape.new(name: 'PredictiveScalingConfiguration')
264
+ PredictiveScalingCustomizedCapacityMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedCapacityMetric')
265
+ PredictiveScalingCustomizedLoadMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedLoadMetric')
266
+ PredictiveScalingCustomizedScalingMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedScalingMetric')
233
267
  PredictiveScalingForecastTimestamps = Shapes::ListShape.new(name: 'PredictiveScalingForecastTimestamps')
234
268
  PredictiveScalingForecastValues = Shapes::ListShape.new(name: 'PredictiveScalingForecastValues')
235
269
  PredictiveScalingMaxCapacityBreachBehavior = Shapes::StringShape.new(name: 'PredictiveScalingMaxCapacityBreachBehavior')
@@ -263,6 +297,7 @@ module Aws::AutoScaling
263
297
  ResourceContentionFault = Shapes::StructureShape.new(name: 'ResourceContentionFault')
264
298
  ResourceInUseFault = Shapes::StructureShape.new(name: 'ResourceInUseFault')
265
299
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
300
+ ReturnData = Shapes::BooleanShape.new(name: 'ReturnData')
266
301
  ScalingActivityInProgressFault = Shapes::StructureShape.new(name: 'ScalingActivityInProgressFault')
267
302
  ScalingActivityStatusCode = Shapes::StringShape.new(name: 'ScalingActivityStatusCode')
268
303
  ScalingPolicies = Shapes::ListShape.new(name: 'ScalingPolicies')
@@ -304,7 +339,9 @@ module Aws::AutoScaling
304
339
  TerminateInstanceInAutoScalingGroupType = Shapes::StructureShape.new(name: 'TerminateInstanceInAutoScalingGroupType')
305
340
  TerminationPolicies = Shapes::ListShape.new(name: 'TerminationPolicies')
306
341
  TimestampType = Shapes::TimestampShape.new(name: 'TimestampType')
342
+ TotalLocalStorageGBRequest = Shapes::StructureShape.new(name: 'TotalLocalStorageGBRequest')
307
343
  UpdateAutoScalingGroupType = Shapes::StructureShape.new(name: 'UpdateAutoScalingGroupType')
344
+ VCpuCountRequest = Shapes::StructureShape.new(name: 'VCpuCountRequest')
308
345
  Values = Shapes::ListShape.new(name: 'Values')
309
346
  WarmPoolConfiguration = Shapes::StructureShape.new(name: 'WarmPoolConfiguration')
310
347
  WarmPoolMinSize = Shapes::IntegerShape.new(name: 'WarmPoolMinSize')
@@ -320,8 +357,24 @@ module Aws::AutoScaling
320
357
  XmlStringMaxLen32 = Shapes::StringShape.new(name: 'XmlStringMaxLen32')
321
358
  XmlStringMaxLen511 = Shapes::StringShape.new(name: 'XmlStringMaxLen511')
322
359
  XmlStringMaxLen64 = Shapes::StringShape.new(name: 'XmlStringMaxLen64')
360
+ XmlStringMetricLabel = Shapes::StringShape.new(name: 'XmlStringMetricLabel')
361
+ XmlStringMetricStat = Shapes::StringShape.new(name: 'XmlStringMetricStat')
323
362
  XmlStringUserData = Shapes::StringShape.new(name: 'XmlStringUserData')
324
363
 
364
+ AcceleratorCountRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
365
+ AcceleratorCountRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
366
+ AcceleratorCountRequest.struct_class = Types::AcceleratorCountRequest
367
+
368
+ AcceleratorManufacturers.member = Shapes::ShapeRef.new(shape: AcceleratorManufacturer)
369
+
370
+ AcceleratorNames.member = Shapes::ShapeRef.new(shape: AcceleratorName)
371
+
372
+ AcceleratorTotalMemoryMiBRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
373
+ AcceleratorTotalMemoryMiBRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
374
+ AcceleratorTotalMemoryMiBRequest.struct_class = Types::AcceleratorTotalMemoryMiBRequest
375
+
376
+ AcceleratorTypes.member = Shapes::ShapeRef.new(shape: AcceleratorType)
377
+
325
378
  ActiveInstanceRefreshNotFoundFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
326
379
  ActiveInstanceRefreshNotFoundFault.struct_class = Types::ActiveInstanceRefreshNotFoundFault
327
380
 
@@ -411,6 +464,7 @@ module Aws::AutoScaling
411
464
  AutoScalingGroup.add_member(:warm_pool_configuration, Shapes::ShapeRef.new(shape: WarmPoolConfiguration, location_name: "WarmPoolConfiguration"))
412
465
  AutoScalingGroup.add_member(:warm_pool_size, Shapes::ShapeRef.new(shape: WarmPoolSize, location_name: "WarmPoolSize"))
413
466
  AutoScalingGroup.add_member(:context, Shapes::ShapeRef.new(shape: Context, location_name: "Context"))
467
+ AutoScalingGroup.add_member(:desired_capacity_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "DesiredCapacityType"))
414
468
  AutoScalingGroup.struct_class = Types::AutoScalingGroup
415
469
 
416
470
  AutoScalingGroupNames.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
@@ -449,6 +503,10 @@ module Aws::AutoScaling
449
503
 
450
504
  AvailabilityZones.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
451
505
 
506
+ BaselineEbsBandwidthMbpsRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
507
+ BaselineEbsBandwidthMbpsRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
508
+ BaselineEbsBandwidthMbpsRequest.struct_class = Types::BaselineEbsBandwidthMbpsRequest
509
+
452
510
  BatchDeleteScheduledActionAnswer.add_member(:failed_scheduled_actions, Shapes::ShapeRef.new(shape: FailedScheduledUpdateGroupActionRequests, location_name: "FailedScheduledActions"))
453
511
  BatchDeleteScheduledActionAnswer.struct_class = Types::BatchDeleteScheduledActionAnswer
454
512
 
@@ -494,6 +552,8 @@ module Aws::AutoScaling
494
552
  CompleteLifecycleActionType.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, location_name: "InstanceId"))
495
553
  CompleteLifecycleActionType.struct_class = Types::CompleteLifecycleActionType
496
554
 
555
+ CpuManufacturers.member = Shapes::ShapeRef.new(shape: CpuManufacturer)
556
+
497
557
  CreateAutoScalingGroupType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
498
558
  CreateAutoScalingGroupType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "LaunchConfigurationName"))
499
559
  CreateAutoScalingGroupType.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
@@ -518,6 +578,7 @@ module Aws::AutoScaling
518
578
  CreateAutoScalingGroupType.add_member(:service_linked_role_arn, Shapes::ShapeRef.new(shape: ResourceName, location_name: "ServiceLinkedRoleARN"))
519
579
  CreateAutoScalingGroupType.add_member(:max_instance_lifetime, Shapes::ShapeRef.new(shape: MaxInstanceLifetime, location_name: "MaxInstanceLifetime"))
520
580
  CreateAutoScalingGroupType.add_member(:context, Shapes::ShapeRef.new(shape: Context, location_name: "Context"))
581
+ CreateAutoScalingGroupType.add_member(:desired_capacity_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "DesiredCapacityType"))
521
582
  CreateAutoScalingGroupType.struct_class = Types::CreateAutoScalingGroupType
522
583
 
523
584
  CreateLaunchConfigurationType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "LaunchConfigurationName"))
@@ -746,6 +807,8 @@ module Aws::AutoScaling
746
807
  EnterStandbyQuery.add_member(:should_decrement_desired_capacity, Shapes::ShapeRef.new(shape: ShouldDecrementDesiredCapacity, required: true, location_name: "ShouldDecrementDesiredCapacity"))
747
808
  EnterStandbyQuery.struct_class = Types::EnterStandbyQuery
748
809
 
810
+ ExcludedInstanceTypes.member = Shapes::ShapeRef.new(shape: ExcludedInstance)
811
+
749
812
  ExecutePolicyType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AutoScalingGroupName"))
750
813
  ExecutePolicyType.add_member(:policy_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "PolicyName"))
751
814
  ExecutePolicyType.add_member(:honor_cooldown, Shapes::ShapeRef.new(shape: HonorCooldown, location_name: "HonorCooldown"))
@@ -795,6 +858,8 @@ module Aws::AutoScaling
795
858
  Instance.add_member(:weighted_capacity, Shapes::ShapeRef.new(shape: XmlStringMaxLen32, location_name: "WeightedCapacity"))
796
859
  Instance.struct_class = Types::Instance
797
860
 
861
+ InstanceGenerations.member = Shapes::ShapeRef.new(shape: InstanceGeneration)
862
+
798
863
  InstanceIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen19)
799
864
 
800
865
  InstanceMetadataOptions.add_member(:http_tokens, Shapes::ShapeRef.new(shape: InstanceMetadataHttpTokensState, location_name: "HttpTokens"))
@@ -837,6 +902,29 @@ module Aws::AutoScaling
837
902
 
838
903
  InstanceRefreshes.member = Shapes::ShapeRef.new(shape: InstanceRefresh)
839
904
 
905
+ InstanceRequirements.add_member(:v_cpu_count, Shapes::ShapeRef.new(shape: VCpuCountRequest, required: true, location_name: "VCpuCount"))
906
+ InstanceRequirements.add_member(:memory_mi_b, Shapes::ShapeRef.new(shape: MemoryMiBRequest, required: true, location_name: "MemoryMiB"))
907
+ InstanceRequirements.add_member(:cpu_manufacturers, Shapes::ShapeRef.new(shape: CpuManufacturers, location_name: "CpuManufacturers"))
908
+ InstanceRequirements.add_member(:memory_gi_b_per_v_cpu, Shapes::ShapeRef.new(shape: MemoryGiBPerVCpuRequest, location_name: "MemoryGiBPerVCpu"))
909
+ InstanceRequirements.add_member(:excluded_instance_types, Shapes::ShapeRef.new(shape: ExcludedInstanceTypes, location_name: "ExcludedInstanceTypes"))
910
+ InstanceRequirements.add_member(:instance_generations, Shapes::ShapeRef.new(shape: InstanceGenerations, location_name: "InstanceGenerations"))
911
+ InstanceRequirements.add_member(:spot_max_price_percentage_over_lowest_price, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "SpotMaxPricePercentageOverLowestPrice"))
912
+ InstanceRequirements.add_member(:on_demand_max_price_percentage_over_lowest_price, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "OnDemandMaxPricePercentageOverLowestPrice"))
913
+ InstanceRequirements.add_member(:bare_metal, Shapes::ShapeRef.new(shape: BareMetal, location_name: "BareMetal"))
914
+ InstanceRequirements.add_member(:burstable_performance, Shapes::ShapeRef.new(shape: BurstablePerformance, location_name: "BurstablePerformance"))
915
+ InstanceRequirements.add_member(:require_hibernate_support, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "RequireHibernateSupport"))
916
+ InstanceRequirements.add_member(:network_interface_count, Shapes::ShapeRef.new(shape: NetworkInterfaceCountRequest, location_name: "NetworkInterfaceCount"))
917
+ InstanceRequirements.add_member(:local_storage, Shapes::ShapeRef.new(shape: LocalStorage, location_name: "LocalStorage"))
918
+ InstanceRequirements.add_member(:local_storage_types, Shapes::ShapeRef.new(shape: LocalStorageTypes, location_name: "LocalStorageTypes"))
919
+ InstanceRequirements.add_member(:total_local_storage_gb, Shapes::ShapeRef.new(shape: TotalLocalStorageGBRequest, location_name: "TotalLocalStorageGB"))
920
+ InstanceRequirements.add_member(:baseline_ebs_bandwidth_mbps, Shapes::ShapeRef.new(shape: BaselineEbsBandwidthMbpsRequest, location_name: "BaselineEbsBandwidthMbps"))
921
+ InstanceRequirements.add_member(:accelerator_types, Shapes::ShapeRef.new(shape: AcceleratorTypes, location_name: "AcceleratorTypes"))
922
+ InstanceRequirements.add_member(:accelerator_count, Shapes::ShapeRef.new(shape: AcceleratorCountRequest, location_name: "AcceleratorCount"))
923
+ InstanceRequirements.add_member(:accelerator_manufacturers, Shapes::ShapeRef.new(shape: AcceleratorManufacturers, location_name: "AcceleratorManufacturers"))
924
+ InstanceRequirements.add_member(:accelerator_names, Shapes::ShapeRef.new(shape: AcceleratorNames, location_name: "AcceleratorNames"))
925
+ InstanceRequirements.add_member(:accelerator_total_memory_mi_b, Shapes::ShapeRef.new(shape: AcceleratorTotalMemoryMiBRequest, location_name: "AcceleratorTotalMemoryMiB"))
926
+ InstanceRequirements.struct_class = Types::InstanceRequirements
927
+
840
928
  Instances.member = Shapes::ShapeRef.new(shape: Instance)
841
929
 
842
930
  InstancesDistribution.add_member(:on_demand_allocation_strategy, Shapes::ShapeRef.new(shape: XmlString, location_name: "OnDemandAllocationStrategy"))
@@ -895,6 +983,7 @@ module Aws::AutoScaling
895
983
  LaunchTemplateOverrides.add_member(:instance_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "InstanceType"))
896
984
  LaunchTemplateOverrides.add_member(:weighted_capacity, Shapes::ShapeRef.new(shape: XmlStringMaxLen32, location_name: "WeightedCapacity"))
897
985
  LaunchTemplateOverrides.add_member(:launch_template_specification, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplateSpecification"))
986
+ LaunchTemplateOverrides.add_member(:instance_requirements, Shapes::ShapeRef.new(shape: InstanceRequirements, location_name: "InstanceRequirements"))
898
987
  LaunchTemplateOverrides.struct_class = Types::LaunchTemplateOverrides
899
988
 
900
989
  LaunchTemplateSpecification.add_member(:launch_template_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "LaunchTemplateId"))
@@ -952,11 +1041,35 @@ module Aws::AutoScaling
952
1041
 
953
1042
  LoadForecasts.member = Shapes::ShapeRef.new(shape: LoadForecast)
954
1043
 
1044
+ LocalStorageTypes.member = Shapes::ShapeRef.new(shape: LocalStorageType)
1045
+
1046
+ MemoryGiBPerVCpuRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Min"))
1047
+ MemoryGiBPerVCpuRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Max"))
1048
+ MemoryGiBPerVCpuRequest.struct_class = Types::MemoryGiBPerVCpuRequest
1049
+
1050
+ MemoryMiBRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, required: true, location_name: "Min"))
1051
+ MemoryMiBRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
1052
+ MemoryMiBRequest.struct_class = Types::MemoryMiBRequest
1053
+
1054
+ Metric.add_member(:namespace, Shapes::ShapeRef.new(shape: MetricNamespace, required: true, location_name: "Namespace"))
1055
+ Metric.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
1056
+ Metric.add_member(:dimensions, Shapes::ShapeRef.new(shape: MetricDimensions, location_name: "Dimensions"))
1057
+ Metric.struct_class = Types::Metric
1058
+
955
1059
  MetricCollectionType.add_member(:metric, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Metric"))
956
1060
  MetricCollectionType.struct_class = Types::MetricCollectionType
957
1061
 
958
1062
  MetricCollectionTypes.member = Shapes::ShapeRef.new(shape: MetricCollectionType)
959
1063
 
1064
+ MetricDataQueries.member = Shapes::ShapeRef.new(shape: MetricDataQuery)
1065
+
1066
+ MetricDataQuery.add_member(:id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "Id"))
1067
+ MetricDataQuery.add_member(:expression, Shapes::ShapeRef.new(shape: XmlStringMaxLen1023, location_name: "Expression"))
1068
+ MetricDataQuery.add_member(:metric_stat, Shapes::ShapeRef.new(shape: MetricStat, location_name: "MetricStat"))
1069
+ MetricDataQuery.add_member(:label, Shapes::ShapeRef.new(shape: XmlStringMetricLabel, location_name: "Label"))
1070
+ MetricDataQuery.add_member(:return_data, Shapes::ShapeRef.new(shape: ReturnData, location_name: "ReturnData"))
1071
+ MetricDataQuery.struct_class = Types::MetricDataQuery
1072
+
960
1073
  MetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: MetricDimensionName, required: true, location_name: "Name"))
961
1074
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: MetricDimensionValue, required: true, location_name: "Value"))
962
1075
  MetricDimension.struct_class = Types::MetricDimension
@@ -968,12 +1081,21 @@ module Aws::AutoScaling
968
1081
 
969
1082
  MetricGranularityTypes.member = Shapes::ShapeRef.new(shape: MetricGranularityType)
970
1083
 
1084
+ MetricStat.add_member(:metric, Shapes::ShapeRef.new(shape: Metric, required: true, location_name: "Metric"))
1085
+ MetricStat.add_member(:stat, Shapes::ShapeRef.new(shape: XmlStringMetricStat, required: true, location_name: "Stat"))
1086
+ MetricStat.add_member(:unit, Shapes::ShapeRef.new(shape: MetricUnit, location_name: "Unit"))
1087
+ MetricStat.struct_class = Types::MetricStat
1088
+
971
1089
  Metrics.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
972
1090
 
973
1091
  MixedInstancesPolicy.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplate, location_name: "LaunchTemplate"))
974
1092
  MixedInstancesPolicy.add_member(:instances_distribution, Shapes::ShapeRef.new(shape: InstancesDistribution, location_name: "InstancesDistribution"))
975
1093
  MixedInstancesPolicy.struct_class = Types::MixedInstancesPolicy
976
1094
 
1095
+ NetworkInterfaceCountRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
1096
+ NetworkInterfaceCountRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
1097
+ NetworkInterfaceCountRequest.struct_class = Types::NetworkInterfaceCountRequest
1098
+
977
1099
  NotificationConfiguration.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AutoScalingGroupName"))
978
1100
  NotificationConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "TopicARN"))
979
1101
  NotificationConfiguration.add_member(:notification_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "NotificationType"))
@@ -1006,6 +1128,15 @@ module Aws::AutoScaling
1006
1128
  PredictiveScalingConfiguration.add_member(:max_capacity_buffer, Shapes::ShapeRef.new(shape: PredictiveScalingMaxCapacityBuffer, location_name: "MaxCapacityBuffer"))
1007
1129
  PredictiveScalingConfiguration.struct_class = Types::PredictiveScalingConfiguration
1008
1130
 
1131
+ PredictiveScalingCustomizedCapacityMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1132
+ PredictiveScalingCustomizedCapacityMetric.struct_class = Types::PredictiveScalingCustomizedCapacityMetric
1133
+
1134
+ PredictiveScalingCustomizedLoadMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1135
+ PredictiveScalingCustomizedLoadMetric.struct_class = Types::PredictiveScalingCustomizedLoadMetric
1136
+
1137
+ PredictiveScalingCustomizedScalingMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1138
+ PredictiveScalingCustomizedScalingMetric.struct_class = Types::PredictiveScalingCustomizedScalingMetric
1139
+
1009
1140
  PredictiveScalingForecastTimestamps.member = Shapes::ShapeRef.new(shape: TimestampType)
1010
1141
 
1011
1142
  PredictiveScalingForecastValues.member = Shapes::ShapeRef.new(shape: MetricScale)
@@ -1014,6 +1145,9 @@ module Aws::AutoScaling
1014
1145
  PredictiveScalingMetricSpecification.add_member(:predefined_metric_pair_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedMetricPair, location_name: "PredefinedMetricPairSpecification"))
1015
1146
  PredictiveScalingMetricSpecification.add_member(:predefined_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedScalingMetric, location_name: "PredefinedScalingMetricSpecification"))
1016
1147
  PredictiveScalingMetricSpecification.add_member(:predefined_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedLoadMetric, location_name: "PredefinedLoadMetricSpecification"))
1148
+ PredictiveScalingMetricSpecification.add_member(:customized_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedScalingMetric, location_name: "CustomizedScalingMetricSpecification"))
1149
+ PredictiveScalingMetricSpecification.add_member(:customized_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedLoadMetric, location_name: "CustomizedLoadMetricSpecification"))
1150
+ PredictiveScalingMetricSpecification.add_member(:customized_capacity_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedCapacityMetric, location_name: "CustomizedCapacityMetricSpecification"))
1017
1151
  PredictiveScalingMetricSpecification.struct_class = Types::PredictiveScalingMetricSpecification
1018
1152
 
1019
1153
  PredictiveScalingMetricSpecifications.member = Shapes::ShapeRef.new(shape: PredictiveScalingMetricSpecification)
@@ -1254,6 +1388,10 @@ module Aws::AutoScaling
1254
1388
 
1255
1389
  TerminationPolicies.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen1600)
1256
1390
 
1391
+ TotalLocalStorageGBRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Min"))
1392
+ TotalLocalStorageGBRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Max"))
1393
+ TotalLocalStorageGBRequest.struct_class = Types::TotalLocalStorageGBRequest
1394
+
1257
1395
  UpdateAutoScalingGroupType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
1258
1396
  UpdateAutoScalingGroupType.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "LaunchConfigurationName"))
1259
1397
  UpdateAutoScalingGroupType.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
@@ -1273,8 +1411,13 @@ module Aws::AutoScaling
1273
1411
  UpdateAutoScalingGroupType.add_member(:max_instance_lifetime, Shapes::ShapeRef.new(shape: MaxInstanceLifetime, location_name: "MaxInstanceLifetime"))
1274
1412
  UpdateAutoScalingGroupType.add_member(:capacity_rebalance, Shapes::ShapeRef.new(shape: CapacityRebalanceEnabled, location_name: "CapacityRebalance"))
1275
1413
  UpdateAutoScalingGroupType.add_member(:context, Shapes::ShapeRef.new(shape: Context, location_name: "Context"))
1414
+ UpdateAutoScalingGroupType.add_member(:desired_capacity_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "DesiredCapacityType"))
1276
1415
  UpdateAutoScalingGroupType.struct_class = Types::UpdateAutoScalingGroupType
1277
1416
 
1417
+ VCpuCountRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, required: true, location_name: "Min"))
1418
+ VCpuCountRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
1419
+ VCpuCountRequest.struct_class = Types::VCpuCountRequest
1420
+
1278
1421
  Values.member = Shapes::ShapeRef.new(shape: XmlString)
1279
1422
 
1280
1423
  WarmPoolConfiguration.add_member(:max_group_prepared_capacity, Shapes::ShapeRef.new(shape: MaxGroupPreparedCapacity, location_name: "MaxGroupPreparedCapacity"))
@@ -61,6 +61,53 @@ module Aws::AutoScaling
61
61
  # launch_template_name: "LaunchTemplateName",
62
62
  # version: "XmlStringMaxLen255",
63
63
  # },
64
+ # instance_requirements: {
65
+ # v_cpu_count: { # required
66
+ # min: 1, # required
67
+ # max: 1,
68
+ # },
69
+ # memory_mi_b: { # required
70
+ # min: 1, # required
71
+ # max: 1,
72
+ # },
73
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
74
+ # memory_gi_b_per_v_cpu: {
75
+ # min: 1.0,
76
+ # max: 1.0,
77
+ # },
78
+ # excluded_instance_types: ["ExcludedInstance"],
79
+ # instance_generations: ["current"], # accepts current, previous
80
+ # spot_max_price_percentage_over_lowest_price: 1,
81
+ # on_demand_max_price_percentage_over_lowest_price: 1,
82
+ # bare_metal: "included", # accepts included, excluded, required
83
+ # burstable_performance: "included", # accepts included, excluded, required
84
+ # require_hibernate_support: false,
85
+ # network_interface_count: {
86
+ # min: 1,
87
+ # max: 1,
88
+ # },
89
+ # local_storage: "included", # accepts included, excluded, required
90
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
91
+ # total_local_storage_gb: {
92
+ # min: 1.0,
93
+ # max: 1.0,
94
+ # },
95
+ # baseline_ebs_bandwidth_mbps: {
96
+ # min: 1,
97
+ # max: 1,
98
+ # },
99
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
100
+ # accelerator_count: {
101
+ # min: 1,
102
+ # max: 1,
103
+ # },
104
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
105
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
106
+ # accelerator_total_memory_mi_b: {
107
+ # min: 1,
108
+ # max: 1,
109
+ # },
110
+ # },
64
111
  # },
65
112
  # ],
66
113
  # },
@@ -111,6 +158,7 @@ module Aws::AutoScaling
111
158
  # service_linked_role_arn: "ResourceName",
112
159
  # max_instance_lifetime: 1,
113
160
  # context: "Context",
161
+ # desired_capacity_type: "XmlStringMaxLen255",
114
162
  # })
115
163
  # @param [Hash] options ({})
116
164
  # @option options [required, String] :auto_scaling_group_name
@@ -141,24 +189,15 @@ module Aws::AutoScaling
141
189
  #
142
190
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
143
191
  # @option options [Types::MixedInstancesPolicy] :mixed_instances_policy
144
- # An embedded object that specifies a mixed instances policy. The
145
- # required properties must be specified. If optional properties are
146
- # unspecified, their default values are used.
147
- #
148
- # The policy includes properties that not only define the distribution
149
- # of On-Demand Instances and Spot Instances, the maximum price to pay
150
- # for Spot Instances, and how the Auto Scaling group allocates instance
151
- # types to fulfill On-Demand and Spot capacities, but also the
152
- # properties that specify the instance configuration information—the
153
- # launch template and instance types. The policy can also include a
154
- # weight for each instance type and different launch templates for
155
- # individual instance types. For more information, see [Auto Scaling
156
- # groups with multiple instance types and purchase options][1] in the
157
- # *Amazon EC2 Auto Scaling User Guide*.
192
+ # An embedded object that specifies a mixed instances policy.
193
+ #
194
+ # For more information, see [Auto Scaling groups with multiple instance
195
+ # types and purchase options][1] in the *Amazon EC2 Auto Scaling User
196
+ # Guide*.
158
197
  #
159
198
  #
160
199
  #
161
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
200
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
162
201
  # @option options [String] :instance_id
163
202
  # The ID of the instance used to base the launch configuration on. If
164
203
  # specified, Amazon EC2 Auto Scaling uses the configuration values from
@@ -239,10 +278,9 @@ module Aws::AutoScaling
239
278
  # @option options [Integer] :health_check_grace_period
240
279
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
241
280
  # before checking the health status of an EC2 instance that has come
242
- # into service. During this time, any health check failures for the
243
- # instance are ignored. The default value is `0`. For more information,
244
- # see [Health check grace period][1] in the *Amazon EC2 Auto Scaling
245
- # User Guide*.
281
+ # into service and marking it unhealthy due to a failed health check.
282
+ # The default value is `0`. For more information, see [Health check
283
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
246
284
  #
247
285
  # Conditional: Required if you are adding an `ELB` health check.
248
286
  #
@@ -283,12 +321,12 @@ module Aws::AutoScaling
283
321
  # Indicates whether newly launched instances are protected from
284
322
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
285
323
  # information about preventing instances from terminating on scale in,
286
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
287
- # User Guide*.
324
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
325
+ # Scaling User Guide*.
288
326
  #
289
327
  #
290
328
  #
291
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
329
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
292
330
  # @option options [Boolean] :capacity_rebalance
293
331
  # Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity
294
332
  # Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon
@@ -300,7 +338,7 @@ module Aws::AutoScaling
300
338
  #
301
339
  #
302
340
  #
303
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
341
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
304
342
  # @option options [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
305
343
  # One or more lifecycle hooks for the group, which specify actions to
306
344
  # perform when Amazon EC2 Auto Scaling launches or terminates instances.
@@ -341,6 +379,21 @@ module Aws::AutoScaling
341
379
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
342
380
  # @option options [String] :context
343
381
  # Reserved.
382
+ # @option options [String] :desired_capacity_type
383
+ # The unit of measurement for the value specified for desired capacity.
384
+ # Amazon EC2 Auto Scaling supports `DesiredCapacityType` for
385
+ # attribute-based instance type selection only. For more information,
386
+ # see [Creating an Auto Scaling group using attribute-based instance
387
+ # type selection][1] in the *Amazon EC2 Auto Scaling User Guide*.
388
+ #
389
+ # By default, Amazon EC2 Auto Scaling specifies `units`, which
390
+ # translates into number of instances.
391
+ #
392
+ # Valid values: `units` \| `vcpu` \| `memory-mib`
393
+ #
394
+ #
395
+ #
396
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
344
397
  # @return [AutoScalingGroup]
345
398
  def create_group(options = {})
346
399
  @client.create_auto_scaling_group(options)