@aws-sdk/client-auto-scaling 3.204.0 → 3.208.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.
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ScheduledUpdateGroupActionRequestFilterSensitiveLog = exports.BatchPutScheduledUpdateGroupActionAnswerFilterSensitiveLog = exports.BatchDeleteScheduledActionTypeFilterSensitiveLog = exports.BatchDeleteScheduledActionAnswerFilterSensitiveLog = exports.FailedScheduledUpdateGroupActionRequestFilterSensitiveLog = exports.AttachLoadBalancerTargetGroupsTypeFilterSensitiveLog = exports.AttachLoadBalancerTargetGroupsResultTypeFilterSensitiveLog = exports.AttachLoadBalancersTypeFilterSensitiveLog = exports.AttachLoadBalancersResultTypeFilterSensitiveLog = exports.AttachInstancesQueryFilterSensitiveLog = exports.AlarmFilterSensitiveLog = exports.AdjustmentTypeFilterSensitiveLog = exports.ActivityTypeFilterSensitiveLog = exports.ActivitiesTypeFilterSensitiveLog = exports.ActivityFilterSensitiveLog = exports.AcceleratorTotalMemoryMiBRequestFilterSensitiveLog = exports.AcceleratorCountRequestFilterSensitiveLog = exports.RefreshStrategy = exports.InstanceRefreshInProgressFault = exports.MetricType = exports.MetricStatistic = exports.PredictiveScalingMode = exports.PredefinedScalingMetricType = exports.PredefinedMetricPairType = exports.PredefinedLoadMetricType = exports.PredictiveScalingMaxCapacityBreachBehavior = exports.InstanceRefreshStatus = exports.InvalidNextToken = exports.WarmPoolStatus = exports.WarmPoolState = exports.LifecycleState = exports.ScalingActivityInProgressFault = exports.ResourceInUseFault = exports.InstanceMetadataHttpTokensState = exports.InstanceMetadataEndpointState = exports.LocalStorageType = exports.LocalStorage = exports.InstanceGeneration = exports.CpuManufacturer = exports.BurstablePerformance = exports.BareMetal = exports.LimitExceededFault = exports.ServiceLinkedRoleFailure = exports.ResourceContentionFault = exports.AlreadyExistsFault = exports.ScalingActivityStatusCode = exports.ActiveInstanceRefreshNotFoundFault = exports.AcceleratorType = exports.AcceleratorName = exports.AcceleratorManufacturer = void 0;
4
- exports.AutoScalingInstancesTypeFilterSensitiveLog = exports.AutoScalingInstanceDetailsFilterSensitiveLog = exports.AutoScalingGroupsTypeFilterSensitiveLog = exports.AutoScalingGroupFilterSensitiveLog = exports.WarmPoolConfigurationFilterSensitiveLog = exports.InstanceReusePolicyFilterSensitiveLog = exports.TagDescriptionFilterSensitiveLog = exports.SuspendedProcessFilterSensitiveLog = exports.InstanceFilterSensitiveLog = exports.EnabledMetricFilterSensitiveLog = exports.AutoScalingGroupNamesTypeFilterSensitiveLog = exports.FilterFilterSensitiveLog = exports.DescribeAdjustmentTypesAnswerFilterSensitiveLog = exports.DescribeAccountLimitsAnswerFilterSensitiveLog = exports.DeleteWarmPoolTypeFilterSensitiveLog = exports.DeleteWarmPoolAnswerFilterSensitiveLog = exports.DeleteTagsTypeFilterSensitiveLog = exports.DeleteScheduledActionTypeFilterSensitiveLog = exports.DeletePolicyTypeFilterSensitiveLog = exports.DeleteNotificationConfigurationTypeFilterSensitiveLog = exports.DeleteLifecycleHookTypeFilterSensitiveLog = exports.DeleteLifecycleHookAnswerFilterSensitiveLog = exports.LaunchConfigurationNameTypeFilterSensitiveLog = exports.DeleteAutoScalingGroupTypeFilterSensitiveLog = exports.CreateOrUpdateTagsTypeFilterSensitiveLog = exports.CreateLaunchConfigurationTypeFilterSensitiveLog = exports.InstanceMetadataOptionsFilterSensitiveLog = exports.InstanceMonitoringFilterSensitiveLog = exports.BlockDeviceMappingFilterSensitiveLog = exports.EbsFilterSensitiveLog = exports.CreateAutoScalingGroupTypeFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.MixedInstancesPolicyFilterSensitiveLog = exports.LaunchTemplateFilterSensitiveLog = exports.LaunchTemplateOverridesFilterSensitiveLog = exports.InstanceRequirementsFilterSensitiveLog = exports.VCpuCountRequestFilterSensitiveLog = exports.TotalLocalStorageGBRequestFilterSensitiveLog = exports.NetworkInterfaceCountRequestFilterSensitiveLog = exports.MemoryMiBRequestFilterSensitiveLog = exports.MemoryGiBPerVCpuRequestFilterSensitiveLog = exports.BaselineEbsBandwidthMbpsRequestFilterSensitiveLog = exports.InstancesDistributionFilterSensitiveLog = exports.LifecycleHookSpecificationFilterSensitiveLog = exports.LaunchTemplateSpecificationFilterSensitiveLog = exports.CompleteLifecycleActionTypeFilterSensitiveLog = exports.CompleteLifecycleActionAnswerFilterSensitiveLog = exports.CancelInstanceRefreshTypeFilterSensitiveLog = exports.CancelInstanceRefreshAnswerFilterSensitiveLog = exports.BatchPutScheduledUpdateGroupActionTypeFilterSensitiveLog = void 0;
5
- exports.ProcessTypeFilterSensitiveLog = exports.DescribeScalingActivitiesTypeFilterSensitiveLog = exports.PoliciesTypeFilterSensitiveLog = exports.ScalingPolicyFilterSensitiveLog = exports.TargetTrackingConfigurationFilterSensitiveLog = exports.PredefinedMetricSpecificationFilterSensitiveLog = exports.CustomizedMetricSpecificationFilterSensitiveLog = exports.StepAdjustmentFilterSensitiveLog = exports.PredictiveScalingConfigurationFilterSensitiveLog = exports.PredictiveScalingMetricSpecificationFilterSensitiveLog = exports.PredictiveScalingPredefinedScalingMetricFilterSensitiveLog = exports.PredictiveScalingPredefinedMetricPairFilterSensitiveLog = exports.PredictiveScalingPredefinedLoadMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedScalingMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedLoadMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedCapacityMetricFilterSensitiveLog = exports.MetricDataQueryFilterSensitiveLog = exports.MetricStatFilterSensitiveLog = exports.MetricFilterSensitiveLog = exports.MetricDimensionFilterSensitiveLog = exports.DescribePoliciesTypeFilterSensitiveLog = exports.DescribeNotificationConfigurationsTypeFilterSensitiveLog = exports.DescribeNotificationConfigurationsAnswerFilterSensitiveLog = exports.NotificationConfigurationFilterSensitiveLog = exports.DescribeMetricCollectionTypesAnswerFilterSensitiveLog = exports.MetricCollectionTypeFilterSensitiveLog = exports.MetricGranularityTypeFilterSensitiveLog = exports.DescribeLoadBalancerTargetGroupsResponseFilterSensitiveLog = exports.LoadBalancerTargetGroupStateFilterSensitiveLog = exports.DescribeLoadBalancerTargetGroupsRequestFilterSensitiveLog = exports.DescribeLoadBalancersResponseFilterSensitiveLog = exports.LoadBalancerStateFilterSensitiveLog = exports.DescribeLoadBalancersRequestFilterSensitiveLog = exports.DescribeLifecycleHookTypesAnswerFilterSensitiveLog = exports.DescribeLifecycleHooksTypeFilterSensitiveLog = exports.DescribeLifecycleHooksAnswerFilterSensitiveLog = exports.LifecycleHookFilterSensitiveLog = exports.LaunchConfigurationsTypeFilterSensitiveLog = exports.LaunchConfigurationFilterSensitiveLog = exports.LaunchConfigurationNamesTypeFilterSensitiveLog = exports.DescribeInstanceRefreshesTypeFilterSensitiveLog = exports.DescribeInstanceRefreshesAnswerFilterSensitiveLog = exports.InstanceRefreshFilterSensitiveLog = exports.InstanceRefreshProgressDetailsFilterSensitiveLog = exports.InstanceRefreshWarmPoolProgressFilterSensitiveLog = exports.InstanceRefreshLivePoolProgressFilterSensitiveLog = exports.RefreshPreferencesFilterSensitiveLog = exports.DesiredConfigurationFilterSensitiveLog = exports.DescribeAutoScalingNotificationTypesAnswerFilterSensitiveLog = exports.DescribeAutoScalingInstancesTypeFilterSensitiveLog = void 0;
6
- exports.UpdateAutoScalingGroupTypeFilterSensitiveLog = exports.TerminateInstanceInAutoScalingGroupTypeFilterSensitiveLog = exports.StartInstanceRefreshTypeFilterSensitiveLog = exports.StartInstanceRefreshAnswerFilterSensitiveLog = exports.SetInstanceProtectionQueryFilterSensitiveLog = exports.SetInstanceProtectionAnswerFilterSensitiveLog = exports.SetInstanceHealthQueryFilterSensitiveLog = exports.SetDesiredCapacityTypeFilterSensitiveLog = exports.ScalingProcessQueryFilterSensitiveLog = exports.RecordLifecycleActionHeartbeatTypeFilterSensitiveLog = exports.RecordLifecycleActionHeartbeatAnswerFilterSensitiveLog = exports.PutWarmPoolTypeFilterSensitiveLog = exports.PutWarmPoolAnswerFilterSensitiveLog = exports.PutScheduledUpdateGroupActionTypeFilterSensitiveLog = exports.PutScalingPolicyTypeFilterSensitiveLog = exports.PolicyARNTypeFilterSensitiveLog = exports.PutNotificationConfigurationTypeFilterSensitiveLog = exports.PutLifecycleHookTypeFilterSensitiveLog = exports.PutLifecycleHookAnswerFilterSensitiveLog = exports.GetPredictiveScalingForecastTypeFilterSensitiveLog = exports.GetPredictiveScalingForecastAnswerFilterSensitiveLog = exports.LoadForecastFilterSensitiveLog = exports.CapacityForecastFilterSensitiveLog = exports.ExitStandbyQueryFilterSensitiveLog = exports.ExitStandbyAnswerFilterSensitiveLog = exports.ExecutePolicyTypeFilterSensitiveLog = exports.EnterStandbyQueryFilterSensitiveLog = exports.EnterStandbyAnswerFilterSensitiveLog = exports.EnableMetricsCollectionQueryFilterSensitiveLog = exports.DisableMetricsCollectionQueryFilterSensitiveLog = exports.DetachLoadBalancerTargetGroupsTypeFilterSensitiveLog = exports.DetachLoadBalancerTargetGroupsResultTypeFilterSensitiveLog = exports.DetachLoadBalancersTypeFilterSensitiveLog = exports.DetachLoadBalancersResultTypeFilterSensitiveLog = exports.DetachInstancesQueryFilterSensitiveLog = exports.DetachInstancesAnswerFilterSensitiveLog = exports.DescribeWarmPoolTypeFilterSensitiveLog = exports.DescribeWarmPoolAnswerFilterSensitiveLog = exports.DescribeTerminationPolicyTypesAnswerFilterSensitiveLog = exports.TagsTypeFilterSensitiveLog = exports.DescribeTagsTypeFilterSensitiveLog = exports.ScheduledActionsTypeFilterSensitiveLog = exports.ScheduledUpdateGroupActionFilterSensitiveLog = exports.DescribeScheduledActionsTypeFilterSensitiveLog = exports.ProcessesTypeFilterSensitiveLog = void 0;
4
+ exports.AutoScalingInstanceDetailsFilterSensitiveLog = exports.AutoScalingGroupsTypeFilterSensitiveLog = exports.AutoScalingGroupFilterSensitiveLog = exports.WarmPoolConfigurationFilterSensitiveLog = exports.InstanceReusePolicyFilterSensitiveLog = exports.TagDescriptionFilterSensitiveLog = exports.SuspendedProcessFilterSensitiveLog = exports.InstanceFilterSensitiveLog = exports.EnabledMetricFilterSensitiveLog = exports.AutoScalingGroupNamesTypeFilterSensitiveLog = exports.FilterFilterSensitiveLog = exports.DescribeAdjustmentTypesAnswerFilterSensitiveLog = exports.DescribeAccountLimitsAnswerFilterSensitiveLog = exports.DeleteWarmPoolTypeFilterSensitiveLog = exports.DeleteWarmPoolAnswerFilterSensitiveLog = exports.DeleteTagsTypeFilterSensitiveLog = exports.DeleteScheduledActionTypeFilterSensitiveLog = exports.DeletePolicyTypeFilterSensitiveLog = exports.DeleteNotificationConfigurationTypeFilterSensitiveLog = exports.DeleteLifecycleHookTypeFilterSensitiveLog = exports.DeleteLifecycleHookAnswerFilterSensitiveLog = exports.LaunchConfigurationNameTypeFilterSensitiveLog = exports.DeleteAutoScalingGroupTypeFilterSensitiveLog = exports.CreateOrUpdateTagsTypeFilterSensitiveLog = exports.CreateLaunchConfigurationTypeFilterSensitiveLog = exports.InstanceMetadataOptionsFilterSensitiveLog = exports.InstanceMonitoringFilterSensitiveLog = exports.BlockDeviceMappingFilterSensitiveLog = exports.EbsFilterSensitiveLog = exports.CreateAutoScalingGroupTypeFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.MixedInstancesPolicyFilterSensitiveLog = exports.LaunchTemplateFilterSensitiveLog = exports.LaunchTemplateOverridesFilterSensitiveLog = exports.InstanceRequirementsFilterSensitiveLog = exports.VCpuCountRequestFilterSensitiveLog = exports.TotalLocalStorageGBRequestFilterSensitiveLog = exports.NetworkInterfaceCountRequestFilterSensitiveLog = exports.NetworkBandwidthGbpsRequestFilterSensitiveLog = exports.MemoryMiBRequestFilterSensitiveLog = exports.MemoryGiBPerVCpuRequestFilterSensitiveLog = exports.BaselineEbsBandwidthMbpsRequestFilterSensitiveLog = exports.InstancesDistributionFilterSensitiveLog = exports.LifecycleHookSpecificationFilterSensitiveLog = exports.LaunchTemplateSpecificationFilterSensitiveLog = exports.CompleteLifecycleActionTypeFilterSensitiveLog = exports.CompleteLifecycleActionAnswerFilterSensitiveLog = exports.CancelInstanceRefreshTypeFilterSensitiveLog = exports.CancelInstanceRefreshAnswerFilterSensitiveLog = exports.BatchPutScheduledUpdateGroupActionTypeFilterSensitiveLog = void 0;
5
+ exports.DescribeScalingActivitiesTypeFilterSensitiveLog = exports.PoliciesTypeFilterSensitiveLog = exports.ScalingPolicyFilterSensitiveLog = exports.TargetTrackingConfigurationFilterSensitiveLog = exports.PredefinedMetricSpecificationFilterSensitiveLog = exports.CustomizedMetricSpecificationFilterSensitiveLog = exports.StepAdjustmentFilterSensitiveLog = exports.PredictiveScalingConfigurationFilterSensitiveLog = exports.PredictiveScalingMetricSpecificationFilterSensitiveLog = exports.PredictiveScalingPredefinedScalingMetricFilterSensitiveLog = exports.PredictiveScalingPredefinedMetricPairFilterSensitiveLog = exports.PredictiveScalingPredefinedLoadMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedScalingMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedLoadMetricFilterSensitiveLog = exports.PredictiveScalingCustomizedCapacityMetricFilterSensitiveLog = exports.MetricDataQueryFilterSensitiveLog = exports.MetricStatFilterSensitiveLog = exports.MetricFilterSensitiveLog = exports.MetricDimensionFilterSensitiveLog = exports.DescribePoliciesTypeFilterSensitiveLog = exports.DescribeNotificationConfigurationsTypeFilterSensitiveLog = exports.DescribeNotificationConfigurationsAnswerFilterSensitiveLog = exports.NotificationConfigurationFilterSensitiveLog = exports.DescribeMetricCollectionTypesAnswerFilterSensitiveLog = exports.MetricCollectionTypeFilterSensitiveLog = exports.MetricGranularityTypeFilterSensitiveLog = exports.DescribeLoadBalancerTargetGroupsResponseFilterSensitiveLog = exports.LoadBalancerTargetGroupStateFilterSensitiveLog = exports.DescribeLoadBalancerTargetGroupsRequestFilterSensitiveLog = exports.DescribeLoadBalancersResponseFilterSensitiveLog = exports.LoadBalancerStateFilterSensitiveLog = exports.DescribeLoadBalancersRequestFilterSensitiveLog = exports.DescribeLifecycleHookTypesAnswerFilterSensitiveLog = exports.DescribeLifecycleHooksTypeFilterSensitiveLog = exports.DescribeLifecycleHooksAnswerFilterSensitiveLog = exports.LifecycleHookFilterSensitiveLog = exports.LaunchConfigurationsTypeFilterSensitiveLog = exports.LaunchConfigurationFilterSensitiveLog = exports.LaunchConfigurationNamesTypeFilterSensitiveLog = exports.DescribeInstanceRefreshesTypeFilterSensitiveLog = exports.DescribeInstanceRefreshesAnswerFilterSensitiveLog = exports.InstanceRefreshFilterSensitiveLog = exports.InstanceRefreshProgressDetailsFilterSensitiveLog = exports.InstanceRefreshWarmPoolProgressFilterSensitiveLog = exports.InstanceRefreshLivePoolProgressFilterSensitiveLog = exports.RefreshPreferencesFilterSensitiveLog = exports.DesiredConfigurationFilterSensitiveLog = exports.DescribeAutoScalingNotificationTypesAnswerFilterSensitiveLog = exports.DescribeAutoScalingInstancesTypeFilterSensitiveLog = exports.AutoScalingInstancesTypeFilterSensitiveLog = void 0;
6
+ exports.UpdateAutoScalingGroupTypeFilterSensitiveLog = exports.TerminateInstanceInAutoScalingGroupTypeFilterSensitiveLog = exports.StartInstanceRefreshTypeFilterSensitiveLog = exports.StartInstanceRefreshAnswerFilterSensitiveLog = exports.SetInstanceProtectionQueryFilterSensitiveLog = exports.SetInstanceProtectionAnswerFilterSensitiveLog = exports.SetInstanceHealthQueryFilterSensitiveLog = exports.SetDesiredCapacityTypeFilterSensitiveLog = exports.ScalingProcessQueryFilterSensitiveLog = exports.RecordLifecycleActionHeartbeatTypeFilterSensitiveLog = exports.RecordLifecycleActionHeartbeatAnswerFilterSensitiveLog = exports.PutWarmPoolTypeFilterSensitiveLog = exports.PutWarmPoolAnswerFilterSensitiveLog = exports.PutScheduledUpdateGroupActionTypeFilterSensitiveLog = exports.PutScalingPolicyTypeFilterSensitiveLog = exports.PolicyARNTypeFilterSensitiveLog = exports.PutNotificationConfigurationTypeFilterSensitiveLog = exports.PutLifecycleHookTypeFilterSensitiveLog = exports.PutLifecycleHookAnswerFilterSensitiveLog = exports.GetPredictiveScalingForecastTypeFilterSensitiveLog = exports.GetPredictiveScalingForecastAnswerFilterSensitiveLog = exports.LoadForecastFilterSensitiveLog = exports.CapacityForecastFilterSensitiveLog = exports.ExitStandbyQueryFilterSensitiveLog = exports.ExitStandbyAnswerFilterSensitiveLog = exports.ExecutePolicyTypeFilterSensitiveLog = exports.EnterStandbyQueryFilterSensitiveLog = exports.EnterStandbyAnswerFilterSensitiveLog = exports.EnableMetricsCollectionQueryFilterSensitiveLog = exports.DisableMetricsCollectionQueryFilterSensitiveLog = exports.DetachLoadBalancerTargetGroupsTypeFilterSensitiveLog = exports.DetachLoadBalancerTargetGroupsResultTypeFilterSensitiveLog = exports.DetachLoadBalancersTypeFilterSensitiveLog = exports.DetachLoadBalancersResultTypeFilterSensitiveLog = exports.DetachInstancesQueryFilterSensitiveLog = exports.DetachInstancesAnswerFilterSensitiveLog = exports.DescribeWarmPoolTypeFilterSensitiveLog = exports.DescribeWarmPoolAnswerFilterSensitiveLog = exports.DescribeTerminationPolicyTypesAnswerFilterSensitiveLog = exports.TagsTypeFilterSensitiveLog = exports.DescribeTagsTypeFilterSensitiveLog = exports.ScheduledActionsTypeFilterSensitiveLog = exports.ScheduledUpdateGroupActionFilterSensitiveLog = exports.DescribeScheduledActionsTypeFilterSensitiveLog = exports.ProcessesTypeFilterSensitiveLog = exports.ProcessTypeFilterSensitiveLog = void 0;
7
7
  const AutoScalingServiceException_1 = require("./AutoScalingServiceException");
8
8
  var AcceleratorManufacturer;
9
9
  (function (AcceleratorManufacturer) {
@@ -411,6 +411,10 @@ const MemoryMiBRequestFilterSensitiveLog = (obj) => ({
411
411
  ...obj,
412
412
  });
413
413
  exports.MemoryMiBRequestFilterSensitiveLog = MemoryMiBRequestFilterSensitiveLog;
414
+ const NetworkBandwidthGbpsRequestFilterSensitiveLog = (obj) => ({
415
+ ...obj,
416
+ });
417
+ exports.NetworkBandwidthGbpsRequestFilterSensitiveLog = NetworkBandwidthGbpsRequestFilterSensitiveLog;
414
418
  const NetworkInterfaceCountRequestFilterSensitiveLog = (obj) => ({
415
419
  ...obj,
416
420
  });
@@ -3115,6 +3115,18 @@ const serializeAws_queryActivityIds = (input, context) => {
3115
3115
  }
3116
3116
  return entries;
3117
3117
  };
3118
+ const serializeAws_queryAllowedInstanceTypes = (input, context) => {
3119
+ const entries = {};
3120
+ let counter = 1;
3121
+ for (const entry of input) {
3122
+ if (entry === null) {
3123
+ continue;
3124
+ }
3125
+ entries[`member.${counter}`] = entry;
3126
+ counter++;
3127
+ }
3128
+ return entries;
3129
+ };
3118
3130
  const serializeAws_queryAttachInstancesQuery = (input, context) => {
3119
3131
  const entries = {};
3120
3132
  if (input.InstanceIds != null) {
@@ -4388,6 +4400,23 @@ const serializeAws_queryInstanceRequirements = (input, context) => {
4388
4400
  entries[loc] = value;
4389
4401
  });
4390
4402
  }
4403
+ if (input.NetworkBandwidthGbps != null) {
4404
+ const memberEntries = serializeAws_queryNetworkBandwidthGbpsRequest(input.NetworkBandwidthGbps, context);
4405
+ Object.entries(memberEntries).forEach(([key, value]) => {
4406
+ const loc = `NetworkBandwidthGbps.${key}`;
4407
+ entries[loc] = value;
4408
+ });
4409
+ }
4410
+ if (input.AllowedInstanceTypes != null) {
4411
+ const memberEntries = serializeAws_queryAllowedInstanceTypes(input.AllowedInstanceTypes, context);
4412
+ if (input.AllowedInstanceTypes?.length === 0) {
4413
+ entries.AllowedInstanceTypes = [];
4414
+ }
4415
+ Object.entries(memberEntries).forEach(([key, value]) => {
4416
+ const loc = `AllowedInstanceTypes.${key}`;
4417
+ entries[loc] = value;
4418
+ });
4419
+ }
4391
4420
  return entries;
4392
4421
  };
4393
4422
  const serializeAws_queryInstanceReusePolicy = (input, context) => {
@@ -4742,6 +4771,16 @@ const serializeAws_queryMixedInstancesPolicy = (input, context) => {
4742
4771
  }
4743
4772
  return entries;
4744
4773
  };
4774
+ const serializeAws_queryNetworkBandwidthGbpsRequest = (input, context) => {
4775
+ const entries = {};
4776
+ if (input.Min != null) {
4777
+ entries["Min"] = (0, smithy_client_1.serializeFloat)(input.Min);
4778
+ }
4779
+ if (input.Max != null) {
4780
+ entries["Max"] = (0, smithy_client_1.serializeFloat)(input.Max);
4781
+ }
4782
+ return entries;
4783
+ };
4745
4784
  const serializeAws_queryNetworkInterfaceCountRequest = (input, context) => {
4746
4785
  const entries = {};
4747
4786
  if (input.Min != null) {
@@ -5755,6 +5794,13 @@ const deserializeAws_queryAlarms = (output, context) => {
5755
5794
  return deserializeAws_queryAlarm(entry, context);
5756
5795
  });
5757
5796
  };
5797
+ const deserializeAws_queryAllowedInstanceTypes = (output, context) => {
5798
+ return (output || [])
5799
+ .filter((e) => e != null)
5800
+ .map((entry) => {
5801
+ return (0, smithy_client_1.expectString)(entry);
5802
+ });
5803
+ };
5758
5804
  const deserializeAws_queryAlreadyExistsFault = (output, context) => {
5759
5805
  const contents = {
5760
5806
  message: undefined,
@@ -6744,6 +6790,8 @@ const deserializeAws_queryInstanceRequirements = (output, context) => {
6744
6790
  AcceleratorManufacturers: undefined,
6745
6791
  AcceleratorNames: undefined,
6746
6792
  AcceleratorTotalMemoryMiB: undefined,
6793
+ NetworkBandwidthGbps: undefined,
6794
+ AllowedInstanceTypes: undefined,
6747
6795
  };
6748
6796
  if (output["VCpuCount"] !== undefined) {
6749
6797
  contents.VCpuCount = deserializeAws_queryVCpuCountRequest(output["VCpuCount"], context);
@@ -6830,6 +6878,15 @@ const deserializeAws_queryInstanceRequirements = (output, context) => {
6830
6878
  if (output["AcceleratorTotalMemoryMiB"] !== undefined) {
6831
6879
  contents.AcceleratorTotalMemoryMiB = deserializeAws_queryAcceleratorTotalMemoryMiBRequest(output["AcceleratorTotalMemoryMiB"], context);
6832
6880
  }
6881
+ if (output["NetworkBandwidthGbps"] !== undefined) {
6882
+ contents.NetworkBandwidthGbps = deserializeAws_queryNetworkBandwidthGbpsRequest(output["NetworkBandwidthGbps"], context);
6883
+ }
6884
+ if (output.AllowedInstanceTypes === "") {
6885
+ contents.AllowedInstanceTypes = [];
6886
+ }
6887
+ else if (output["AllowedInstanceTypes"] !== undefined && output["AllowedInstanceTypes"]["member"] !== undefined) {
6888
+ contents.AllowedInstanceTypes = deserializeAws_queryAllowedInstanceTypes((0, smithy_client_1.getArrayIfSingleItem)(output["AllowedInstanceTypes"]["member"]), context);
6889
+ }
6833
6890
  return contents;
6834
6891
  };
6835
6892
  const deserializeAws_queryInstanceReusePolicy = (output, context) => {
@@ -7359,6 +7416,19 @@ const deserializeAws_queryMixedInstancesPolicy = (output, context) => {
7359
7416
  }
7360
7417
  return contents;
7361
7418
  };
7419
+ const deserializeAws_queryNetworkBandwidthGbpsRequest = (output, context) => {
7420
+ const contents = {
7421
+ Min: undefined,
7422
+ Max: undefined,
7423
+ };
7424
+ if (output["Min"] !== undefined) {
7425
+ contents.Min = (0, smithy_client_1.strictParseFloat)(output["Min"]);
7426
+ }
7427
+ if (output["Max"] !== undefined) {
7428
+ contents.Max = (0, smithy_client_1.strictParseFloat)(output["Max"]);
7429
+ }
7430
+ return contents;
7431
+ };
7362
7432
  const deserializeAws_queryNetworkInterfaceCountRequest = (output, context) => {
7363
7433
  const contents = {
7364
7434
  Min: undefined,
@@ -368,6 +368,9 @@ export const MemoryGiBPerVCpuRequestFilterSensitiveLog = (obj) => ({
368
368
  export const MemoryMiBRequestFilterSensitiveLog = (obj) => ({
369
369
  ...obj,
370
370
  });
371
+ export const NetworkBandwidthGbpsRequestFilterSensitiveLog = (obj) => ({
372
+ ...obj,
373
+ });
371
374
  export const NetworkInterfaceCountRequestFilterSensitiveLog = (obj) => ({
372
375
  ...obj,
373
376
  });
@@ -2988,6 +2988,18 @@ const serializeAws_queryActivityIds = (input, context) => {
2988
2988
  }
2989
2989
  return entries;
2990
2990
  };
2991
+ const serializeAws_queryAllowedInstanceTypes = (input, context) => {
2992
+ const entries = {};
2993
+ let counter = 1;
2994
+ for (const entry of input) {
2995
+ if (entry === null) {
2996
+ continue;
2997
+ }
2998
+ entries[`member.${counter}`] = entry;
2999
+ counter++;
3000
+ }
3001
+ return entries;
3002
+ };
2991
3003
  const serializeAws_queryAttachInstancesQuery = (input, context) => {
2992
3004
  const entries = {};
2993
3005
  if (input.InstanceIds != null) {
@@ -4261,6 +4273,23 @@ const serializeAws_queryInstanceRequirements = (input, context) => {
4261
4273
  entries[loc] = value;
4262
4274
  });
4263
4275
  }
4276
+ if (input.NetworkBandwidthGbps != null) {
4277
+ const memberEntries = serializeAws_queryNetworkBandwidthGbpsRequest(input.NetworkBandwidthGbps, context);
4278
+ Object.entries(memberEntries).forEach(([key, value]) => {
4279
+ const loc = `NetworkBandwidthGbps.${key}`;
4280
+ entries[loc] = value;
4281
+ });
4282
+ }
4283
+ if (input.AllowedInstanceTypes != null) {
4284
+ const memberEntries = serializeAws_queryAllowedInstanceTypes(input.AllowedInstanceTypes, context);
4285
+ if (input.AllowedInstanceTypes?.length === 0) {
4286
+ entries.AllowedInstanceTypes = [];
4287
+ }
4288
+ Object.entries(memberEntries).forEach(([key, value]) => {
4289
+ const loc = `AllowedInstanceTypes.${key}`;
4290
+ entries[loc] = value;
4291
+ });
4292
+ }
4264
4293
  return entries;
4265
4294
  };
4266
4295
  const serializeAws_queryInstanceReusePolicy = (input, context) => {
@@ -4615,6 +4644,16 @@ const serializeAws_queryMixedInstancesPolicy = (input, context) => {
4615
4644
  }
4616
4645
  return entries;
4617
4646
  };
4647
+ const serializeAws_queryNetworkBandwidthGbpsRequest = (input, context) => {
4648
+ const entries = {};
4649
+ if (input.Min != null) {
4650
+ entries["Min"] = __serializeFloat(input.Min);
4651
+ }
4652
+ if (input.Max != null) {
4653
+ entries["Max"] = __serializeFloat(input.Max);
4654
+ }
4655
+ return entries;
4656
+ };
4618
4657
  const serializeAws_queryNetworkInterfaceCountRequest = (input, context) => {
4619
4658
  const entries = {};
4620
4659
  if (input.Min != null) {
@@ -5628,6 +5667,13 @@ const deserializeAws_queryAlarms = (output, context) => {
5628
5667
  return deserializeAws_queryAlarm(entry, context);
5629
5668
  });
5630
5669
  };
5670
+ const deserializeAws_queryAllowedInstanceTypes = (output, context) => {
5671
+ return (output || [])
5672
+ .filter((e) => e != null)
5673
+ .map((entry) => {
5674
+ return __expectString(entry);
5675
+ });
5676
+ };
5631
5677
  const deserializeAws_queryAlreadyExistsFault = (output, context) => {
5632
5678
  const contents = {
5633
5679
  message: undefined,
@@ -6617,6 +6663,8 @@ const deserializeAws_queryInstanceRequirements = (output, context) => {
6617
6663
  AcceleratorManufacturers: undefined,
6618
6664
  AcceleratorNames: undefined,
6619
6665
  AcceleratorTotalMemoryMiB: undefined,
6666
+ NetworkBandwidthGbps: undefined,
6667
+ AllowedInstanceTypes: undefined,
6620
6668
  };
6621
6669
  if (output["VCpuCount"] !== undefined) {
6622
6670
  contents.VCpuCount = deserializeAws_queryVCpuCountRequest(output["VCpuCount"], context);
@@ -6703,6 +6751,15 @@ const deserializeAws_queryInstanceRequirements = (output, context) => {
6703
6751
  if (output["AcceleratorTotalMemoryMiB"] !== undefined) {
6704
6752
  contents.AcceleratorTotalMemoryMiB = deserializeAws_queryAcceleratorTotalMemoryMiBRequest(output["AcceleratorTotalMemoryMiB"], context);
6705
6753
  }
6754
+ if (output["NetworkBandwidthGbps"] !== undefined) {
6755
+ contents.NetworkBandwidthGbps = deserializeAws_queryNetworkBandwidthGbpsRequest(output["NetworkBandwidthGbps"], context);
6756
+ }
6757
+ if (output.AllowedInstanceTypes === "") {
6758
+ contents.AllowedInstanceTypes = [];
6759
+ }
6760
+ else if (output["AllowedInstanceTypes"] !== undefined && output["AllowedInstanceTypes"]["member"] !== undefined) {
6761
+ contents.AllowedInstanceTypes = deserializeAws_queryAllowedInstanceTypes(__getArrayIfSingleItem(output["AllowedInstanceTypes"]["member"]), context);
6762
+ }
6706
6763
  return contents;
6707
6764
  };
6708
6765
  const deserializeAws_queryInstanceReusePolicy = (output, context) => {
@@ -7232,6 +7289,19 @@ const deserializeAws_queryMixedInstancesPolicy = (output, context) => {
7232
7289
  }
7233
7290
  return contents;
7234
7291
  };
7292
+ const deserializeAws_queryNetworkBandwidthGbpsRequest = (output, context) => {
7293
+ const contents = {
7294
+ Min: undefined,
7295
+ Max: undefined,
7296
+ };
7297
+ if (output["Min"] !== undefined) {
7298
+ contents.Min = __strictParseFloat(output["Min"]);
7299
+ }
7300
+ if (output["Max"] !== undefined) {
7301
+ contents.Max = __strictParseFloat(output["Max"]);
7302
+ }
7303
+ return contents;
7304
+ };
7235
7305
  const deserializeAws_queryNetworkInterfaceCountRequest = (output, context) => {
7236
7306
  const contents = {
7237
7307
  Min: undefined,
@@ -237,6 +237,12 @@ export declare class AutoScaling extends AutoScalingClient {
237
237
  * Amazon EC2 Auto Scaling</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
238
238
  * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html">Launch
239
239
  * configurations</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
240
+ * <note>
241
+ * <p>Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a
242
+ * launch template or a launch configuration. We strongly recommend that you do not use
243
+ * launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2.
244
+ * For information about using launch templates, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html">Launch templates</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
245
+ * </note>
240
246
  */
241
247
  createLaunchConfiguration(args: CreateLaunchConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<CreateLaunchConfigurationCommandOutput>;
242
248
  createLaunchConfiguration(args: CreateLaunchConfigurationCommandInput, cb: (err: any, data?: CreateLaunchConfigurationCommandOutput) => void): void;
@@ -254,14 +260,19 @@ export declare class AutoScaling extends AutoScalingClient {
254
260
  /**
255
261
  * <p>Deletes the specified Auto Scaling group.</p>
256
262
  * <p>If the group has instances or scaling activities in progress, you must specify the
257
- * option to force the deletion in order for it to succeed.</p>
258
- * <p>If the group has policies, deleting the group deletes the policies, the underlying
259
- * alarm actions, and any alarm that no longer has an associated action.</p>
263
+ * option to force the deletion in order for it to succeed. The force delete operation will
264
+ * also terminate the EC2 instances. If the group has a warm pool, the force delete option
265
+ * also deletes the warm pool.</p>
260
266
  * <p>To remove instances from the Auto Scaling group before deleting it, call the <a>DetachInstances</a> API with the list of instances and the option to
261
267
  * decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement
262
268
  * instances.</p>
263
269
  * <p>To terminate all instances before deleting the Auto Scaling group, call the <a>UpdateAutoScalingGroup</a> API and set the minimum size and desired capacity
264
- * of the Auto Scaling group to zero.</p>
270
+ * of the Auto Scaling group to
271
+ * zero.</p>
272
+ * <p>If the group has scaling policies, deleting the group deletes the policies, the
273
+ * underlying alarm actions, and any alarm that no longer has an associated action.</p>
274
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html">Delete your Auto Scaling
275
+ * infrastructure</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
265
276
  */
266
277
  deleteAutoScalingGroup(args: DeleteAutoScalingGroupCommandInput, options?: __HttpHandlerOptions): Promise<DeleteAutoScalingGroupCommandOutput>;
267
278
  deleteAutoScalingGroup(args: DeleteAutoScalingGroupCommandInput, cb: (err: any, data?: DeleteAutoScalingGroupCommandOutput) => void): void;
@@ -15,6 +15,12 @@ export interface CreateLaunchConfigurationCommandOutput extends __MetadataBearer
15
15
  * Amazon EC2 Auto Scaling</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
16
16
  * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html">Launch
17
17
  * configurations</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
18
+ * <note>
19
+ * <p>Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a
20
+ * launch template or a launch configuration. We strongly recommend that you do not use
21
+ * launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2.
22
+ * For information about using launch templates, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html">Launch templates</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
23
+ * </note>
18
24
  * @example
19
25
  * Use a bare-bones client and the command you need to make an API call.
20
26
  * ```javascript
@@ -10,14 +10,19 @@ export interface DeleteAutoScalingGroupCommandOutput extends __MetadataBearer {
10
10
  /**
11
11
  * <p>Deletes the specified Auto Scaling group.</p>
12
12
  * <p>If the group has instances or scaling activities in progress, you must specify the
13
- * option to force the deletion in order for it to succeed.</p>
14
- * <p>If the group has policies, deleting the group deletes the policies, the underlying
15
- * alarm actions, and any alarm that no longer has an associated action.</p>
13
+ * option to force the deletion in order for it to succeed. The force delete operation will
14
+ * also terminate the EC2 instances. If the group has a warm pool, the force delete option
15
+ * also deletes the warm pool.</p>
16
16
  * <p>To remove instances from the Auto Scaling group before deleting it, call the <a>DetachInstances</a> API with the list of instances and the option to
17
17
  * decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement
18
18
  * instances.</p>
19
19
  * <p>To terminate all instances before deleting the Auto Scaling group, call the <a>UpdateAutoScalingGroup</a> API and set the minimum size and desired capacity
20
- * of the Auto Scaling group to zero.</p>
20
+ * of the Auto Scaling group to
21
+ * zero.</p>
22
+ * <p>If the group has scaling policies, deleting the group deletes the policies, the
23
+ * underlying alarm actions, and any alarm that no longer has an associated action.</p>
24
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html">Delete your Auto Scaling
25
+ * infrastructure</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
21
26
  * @example
22
27
  * Use a bare-bones client and the command you need to make an API call.
23
28
  * ```javascript
@@ -493,32 +493,46 @@ export interface LifecycleHookSpecification {
493
493
  RoleARN?: string;
494
494
  }
495
495
  /**
496
- * <p>Describes an instances distribution for an Auto Scaling group.</p>
496
+ * <p>Use this structure to specify the distribution of On-Demand Instances and Spot
497
+ * Instances and the allocation strategies used to fulfill On-Demand and Spot capacities
498
+ * for a mixed instances policy.</p>
497
499
  */
498
500
  export interface InstancesDistribution {
499
501
  /**
500
- * <p>The order of the launch template overrides to use in fulfilling On-Demand capacity. </p>
501
- * <p>If you specify <code>lowest-price</code>, Amazon EC2 Auto Scaling uses price to determine the order,
502
- * launching the lowest price first. </p>
503
- * <p>If you specify <code>prioritized</code>, Amazon EC2 Auto Scaling uses the priority that you assigned
504
- * to each launch template override, launching the highest priority first. If all your
505
- * On-Demand capacity cannot be fulfilled using your highest priority instance, then
506
- * Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so
507
- * on.</p>
508
- * <p>Default: <code>lowest-price</code> for Auto Scaling groups that specify <a>InstanceRequirements</a> in the overrides and <code>prioritized</code> for
509
- * Auto Scaling groups that don't.</p>
510
- * <p>Valid values: <code>lowest-price</code> | <code>prioritized</code>
511
- * </p>
502
+ * <p>The allocation strategy to apply to your On-Demand Instances when they are launched.
503
+ * Possible instance types are determined by the launch template overrides that you
504
+ * specify.</p>
505
+ * <p>The following lists the valid values:</p>
506
+ * <dl>
507
+ * <dt>lowest-price</dt>
508
+ * <dd>
509
+ * <p>Uses price to determine which instance types are the highest priority,
510
+ * launching the lowest priced instance types within an Availability Zone
511
+ * first. This is the default value for Auto Scaling groups that specify <a>InstanceRequirements</a>. </p>
512
+ * </dd>
513
+ * <dt>prioritized</dt>
514
+ * <dd>
515
+ * <p>You set the order of instance types for the launch template overrides from
516
+ * highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling
517
+ * launches your highest priority instance types first. If all your On-Demand
518
+ * capacity cannot be fulfilled using your highest priority instance type, then
519
+ * Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance
520
+ * type, and so on. This is the default value for Auto Scaling groups that don't
521
+ * specify <a>InstanceRequirements</a> and cannot be used for groups
522
+ * that do.</p>
523
+ * </dd>
524
+ * </dl>
512
525
  */
513
526
  OnDemandAllocationStrategy?: string;
514
527
  /**
515
528
  * <p>The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand
516
529
  * Instances. This base portion is launched first as your group scales.</p>
517
- * <p>If you specify weights for the instance types in the overrides, the base capacity is
518
- * measured in the same unit of measurement as the instance types. If you specify <a>InstanceRequirements</a> in the overrides, the base capacity is measured in
519
- * the same unit of measurement as your group's desired capacity.</p>
520
- * <p>Default: <code>0</code>
521
- * </p>
530
+ * <p>This number has the same unit of measurement as the group's desired capacity. If you
531
+ * change the default unit of measurement (number of instances) by specifying weighted
532
+ * capacity values in your launch template overrides list, or by changing the default
533
+ * desired capacity type setting of the group, you must specify this number using the same
534
+ * unit of measurement.</p>
535
+ * <p>Default: 0</p>
522
536
  */
523
537
  OnDemandBaseCapacity?: number;
524
538
  /**
@@ -526,46 +540,71 @@ export interface InstancesDistribution {
526
540
  * capacity beyond <code>OnDemandBaseCapacity</code>. Expressed as a number (for example,
527
541
  * 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand
528
542
  * Instances are used.</p>
529
- * <p>Default: <code>100</code>
530
- * </p>
543
+ * <p>Default: 100</p>
531
544
  */
532
545
  OnDemandPercentageAboveBaseCapacity?: number;
533
546
  /**
534
- * <p>Indicates how to allocate instances across Spot Instance pools. </p>
535
- * <p>If the allocation strategy is <code>lowest-price</code>, the Auto Scaling group launches
536
- * instances using the Spot pools with the lowest price, and evenly allocates your
537
- * instances across the number of Spot pools that you specify. </p>
538
- * <p>If the allocation strategy is <code>capacity-optimized</code> (recommended), the Auto Scaling
539
- * group launches instances using Spot pools that are optimally chosen based on the
540
- * available Spot capacity. Alternatively, you can use
541
- * <code>capacity-optimized-prioritized</code> and set the order of instance types in
542
- * the list of launch template overrides from highest to lowest priority (from first to
543
- * last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis
544
- * but optimizes for capacity first. </p>
545
- * <p>Default: <code>lowest-price</code>
546
- * </p>
547
- * <p>Valid values: <code>lowest-price</code> | <code>capacity-optimized</code> |
548
- * <code>capacity-optimized-prioritized</code>
549
- * </p>
547
+ * <p>The allocation strategy to apply to your Spot Instances when they are launched.
548
+ * Possible instance types are determined by the launch template overrides that you
549
+ * specify.</p>
550
+ * <p>The following lists the valid values:</p>
551
+ * <dl>
552
+ * <dt>capacity-optimized</dt>
553
+ * <dd>
554
+ * <p>Requests Spot Instances using pools that are optimally chosen based on the
555
+ * available Spot capacity. This strategy has the lowest risk of interruption.
556
+ * To give certain instance types a higher chance of launching first, use
557
+ * <code>capacity-optimized-prioritized</code>.</p>
558
+ * </dd>
559
+ * <dt>capacity-optimized-prioritized</dt>
560
+ * <dd>
561
+ * <p>You set the order of instance types for the launch template overrides from
562
+ * highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling honors
563
+ * the instance type priorities on a best effort basis but optimizes for
564
+ * capacity first. Note that if the On-Demand allocation strategy is set to
565
+ * <code>prioritized</code>, the same priority is applied when fulfilling
566
+ * On-Demand capacity. This is not a valid value for Auto Scaling groups that specify
567
+ * <a>InstanceRequirements</a>.</p>
568
+ * </dd>
569
+ * <dt>lowest-price</dt>
570
+ * <dd>
571
+ * <p>Requests Spot Instances using the lowest priced pools within an
572
+ * Availability Zone, across the number of Spot pools that you specify for the
573
+ * <code>SpotInstancePools</code> property. To ensure that your desired
574
+ * capacity is met, you might receive Spot Instances from several pools. This
575
+ * is the default value, but it might lead to high interruption rates because
576
+ * this strategy only considers instance price and not available
577
+ * capacity.</p>
578
+ * </dd>
579
+ * <dt>price-capacity-optimized (recommended)</dt>
580
+ * <dd>
581
+ * <p>Amazon EC2 Auto Scaling identifies the pools with the highest capacity availability for
582
+ * the number of instances that are launching. This means that we will request
583
+ * Spot Instances from the pools that we believe have the lowest chance of
584
+ * interruption in the near term. Amazon EC2 Auto Scaling then requests Spot Instances from
585
+ * the lowest priced of these pools.</p>
586
+ * </dd>
587
+ * </dl>
550
588
  */
551
589
  SpotAllocationStrategy?: string;
552
590
  /**
553
591
  * <p>The number of Spot Instance pools across which to allocate your Spot Instances. The
554
592
  * Spot pools are determined from the different instance types in the overrides. Valid only
555
- * when the Spot allocation strategy is <code>lowest-price</code>. Value must be in the
556
- * range of 1–20.</p>
557
- * <p>Default: <code>2</code>
558
- * </p>
593
+ * when the <code>SpotAllocationStrategy</code> is <code>lowest-price</code>. Value must be
594
+ * in the range of 1–20.</p>
595
+ * <p>Default: 2</p>
559
596
  */
560
597
  SpotInstancePools?: number;
561
598
  /**
562
599
  * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. If
563
- * you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as
564
- * the maximum Spot price. To remove a value that you previously set, include the property
565
- * but specify an empty string ("") for the value.</p>
600
+ * your maximum price is lower than the Spot price for the instance types that you
601
+ * selected, your Spot Instances are not launched. We do not recommend specifying a maximum
602
+ * price because it can lead to increased interruptions. When Spot Instances launch, you
603
+ * pay the current Spot price. To remove a maximum price that you previously set, include
604
+ * the property but specify an empty string ("") for the value.</p>
566
605
  * <important>
567
- * <p>If your maximum price is lower than the Spot price for the instance types that you
568
- * selected, your Spot Instances are not launched.</p>
606
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently
607
+ * than if you do not specify one.</p>
569
608
  * </important>
570
609
  * <p>Valid Range: Minimum value of 0.001</p>
571
610
  */
@@ -641,6 +680,27 @@ export interface MemoryMiBRequest {
641
680
  */
642
681
  Max?: number;
643
682
  }
683
+ /**
684
+ * <p>Specifies the minimum and maximum for the <code>NetworkBandwidthGbps</code> object
685
+ * when you specify <a>InstanceRequirements</a> for an Auto Scaling group.</p>
686
+ * <note>
687
+ * <p>Setting the minimum bandwidth does not guarantee that your instance will achieve
688
+ * the minimum bandwidth. Amazon EC2 will identify instance types that support the specified
689
+ * minimum bandwidth, but the actual bandwidth of your instance might go below the
690
+ * specified minimum at times. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth">Available instance bandwidth</a> in the
691
+ * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
692
+ * </note>
693
+ */
694
+ export interface NetworkBandwidthGbpsRequest {
695
+ /**
696
+ * <p>The minimum amount of network bandwidth, in gigabits per second (Gbps).</p>
697
+ */
698
+ Min?: number;
699
+ /**
700
+ * <p>The maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
701
+ */
702
+ Max?: number;
703
+ }
644
704
  /**
645
705
  * <p>Specifies the minimum and maximum for the <code>NetworkInterfaceCount</code> object
646
706
  * when you specify <a>InstanceRequirements</a> for an Auto Scaling group.</p>
@@ -684,16 +744,38 @@ export interface VCpuCountRequest {
684
744
  Max?: number;
685
745
  }
686
746
  /**
687
- * <p>When you specify multiple parameters, you get instance types that satisfy all of the
688
- * specified parameters. If you specify multiple values for a parameter, you get instance
747
+ * <p>The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your
748
+ * specified requirements to identify instance types. Then, it uses your On-Demand and Spot
749
+ * allocation strategies to launch instances from these instance types.</p>
750
+ * <p>When you specify multiple attributes, you get instance types that satisfy all of the
751
+ * specified attributes. If you specify multiple values for an attribute, you get instance
689
752
  * types that satisfy any of the specified values.</p>
690
- *
691
- *
692
- * <p>Represents requirements for the types of instances that can be launched. You
693
- * must specify <code>VCpuCount</code> and <code>MemoryMiB</code>, but all other parameters
694
- * are optional. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html">Creating
753
+ * <p>To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance
754
+ * types, you can use one of the following parameters, but not both in the same
755
+ * request:</p>
756
+ * <ul>
757
+ * <li>
758
+ * <p>
759
+ * <code>AllowedInstanceTypes</code> - The instance types to include in the list.
760
+ * All other instance types are ignored, even if they match your specified
761
+ * attributes.</p>
762
+ * </li>
763
+ * <li>
764
+ * <p>
765
+ * <code>ExcludedInstanceTypes</code> - The instance types to exclude from the
766
+ * list, even if they match your specified attributes.</p>
767
+ * </li>
768
+ * </ul>
769
+ * <note>
770
+ * <p>You must specify <code>VCpuCount</code> and <code>MemoryMiB</code>. All other
771
+ * attributes are optional. Any unspecified optional attribute is set to its
772
+ * default.</p>
773
+ * </note>
774
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html">Creating
695
775
  * an Auto Scaling group using attribute-based instance type selection</a> in the
696
- * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
776
+ * <i>Amazon EC2 Auto Scaling User Guide</i>. For help determining which instance types match
777
+ * your attributes before you apply them to your Auto Scaling group, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements">Preview instance types with specified attributes</a> in the
778
+ * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
697
779
  */
698
780
  export interface InstanceRequirements {
699
781
  /**
@@ -728,17 +810,22 @@ export interface InstanceRequirements {
728
810
  CpuManufacturers?: (CpuManufacturer | string)[];
729
811
  /**
730
812
  * <p>The minimum and maximum amount of memory per vCPU for an instance type, in GiB.</p>
731
- * <p>Default: No minimum or maximum</p>
813
+ * <p>Default: No minimum or maximum limits</p>
732
814
  */
733
815
  MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest;
734
816
  /**
735
- * <p>Lists which instance types to exclude. You can use strings with one or more wild
736
- * cards, represented by an asterisk (<code>*</code>). The following are examples:
737
- * <code>c5*</code>, <code>m5a.*</code>, <code>r*</code>, <code>*3*</code>. </p>
817
+ * <p>The instance types to exclude. You can use strings with one or more wild cards,
818
+ * represented by an asterisk (<code>*</code>), to exclude an instance family, type, size,
819
+ * or generation. The following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>,
820
+ * <code>m5a.*</code>, <code>r*</code>, <code>*3*</code>. </p>
738
821
  * <p>For example, if you specify <code>c5*</code>, you are excluding the entire C5 instance
739
822
  * family, which includes all C5a and C5n instance types. If you specify
740
- * <code>m5a.*</code>, you are excluding all the M5a instance types, but not the M5n
823
+ * <code>m5a.*</code>, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n
741
824
  * instance types.</p>
825
+ * <note>
826
+ * <p>If you specify <code>ExcludedInstanceTypes</code>, you can't specify
827
+ * <code>AllowedInstanceTypes</code>.</p>
828
+ * </note>
742
829
  * <p>Default: No excluded instance types</p>
743
830
  */
744
831
  ExcludedInstanceTypes?: string[];
@@ -799,8 +886,7 @@ export interface InstanceRequirements {
799
886
  /**
800
887
  * <p>Indicates whether burstable performance instance types are included, excluded, or
801
888
  * required. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
802
- * performance instances</a> in the <i>Amazon EC2 User Guide for Linux
803
- * Instances</i>.</p>
889
+ * performance instances</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
804
890
  * <p>Default: <code>excluded</code>
805
891
  * </p>
806
892
  */
@@ -814,7 +900,7 @@ export interface InstanceRequirements {
814
900
  RequireHibernateSupport?: boolean;
815
901
  /**
816
902
  * <p>The minimum and maximum number of network interfaces for an instance type.</p>
817
- * <p>Default: No minimum or maximum</p>
903
+ * <p>Default: No minimum or maximum limits</p>
818
904
  */
819
905
  NetworkInterfaceCount?: NetworkInterfaceCountRequest;
820
906
  /**
@@ -842,14 +928,14 @@ export interface InstanceRequirements {
842
928
  LocalStorageTypes?: (LocalStorageType | string)[];
843
929
  /**
844
930
  * <p>The minimum and maximum total local storage size for an instance type, in GB.</p>
845
- * <p>Default: No minimum or maximum</p>
931
+ * <p>Default: No minimum or maximum limits</p>
846
932
  */
847
933
  TotalLocalStorageGB?: TotalLocalStorageGBRequest;
848
934
  /**
849
935
  * <p>The minimum and maximum baseline bandwidth performance for an instance type, in Mbps.
850
936
  * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html">Amazon EBS–optimized instances</a>
851
937
  * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
852
- * <p>Default: No minimum or maximum</p>
938
+ * <p>Default: No minimum or maximum limits</p>
853
939
  */
854
940
  BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest;
855
941
  /**
@@ -874,7 +960,7 @@ export interface InstanceRequirements {
874
960
  * chips) for an instance type.</p>
875
961
  * <p>To exclude accelerator-enabled instance types, set <code>Max</code> to
876
962
  * <code>0</code>.</p>
877
- * <p>Default: No minimum or maximum</p>
963
+ * <p>Default: No minimum or maximum limits</p>
878
964
  */
879
965
  AcceleratorCount?: AcceleratorCountRequest;
880
966
  /**
@@ -930,71 +1016,132 @@ export interface InstanceRequirements {
930
1016
  /**
931
1017
  * <p>The minimum and maximum total memory size for the accelerators on an instance type, in
932
1018
  * MiB.</p>
933
- * <p>Default: No minimum or maximum</p>
1019
+ * <p>Default: No minimum or maximum limits</p>
934
1020
  */
935
1021
  AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest;
1022
+ /**
1023
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second
1024
+ * (Gbps).</p>
1025
+ * <p>Default: No minimum or maximum limits</p>
1026
+ */
1027
+ NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest;
1028
+ /**
1029
+ * <p>The instance types to apply your specified attributes against. All other instance
1030
+ * types are ignored, even if they match your specified attributes.</p>
1031
+ * <p>You can use strings with one or more wild cards, represented by an asterisk
1032
+ * (<code>*</code>), to allow an instance type, size, or generation. The following are
1033
+ * examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
1034
+ * <code>r*</code>, <code>*3*</code>.</p>
1035
+ * <p>For example, if you specify <code>c5*</code>, Amazon EC2 Auto Scaling will allow the entire C5
1036
+ * instance family, which includes all C5a and C5n instance types. If you specify
1037
+ * <code>m5a.*</code>, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n
1038
+ * instance types.</p>
1039
+ * <note>
1040
+ * <p>If you specify <code>AllowedInstanceTypes</code>, you can't specify
1041
+ * <code>ExcludedInstanceTypes</code>.</p>
1042
+ * </note>
1043
+ * <p>Default: All instance types</p>
1044
+ */
1045
+ AllowedInstanceTypes?: string[];
936
1046
  }
937
1047
  /**
938
- * <p>Describes an override for a launch template. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-configuring-overrides.html">Configuring overrides</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>. </p>
1048
+ * <p>Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed
1049
+ * instances policy:</p>
1050
+ * <ul>
1051
+ * <li>
1052
+ * <p>Override the instance type that is specified in the launch template.</p>
1053
+ * </li>
1054
+ * <li>
1055
+ * <p>Use multiple instance types.</p>
1056
+ * </li>
1057
+ * </ul>
1058
+ * <p>Specify the instance types that you want, or define your instance requirements instead
1059
+ * and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements.
1060
+ * This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when
1061
+ * fulfilling Spot and On-Demand capacities. You can view which instance types are matched
1062
+ * before you apply the instance requirements to your Auto Scaling group.</p>
1063
+ * <p>After you define your instance requirements, you don't have to keep updating these
1064
+ * settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance
1065
+ * requirements of the Auto Scaling group to determine whether a new EC2 instance type can be
1066
+ * used.</p>
939
1067
  */
940
1068
  export interface LaunchTemplateOverrides {
941
1069
  /**
942
- * <p>The instance type, such as <code>m3.xlarge</code>. You must use an instance type that
943
- * is supported in your requested Region and Availability Zones. For more information, see
944
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance types</a> in the <i>Amazon Elastic Compute Cloud User
1070
+ * <p>The instance type, such as <code>m3.xlarge</code>. You must specify an instance type
1071
+ * that is supported in your requested Region and Availability Zones. For more information,
1072
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance types</a> in the <i>Amazon Elastic Compute Cloud User
945
1073
  * Guide</i>.</p>
1074
+ * <p>You can specify up to 40 instance types per Auto Scaling group.</p>
946
1075
  */
947
1076
  InstanceType?: string;
948
1077
  /**
949
- * <p>The number of capacity units provided by the instance type specified in
950
- * <code>InstanceType</code> in terms of virtual CPUs, memory, storage, throughput, or
951
- * other relative performance characteristic. When a Spot or On-Demand Instance is
952
- * launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches
953
- * instances until the desired capacity is totally fulfilled, even if this results in an
954
- * overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling
955
- * can only launch an instance with a <code>WeightedCapacity</code> of five units, the
956
- * instance is launched, and the desired capacity is exceeded by three units. For more
1078
+ * <p>If you provide a list of instance types to use, you can specify the number of capacity
1079
+ * units provided by each instance type in terms of virtual CPUs, memory, storage,
1080
+ * throughput, or other relative performance characteristic. When a Spot or On-Demand
1081
+ * Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling
1082
+ * launches instances until the desired capacity is totally fulfilled, even if this results
1083
+ * in an overage. For example, if there are two units remaining to fulfill capacity, and
1084
+ * Amazon EC2 Auto Scaling can only launch an instance with a <code>WeightedCapacity</code> of five units,
1085
+ * the instance is launched, and the desired capacity is exceeded by three units. For more
957
1086
  * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html">Configuring instance weighting for Amazon EC2 Auto Scaling</a> in the
958
1087
  * <i>Amazon EC2 Auto Scaling User Guide</i>. Value must be in the range of 1–999.</p>
1088
+ * <p>If you specify a value for <code>WeightedCapacity</code> for one instance type, you
1089
+ * must specify a value for <code>WeightedCapacity</code> for all of them.</p>
1090
+ * <important>
1091
+ * <p>Every Auto Scaling group has three size parameters (<code>DesiredCapacity</code>,
1092
+ * <code>MaxSize</code>, and <code>MinSize</code>). Usually, you set these sizes
1093
+ * based on a specific number of instances. However, if you configure a mixed instances
1094
+ * policy that defines weights for the instance types, you must specify these sizes
1095
+ * with the same units that you use for weighting instances. </p>
1096
+ * </important>
959
1097
  */
960
1098
  WeightedCapacity?: string;
961
1099
  /**
962
- * <p>Provides a launch template for the specified instance type or instance requirements.
963
- * For example, some instance types might require a launch template with a different AMI.
964
- * If not provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed
965
- * instances policy. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html">Specifying a different launch template for an instance type</a> in the
1100
+ * <p>Provides a launch template for the specified instance type or set of instance
1101
+ * requirements. For example, some instance types might require a launch template with a
1102
+ * different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in
1103
+ * the <code>LaunchTemplate</code> definition. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html">Specifying a different launch template for an instance type</a> in the
966
1104
  * <i>Amazon EC2 Auto Scaling User Guide</i>. </p>
1105
+ * <p>You can specify up to 20 launch templates per Auto Scaling group. The launch templates
1106
+ * specified in the overrides and in the <code>LaunchTemplate</code> definition count
1107
+ * towards this limit.</p>
967
1108
  */
968
1109
  LaunchTemplateSpecification?: LaunchTemplateSpecification;
969
1110
  /**
970
- * <p>The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds
971
- * instance types that satisfy your requirements, and then uses your On-Demand and Spot
972
- * allocation strategies to launch instances from these instance types, in the same way as
973
- * when you specify a list of specific instance types. </p>
1111
+ * <p>The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify
1112
+ * instance types. Then, it uses your On-Demand and Spot allocation strategies to launch
1113
+ * instances from these instance types.</p>
1114
+ * <p>You can specify up to four separate sets of instance requirements per Auto Scaling group. This
1115
+ * is useful for provisioning instances from different Amazon Machine Images (AMIs) in the
1116
+ * same Auto Scaling group. To do this, create the AMIs and create a new launch template for each
1117
+ * AMI. Then, create a compatible set of instance requirements for each launch template.
1118
+ * </p>
1119
+ * <note>
1120
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
1121
+ * <code>InstanceType</code>.</p>
1122
+ * </note>
974
1123
  */
975
1124
  InstanceRequirements?: InstanceRequirements;
976
1125
  }
977
1126
  /**
978
- * <p>Describes a launch template and overrides. You specify these properties as part of a
979
- * mixed instances policy. </p>
1127
+ * <p>Use this structure to specify the launch templates and instance types (overrides) for
1128
+ * a mixed instances policy.</p>
980
1129
  */
981
1130
  export interface LaunchTemplate {
982
1131
  /**
983
- * <p>The launch template to use.</p>
1132
+ * <p>The launch template.</p>
984
1133
  */
985
1134
  LaunchTemplateSpecification?: LaunchTemplateSpecification;
986
1135
  /**
987
- * <p>Any properties that you specify override the same properties in the launch template.
988
- * If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified
989
- * in the launch template when it launches an instance.</p>
990
- * <p>The overrides can include either one or more instance types or a set of instance
991
- * requirements, but not both.</p>
1136
+ * <p>Any properties that you specify override the same properties in the launch
1137
+ * template.</p>
992
1138
  */
993
1139
  Overrides?: LaunchTemplateOverrides[];
994
1140
  }
995
1141
  /**
996
- * <p>Describes a mixed instances policy. A mixed instances policy contains the instance
997
- * types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch
1142
+ * <p>Use this structure to launch multiple instance types and On-Demand Instances and Spot
1143
+ * Instances within a single Auto Scaling group.</p>
1144
+ * <p>A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch
998
1145
  * instances and help optimize your costs. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
999
1146
  * groups with multiple instance types and purchase options</a> in the
1000
1147
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
@@ -1040,6 +1187,11 @@ export interface Tag {
1040
1187
  export interface CreateAutoScalingGroupType {
1041
1188
  /**
1042
1189
  * <p>The name of the Auto Scaling group. This name must be unique per Region per account.</p>
1190
+ * <p>The name can contain any ASCII character 33 to 126 including most punctuation
1191
+ * characters, digits, and upper and lowercased letters.</p>
1192
+ * <note>
1193
+ * <p>You cannot use a colon (:) in the name.</p>
1194
+ * </note>
1043
1195
  */
1044
1196
  AutoScalingGroupName: string | undefined;
1045
1197
  /**
@@ -1064,11 +1216,7 @@ export interface CreateAutoScalingGroupType {
1064
1216
  */
1065
1217
  LaunchTemplate?: LaunchTemplateSpecification;
1066
1218
  /**
1067
- * <p>An embedded object that specifies a mixed instances policy.</p>
1068
- *
1069
- *
1070
- *
1071
- * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
1219
+ * <p>The mixed instances policy. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
1072
1220
  * groups with multiple instance types and purchase options</a> in the
1073
1221
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
1074
1222
  */
@@ -1147,8 +1295,9 @@ export interface CreateAutoScalingGroupType {
1147
1295
  * of an EC2 instance that has come into service and marking it unhealthy due to a failed
1148
1296
  * Elastic Load Balancing or custom health check. This is useful if your instances do not immediately pass
1149
1297
  * these health checks after they enter the <code>InService</code> state. For more
1150
- * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period">Health
1151
- * check grace period</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
1298
+ * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/health-check-grace-period.html">Set the health check
1299
+ * grace period for an Auto Scaling group</a> in the
1300
+ * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
1152
1301
  * <p>Default: <code>0</code> seconds</p>
1153
1302
  */
1154
1303
  HealthCheckGracePeriod?: number;
@@ -1482,24 +1631,11 @@ export interface CreateLaunchConfigurationType {
1482
1631
  */
1483
1632
  SecurityGroups?: string[];
1484
1633
  /**
1485
- * <p>
1486
- * <i>EC2-Classic retires on August 15, 2022. This property is not supported after
1487
- * that date.</i>
1488
- * </p>
1489
- * <p>The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more
1490
- * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a> in the
1491
- * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
1634
+ * <p>Available for backward compatibility.</p>
1492
1635
  */
1493
1636
  ClassicLinkVPCId?: string;
1494
1637
  /**
1495
- * <p>
1496
- * <i>EC2-Classic retires on August 15, 2022. This property is not supported after
1497
- * that date.</i>
1498
- * </p>
1499
- * <p>The IDs of one or more security groups for the specified ClassicLink-enabled
1500
- * VPC.</p>
1501
- * <p>If you specify the <code>ClassicLinkVPCId</code> property, you must specify
1502
- * <code>ClassicLinkVPCSecurityGroups</code>.</p>
1638
+ * <p>Available for backward compatibility.</p>
1503
1639
  */
1504
1640
  ClassicLinkVPCSecurityGroups?: string[];
1505
1641
  /**
@@ -2432,8 +2568,9 @@ export interface DesiredConfiguration {
2432
2568
  */
2433
2569
  LaunchTemplate?: LaunchTemplateSpecification;
2434
2570
  /**
2435
- * <p>Describes a mixed instances policy. A mixed instances policy contains the instance
2436
- * types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch
2571
+ * <p>Use this structure to launch multiple instance types and On-Demand Instances and Spot
2572
+ * Instances within a single Auto Scaling group.</p>
2573
+ * <p>A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch
2437
2574
  * instances and help optimize your costs. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
2438
2575
  * groups with multiple instance types and purchase options</a> in the
2439
2576
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
@@ -2720,20 +2857,11 @@ export interface LaunchConfiguration {
2720
2857
  */
2721
2858
  SecurityGroups?: string[];
2722
2859
  /**
2723
- * <p>
2724
- * <i>EC2-Classic retires on August 15, 2022. This property is not supported after
2725
- * that date.</i>
2726
- * </p>
2727
- * <p>The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.</p>
2860
+ * <p>Available for backward compatibility.</p>
2728
2861
  */
2729
2862
  ClassicLinkVPCId?: string;
2730
2863
  /**
2731
- * <p>
2732
- * <i>EC2-Classic retires on August 15, 2022. This property is not supported after
2733
- * that date.</i>
2734
- * </p>
2735
- * <p>The IDs of one or more security groups for the VPC specified in
2736
- * <code>ClassicLinkVPCId</code>.</p>
2864
+ * <p>Available for backward compatibility.</p>
2737
2865
  */
2738
2866
  ClassicLinkVPCSecurityGroups?: string[];
2739
2867
  /**
@@ -5340,8 +5468,7 @@ export interface UpdateAutoScalingGroupType {
5340
5468
  */
5341
5469
  LaunchTemplate?: LaunchTemplateSpecification;
5342
5470
  /**
5343
- * <p>An embedded object that specifies a mixed instances policy. For more information, see
5344
- * <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
5471
+ * <p>The mixed instances policy. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
5345
5472
  * groups with multiple instance types and purchase options</a> in the
5346
5473
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
5347
5474
  */
@@ -5393,8 +5520,9 @@ export interface UpdateAutoScalingGroupType {
5393
5520
  * of an EC2 instance that has come into service and marking it unhealthy due to a failed
5394
5521
  * Elastic Load Balancing or custom health check. This is useful if your instances do not immediately pass
5395
5522
  * these health checks after they enter the <code>InService</code> state. For more
5396
- * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period">Health
5397
- * check grace period</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
5523
+ * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/health-check-grace-period.html">Set the health check
5524
+ * grace period for an Auto Scaling group</a> in the
5525
+ * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
5398
5526
  */
5399
5527
  HealthCheckGracePeriod?: number;
5400
5528
  /**
@@ -5604,6 +5732,10 @@ export declare const MemoryGiBPerVCpuRequestFilterSensitiveLog: (obj: MemoryGiBP
5604
5732
  * @internal
5605
5733
  */
5606
5734
  export declare const MemoryMiBRequestFilterSensitiveLog: (obj: MemoryMiBRequest) => any;
5735
+ /**
5736
+ * @internal
5737
+ */
5738
+ export declare const NetworkBandwidthGbpsRequestFilterSensitiveLog: (obj: NetworkBandwidthGbpsRequest) => any;
5607
5739
  /**
5608
5740
  * @internal
5609
5741
  */
@@ -223,6 +223,10 @@ export interface MemoryMiBRequest {
223
223
  Min: number | undefined;
224
224
  Max?: number;
225
225
  }
226
+ export interface NetworkBandwidthGbpsRequest {
227
+ Min?: number;
228
+ Max?: number;
229
+ }
226
230
  export interface NetworkInterfaceCountRequest {
227
231
  Min?: number;
228
232
  Max?: number;
@@ -257,6 +261,8 @@ export interface InstanceRequirements {
257
261
  AcceleratorManufacturers?: (AcceleratorManufacturer | string)[];
258
262
  AcceleratorNames?: (AcceleratorName | string)[];
259
263
  AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest;
264
+ NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest;
265
+ AllowedInstanceTypes?: string[];
260
266
  }
261
267
  export interface LaunchTemplateOverrides {
262
268
  InstanceType?: string;
@@ -1204,6 +1210,9 @@ export declare const MemoryGiBPerVCpuRequestFilterSensitiveLog: (
1204
1210
  export declare const MemoryMiBRequestFilterSensitiveLog: (
1205
1211
  obj: MemoryMiBRequest
1206
1212
  ) => any;
1213
+ export declare const NetworkBandwidthGbpsRequestFilterSensitiveLog: (
1214
+ obj: NetworkBandwidthGbpsRequest
1215
+ ) => any;
1207
1216
  export declare const NetworkInterfaceCountRequestFilterSensitiveLog: (
1208
1217
  obj: NetworkInterfaceCountRequest
1209
1218
  ) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-auto-scaling",
3
3
  "description": "AWS SDK for JavaScript Auto Scaling Client for Node.js, Browser and React Native",
4
- "version": "3.204.0",
4
+ "version": "3.208.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -19,48 +19,48 @@
19
19
  "dependencies": {
20
20
  "@aws-crypto/sha256-browser": "2.0.0",
21
21
  "@aws-crypto/sha256-js": "2.0.0",
22
- "@aws-sdk/client-sts": "3.204.0",
23
- "@aws-sdk/config-resolver": "3.201.0",
24
- "@aws-sdk/credential-provider-node": "3.204.0",
25
- "@aws-sdk/fetch-http-handler": "3.204.0",
26
- "@aws-sdk/hash-node": "3.201.0",
27
- "@aws-sdk/invalid-dependency": "3.201.0",
28
- "@aws-sdk/middleware-content-length": "3.201.0",
29
- "@aws-sdk/middleware-endpoint": "3.201.0",
30
- "@aws-sdk/middleware-host-header": "3.201.0",
31
- "@aws-sdk/middleware-logger": "3.201.0",
32
- "@aws-sdk/middleware-recursion-detection": "3.201.0",
33
- "@aws-sdk/middleware-retry": "3.201.0",
34
- "@aws-sdk/middleware-serde": "3.201.0",
35
- "@aws-sdk/middleware-signing": "3.201.0",
36
- "@aws-sdk/middleware-stack": "3.201.0",
37
- "@aws-sdk/middleware-user-agent": "3.201.0",
38
- "@aws-sdk/node-config-provider": "3.201.0",
39
- "@aws-sdk/node-http-handler": "3.201.0",
40
- "@aws-sdk/protocol-http": "3.201.0",
41
- "@aws-sdk/smithy-client": "3.201.0",
42
- "@aws-sdk/types": "3.201.0",
43
- "@aws-sdk/url-parser": "3.201.0",
44
- "@aws-sdk/util-base64": "3.202.0",
45
- "@aws-sdk/util-base64-browser": "3.188.0",
46
- "@aws-sdk/util-base64-node": "3.201.0",
22
+ "@aws-sdk/client-sts": "3.208.0",
23
+ "@aws-sdk/config-resolver": "3.208.0",
24
+ "@aws-sdk/credential-provider-node": "3.208.0",
25
+ "@aws-sdk/fetch-http-handler": "3.208.0",
26
+ "@aws-sdk/hash-node": "3.208.0",
27
+ "@aws-sdk/invalid-dependency": "3.208.0",
28
+ "@aws-sdk/middleware-content-length": "3.208.0",
29
+ "@aws-sdk/middleware-endpoint": "3.208.0",
30
+ "@aws-sdk/middleware-host-header": "3.208.0",
31
+ "@aws-sdk/middleware-logger": "3.208.0",
32
+ "@aws-sdk/middleware-recursion-detection": "3.208.0",
33
+ "@aws-sdk/middleware-retry": "3.208.0",
34
+ "@aws-sdk/middleware-serde": "3.208.0",
35
+ "@aws-sdk/middleware-signing": "3.208.0",
36
+ "@aws-sdk/middleware-stack": "3.208.0",
37
+ "@aws-sdk/middleware-user-agent": "3.208.0",
38
+ "@aws-sdk/node-config-provider": "3.208.0",
39
+ "@aws-sdk/node-http-handler": "3.208.0",
40
+ "@aws-sdk/protocol-http": "3.208.0",
41
+ "@aws-sdk/smithy-client": "3.208.0",
42
+ "@aws-sdk/types": "3.208.0",
43
+ "@aws-sdk/url-parser": "3.208.0",
44
+ "@aws-sdk/util-base64": "3.208.0",
45
+ "@aws-sdk/util-base64-browser": "3.208.0",
46
+ "@aws-sdk/util-base64-node": "3.208.0",
47
47
  "@aws-sdk/util-body-length-browser": "3.188.0",
48
- "@aws-sdk/util-body-length-node": "3.201.0",
49
- "@aws-sdk/util-defaults-mode-browser": "3.201.0",
50
- "@aws-sdk/util-defaults-mode-node": "3.201.0",
51
- "@aws-sdk/util-endpoints": "3.202.0",
52
- "@aws-sdk/util-user-agent-browser": "3.201.0",
53
- "@aws-sdk/util-user-agent-node": "3.201.0",
48
+ "@aws-sdk/util-body-length-node": "3.208.0",
49
+ "@aws-sdk/util-defaults-mode-browser": "3.208.0",
50
+ "@aws-sdk/util-defaults-mode-node": "3.208.0",
51
+ "@aws-sdk/util-endpoints": "3.208.0",
52
+ "@aws-sdk/util-user-agent-browser": "3.208.0",
53
+ "@aws-sdk/util-user-agent-node": "3.208.0",
54
54
  "@aws-sdk/util-utf8-browser": "3.188.0",
55
- "@aws-sdk/util-utf8-node": "3.201.0",
56
- "@aws-sdk/util-waiter": "3.201.0",
55
+ "@aws-sdk/util-utf8-node": "3.208.0",
56
+ "@aws-sdk/util-waiter": "3.208.0",
57
57
  "fast-xml-parser": "4.0.11",
58
58
  "tslib": "^2.3.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@aws-sdk/service-client-documentation-generator": "3.188.0",
61
+ "@aws-sdk/service-client-documentation-generator": "3.208.0",
62
62
  "@tsconfig/node14": "1.0.3",
63
- "@types/node": "^12.7.5",
63
+ "@types/node": "^14.14.31",
64
64
  "concurrently": "7.0.0",
65
65
  "downlevel-dts": "0.10.1",
66
66
  "rimraf": "3.0.2",