aws-sdk-autoscaling 1.68.0 → 1.72.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.
@@ -10,6 +10,63 @@
10
10
  module Aws::AutoScaling
11
11
  module Types
12
12
 
13
+ # Specifies the minimum and maximum for the `AcceleratorCount` object
14
+ # when you specify InstanceRequirements for an Auto Scaling group.
15
+ #
16
+ # @note When making an API call, you may pass AcceleratorCountRequest
17
+ # data as a hash:
18
+ #
19
+ # {
20
+ # min: 1,
21
+ # max: 1,
22
+ # }
23
+ #
24
+ # @!attribute [rw] min
25
+ # The minimum value.
26
+ # @return [Integer]
27
+ #
28
+ # @!attribute [rw] max
29
+ # The maximum value.
30
+ # @return [Integer]
31
+ #
32
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AcceleratorCountRequest AWS API Documentation
33
+ #
34
+ class AcceleratorCountRequest < Struct.new(
35
+ :min,
36
+ :max)
37
+ SENSITIVE = []
38
+ include Aws::Structure
39
+ end
40
+
41
+ # Specifies the minimum and maximum for the `AcceleratorTotalMemoryMiB`
42
+ # object when you specify InstanceRequirements for an Auto Scaling
43
+ # group.
44
+ #
45
+ # @note When making an API call, you may pass AcceleratorTotalMemoryMiBRequest
46
+ # data as a hash:
47
+ #
48
+ # {
49
+ # min: 1,
50
+ # max: 1,
51
+ # }
52
+ #
53
+ # @!attribute [rw] min
54
+ # The memory minimum in MiB.
55
+ # @return [Integer]
56
+ #
57
+ # @!attribute [rw] max
58
+ # The memory maximum in MiB.
59
+ # @return [Integer]
60
+ #
61
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AcceleratorTotalMemoryMiBRequest AWS API Documentation
62
+ #
63
+ class AcceleratorTotalMemoryMiBRequest < Struct.new(
64
+ :min,
65
+ :max)
66
+ SENSITIVE = []
67
+ include Aws::Structure
68
+ end
69
+
13
70
  # The request failed because an active instance refresh for the
14
71
  # specified Auto Scaling group was not found.
15
72
  #
@@ -411,6 +468,23 @@ module Aws::AutoScaling
411
468
  # Reserved.
412
469
  # @return [String]
413
470
  #
471
+ # @!attribute [rw] desired_capacity_type
472
+ # The unit of measurement for the value specified for desired
473
+ # capacity. Amazon EC2 Auto Scaling supports `DesiredCapacityType` for
474
+ # attribute-based instance type selection only. For more information,
475
+ # see [Creating an Auto Scaling group using attribute-based instance
476
+ # type selection][1] in the *Amazon EC2 Auto Scaling User Guide*.
477
+ #
478
+ # By default, Amazon EC2 Auto Scaling specifies `units`, which
479
+ # translates into number of instances.
480
+ #
481
+ # Valid values: `units` \| `vcpu` \| `memory-mib`
482
+ #
483
+ #
484
+ #
485
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
486
+ # @return [String]
487
+ #
414
488
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroup AWS API Documentation
415
489
  #
416
490
  class AutoScalingGroup < Struct.new(
@@ -444,7 +518,8 @@ module Aws::AutoScaling
444
518
  :capacity_rebalance,
445
519
  :warm_pool_configuration,
446
520
  :warm_pool_size,
447
- :context)
521
+ :context,
522
+ :desired_capacity_type)
448
523
  SENSITIVE = []
449
524
  include Aws::Structure
450
525
  end
@@ -456,6 +531,12 @@ module Aws::AutoScaling
456
531
  # auto_scaling_group_names: ["XmlStringMaxLen255"],
457
532
  # next_token: "XmlString",
458
533
  # max_records: 1,
534
+ # filters: [
535
+ # {
536
+ # name: "XmlString",
537
+ # values: ["XmlString"],
538
+ # },
539
+ # ],
459
540
  # }
460
541
  #
461
542
  # @!attribute [rw] auto_scaling_group_names
@@ -476,12 +557,17 @@ module Aws::AutoScaling
476
557
  # value is `50` and the maximum value is `100`.
477
558
  # @return [Integer]
478
559
  #
560
+ # @!attribute [rw] filters
561
+ # One or more filters to limit the results based on specific tags.
562
+ # @return [Array<Types::Filter>]
563
+ #
479
564
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroupNamesType AWS API Documentation
480
565
  #
481
566
  class AutoScalingGroupNamesType < Struct.new(
482
567
  :auto_scaling_group_names,
483
568
  :next_token,
484
- :max_records)
569
+ :max_records,
570
+ :filters)
485
571
  SENSITIVE = []
486
572
  include Aws::Structure
487
573
  end
@@ -611,6 +697,35 @@ module Aws::AutoScaling
611
697
  include Aws::Structure
612
698
  end
613
699
 
700
+ # Specifies the minimum and maximum for the `BaselineEbsBandwidthMbps`
701
+ # object when you specify InstanceRequirements for an Auto Scaling
702
+ # group.
703
+ #
704
+ # @note When making an API call, you may pass BaselineEbsBandwidthMbpsRequest
705
+ # data as a hash:
706
+ #
707
+ # {
708
+ # min: 1,
709
+ # max: 1,
710
+ # }
711
+ #
712
+ # @!attribute [rw] min
713
+ # The minimum value in Mbps.
714
+ # @return [Integer]
715
+ #
716
+ # @!attribute [rw] max
717
+ # The maximum value in Mbps.
718
+ # @return [Integer]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BaselineEbsBandwidthMbpsRequest AWS API Documentation
721
+ #
722
+ class BaselineEbsBandwidthMbpsRequest < Struct.new(
723
+ :min,
724
+ :max)
725
+ SENSITIVE = []
726
+ include Aws::Structure
727
+ end
728
+
614
729
  # @!attribute [rw] failed_scheduled_actions
615
730
  # The names of the scheduled actions that could not be deleted,
616
731
  # including an error message.
@@ -895,6 +1010,53 @@ module Aws::AutoScaling
895
1010
  # launch_template_name: "LaunchTemplateName",
896
1011
  # version: "XmlStringMaxLen255",
897
1012
  # },
1013
+ # instance_requirements: {
1014
+ # v_cpu_count: { # required
1015
+ # min: 1, # required
1016
+ # max: 1,
1017
+ # },
1018
+ # memory_mi_b: { # required
1019
+ # min: 1, # required
1020
+ # max: 1,
1021
+ # },
1022
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
1023
+ # memory_gi_b_per_v_cpu: {
1024
+ # min: 1.0,
1025
+ # max: 1.0,
1026
+ # },
1027
+ # excluded_instance_types: ["ExcludedInstance"],
1028
+ # instance_generations: ["current"], # accepts current, previous
1029
+ # spot_max_price_percentage_over_lowest_price: 1,
1030
+ # on_demand_max_price_percentage_over_lowest_price: 1,
1031
+ # bare_metal: "included", # accepts included, excluded, required
1032
+ # burstable_performance: "included", # accepts included, excluded, required
1033
+ # require_hibernate_support: false,
1034
+ # network_interface_count: {
1035
+ # min: 1,
1036
+ # max: 1,
1037
+ # },
1038
+ # local_storage: "included", # accepts included, excluded, required
1039
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
1040
+ # total_local_storage_gb: {
1041
+ # min: 1.0,
1042
+ # max: 1.0,
1043
+ # },
1044
+ # baseline_ebs_bandwidth_mbps: {
1045
+ # min: 1,
1046
+ # max: 1,
1047
+ # },
1048
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
1049
+ # accelerator_count: {
1050
+ # min: 1,
1051
+ # max: 1,
1052
+ # },
1053
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
1054
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
1055
+ # accelerator_total_memory_mi_b: {
1056
+ # min: 1,
1057
+ # max: 1,
1058
+ # },
1059
+ # },
898
1060
  # },
899
1061
  # ],
900
1062
  # },
@@ -945,6 +1107,7 @@ module Aws::AutoScaling
945
1107
  # service_linked_role_arn: "ResourceName",
946
1108
  # max_instance_lifetime: 1,
947
1109
  # context: "Context",
1110
+ # desired_capacity_type: "XmlStringMaxLen255",
948
1111
  # }
949
1112
  #
950
1113
  # @!attribute [rw] auto_scaling_group_name
@@ -981,20 +1144,11 @@ module Aws::AutoScaling
981
1144
  # @return [Types::LaunchTemplateSpecification]
982
1145
  #
983
1146
  # @!attribute [rw] mixed_instances_policy
984
- # An embedded object that specifies a mixed instances policy. The
985
- # required properties must be specified. If optional properties are
986
- # unspecified, their default values are used.
987
- #
988
- # The policy includes properties that not only define the distribution
989
- # of On-Demand Instances and Spot Instances, the maximum price to pay
990
- # for Spot Instances, and how the Auto Scaling group allocates
991
- # instance types to fulfill On-Demand and Spot capacities, but also
992
- # the properties that specify the instance configuration
993
- # information—the launch template and instance types. The policy can
994
- # also include a weight for each instance type and different launch
995
- # templates for individual instance types. For more information, see
996
- # [Auto Scaling groups with multiple instance types and purchase
997
- # options][1] in the *Amazon EC2 Auto Scaling User Guide*.
1147
+ # An embedded object that specifies a mixed instances policy.
1148
+ #
1149
+ # For more information, see [Auto Scaling groups with multiple
1150
+ # instance types and purchase options][1] in the *Amazon EC2 Auto
1151
+ # Scaling User Guide*.
998
1152
  #
999
1153
  #
1000
1154
  #
@@ -1229,6 +1383,23 @@ module Aws::AutoScaling
1229
1383
  # Reserved.
1230
1384
  # @return [String]
1231
1385
  #
1386
+ # @!attribute [rw] desired_capacity_type
1387
+ # The unit of measurement for the value specified for desired
1388
+ # capacity. Amazon EC2 Auto Scaling supports `DesiredCapacityType` for
1389
+ # attribute-based instance type selection only. For more information,
1390
+ # see [Creating an Auto Scaling group using attribute-based instance
1391
+ # type selection][1] in the *Amazon EC2 Auto Scaling User Guide*.
1392
+ #
1393
+ # By default, Amazon EC2 Auto Scaling specifies `units`, which
1394
+ # translates into number of instances.
1395
+ #
1396
+ # Valid values: `units` \| `vcpu` \| `memory-mib`
1397
+ #
1398
+ #
1399
+ #
1400
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1401
+ # @return [String]
1402
+ #
1232
1403
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroupType AWS API Documentation
1233
1404
  #
1234
1405
  class CreateAutoScalingGroupType < Struct.new(
@@ -1255,7 +1426,8 @@ module Aws::AutoScaling
1255
1426
  :tags,
1256
1427
  :service_linked_role_arn,
1257
1428
  :max_instance_lifetime,
1258
- :context)
1429
+ :context,
1430
+ :desired_capacity_type)
1259
1431
  SENSITIVE = []
1260
1432
  include Aws::Structure
1261
1433
  end
@@ -1506,7 +1678,7 @@ module Aws::AutoScaling
1506
1678
  # with all instance types. Additional fees are incurred when you
1507
1679
  # enable EBS optimization for an instance type that is not
1508
1680
  # EBS-optimized by default. For more information, see [Amazon
1509
- # EBS-Optimized Instances][1] in the *Amazon EC2 User Guide for Linux
1681
+ # EBS-optimized instances][1] in the *Amazon EC2 User Guide for Linux
1510
1682
  # Instances*.
1511
1683
  #
1512
1684
  # The default value is `false`.
@@ -2573,6 +2745,53 @@ module Aws::AutoScaling
2573
2745
  # launch_template_name: "LaunchTemplateName",
2574
2746
  # version: "XmlStringMaxLen255",
2575
2747
  # },
2748
+ # instance_requirements: {
2749
+ # v_cpu_count: { # required
2750
+ # min: 1, # required
2751
+ # max: 1,
2752
+ # },
2753
+ # memory_mi_b: { # required
2754
+ # min: 1, # required
2755
+ # max: 1,
2756
+ # },
2757
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
2758
+ # memory_gi_b_per_v_cpu: {
2759
+ # min: 1.0,
2760
+ # max: 1.0,
2761
+ # },
2762
+ # excluded_instance_types: ["ExcludedInstance"],
2763
+ # instance_generations: ["current"], # accepts current, previous
2764
+ # spot_max_price_percentage_over_lowest_price: 1,
2765
+ # on_demand_max_price_percentage_over_lowest_price: 1,
2766
+ # bare_metal: "included", # accepts included, excluded, required
2767
+ # burstable_performance: "included", # accepts included, excluded, required
2768
+ # require_hibernate_support: false,
2769
+ # network_interface_count: {
2770
+ # min: 1,
2771
+ # max: 1,
2772
+ # },
2773
+ # local_storage: "included", # accepts included, excluded, required
2774
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
2775
+ # total_local_storage_gb: {
2776
+ # min: 1.0,
2777
+ # max: 1.0,
2778
+ # },
2779
+ # baseline_ebs_bandwidth_mbps: {
2780
+ # min: 1,
2781
+ # max: 1,
2782
+ # },
2783
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
2784
+ # accelerator_count: {
2785
+ # min: 1,
2786
+ # max: 1,
2787
+ # },
2788
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
2789
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
2790
+ # accelerator_total_memory_mi_b: {
2791
+ # min: 1,
2792
+ # max: 1,
2793
+ # },
2794
+ # },
2576
2795
  # },
2577
2796
  # ],
2578
2797
  # },
@@ -2600,9 +2819,9 @@ module Aws::AutoScaling
2600
2819
  #
2601
2820
  # @!attribute [rw] mixed_instances_policy
2602
2821
  # Describes a mixed instances policy. A mixed instances policy
2603
- # contains the instance types Amazon EC2 Auto Scaling can launch, and
2604
- # other information Amazon EC2 Auto Scaling can use to launch
2605
- # instances to help you optimize your costs. For more information, see
2822
+ # contains the instance types that Amazon EC2 Auto Scaling can launch
2823
+ # and other information that Amazon EC2 Auto Scaling can use to launch
2824
+ # instances and help optimize your costs. For more information, see
2606
2825
  # [Auto Scaling groups with multiple instance types and purchase
2607
2826
  # options][1] in the *Amazon EC2 Auto Scaling User Guide*.
2608
2827
  #
@@ -2832,8 +3051,8 @@ module Aws::AutoScaling
2832
3051
  # @return [Integer]
2833
3052
  #
2834
3053
  # @!attribute [rw] volume_type
2835
- # The volume type. For more information, see [Amazon EBS Volume
2836
- # Types][1] in the *Amazon EC2 User Guide for Linux Instances*.
3054
+ # The volume type. For more information, see [Amazon EBS volume
3055
+ # types][1] in the *Amazon EC2 User Guide for Linux Instances*.
2837
3056
  #
2838
3057
  # Valid Values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1` \|
2839
3058
  # `gp3`
@@ -2878,38 +3097,29 @@ module Aws::AutoScaling
2878
3097
  # @!attribute [rw] encrypted
2879
3098
  # Specifies whether the volume should be encrypted. Encrypted EBS
2880
3099
  # volumes can only be attached to instances that support Amazon EBS
2881
- # encryption. For more information, see [Supported Instance Types][1].
3100
+ # encryption. For more information, see [Supported instance types][1].
2882
3101
  # If your AMI uses encrypted volumes, you can also only launch it on
2883
3102
  # supported instance types.
2884
3103
  #
2885
- # <note markdown="1"> If you are creating a volume from a snapshot, you cannot specify an
2886
- # encryption value. Volumes that are created from encrypted snapshots
2887
- # are automatically encrypted, and volumes that are created from
2888
- # unencrypted snapshots are automatically unencrypted. By default,
2889
- # encrypted snapshots use the Amazon Web Services managed CMK that is
2890
- # used for EBS encryption, but you can specify a custom CMK when you
2891
- # create the snapshot. The ability to encrypt a snapshot during
2892
- # copying also allows you to apply a new CMK to an already-encrypted
2893
- # snapshot. Volumes restored from the resulting copy are only
2894
- # accessible using the new CMK.
2895
- #
2896
- # Enabling [encryption by default][2] results in all EBS volumes being
2897
- # encrypted with the Amazon Web Services managed CMK or a customer
2898
- # managed CMK, whether or not the snapshot was encrypted.
3104
+ # <note markdown="1"> If you are creating a volume from a snapshot, you cannot create an
3105
+ # unencrypted volume from an encrypted snapshot. Also, you cannot
3106
+ # specify a KMS key ID when using a launch configuration.
2899
3107
  #
2900
- # </note>
3108
+ # If you enable encryption by default, the EBS volumes that you create
3109
+ # are always encrypted, either using the Amazon Web Services managed
3110
+ # KMS key or a customer-managed KMS key, regardless of whether the
3111
+ # snapshot was encrypted.
2901
3112
  #
2902
- # For more information, see [Using Encryption with EBS-Backed AMIs][3]
2903
- # in the *Amazon EC2 User Guide for Linux Instances* and [Required CMK
2904
- # key policy for use with encrypted volumes][4] in the *Amazon EC2
2905
- # Auto Scaling User Guide*.
3113
+ # For more information, see [Using Amazon Web Services KMS keys to
3114
+ # encrypt Amazon EBS volumes][2] in the *Amazon EC2 Auto Scaling User
3115
+ # Guide*.
3116
+ #
3117
+ # </note>
2906
3118
  #
2907
3119
  #
2908
3120
  #
2909
3121
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
2910
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
2911
- # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html
2912
- # [4]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html
3122
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-data-protection.html#encryption
2913
3123
  # @return [Boolean]
2914
3124
  #
2915
3125
  # @!attribute [rw] throughput
@@ -3241,7 +3451,11 @@ module Aws::AutoScaling
3241
3451
  end
3242
3452
 
3243
3453
  # Describes a filter that is used to return a more specific list of
3244
- # results when describing tags.
3454
+ # results from a describe operation.
3455
+ #
3456
+ # If you specify multiple filters, the filters are automatically
3457
+ # logically joined with an `AND`, and the request returns only the
3458
+ # results that match all of the specified filters.
3245
3459
  #
3246
3460
  # For more information, see [Tagging Auto Scaling groups and
3247
3461
  # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
@@ -3259,12 +3473,57 @@ module Aws::AutoScaling
3259
3473
  # }
3260
3474
  #
3261
3475
  # @!attribute [rw] name
3262
- # The name of the filter. The valid values are: `auto-scaling-group`,
3263
- # `key`, `value`, and `propagate-at-launch`.
3476
+ # The name of the filter.
3477
+ #
3478
+ # The valid values for `Name` depend on which API operation you're
3479
+ # using with the filter (DescribeAutoScalingGroups or DescribeTags).
3480
+ #
3481
+ # **DescribeAutoScalingGroups**
3482
+ #
3483
+ # Valid values for `Name` include the following:
3484
+ #
3485
+ # * `tag-key` - Accepts tag keys. The results only include information
3486
+ # about the Auto Scaling groups associated with these tag keys.
3487
+ #
3488
+ # * `tag-value` - Accepts tag values. The results only include
3489
+ # information about the Auto Scaling groups associated with these
3490
+ # tag values.
3491
+ #
3492
+ # * `tag:<key>` - Accepts the key/value combination of the tag. Use
3493
+ # the tag key in the filter name and the tag value as the filter
3494
+ # value. The results only include information about the Auto Scaling
3495
+ # groups associated with the specified key/value combination.
3496
+ #
3497
+ # **DescribeTags**
3498
+ #
3499
+ # Valid values for `Name` include the following:
3500
+ #
3501
+ # * `auto-scaling-group` - Accepts the names of Auto Scaling groups.
3502
+ # The results only include information about the tags associated
3503
+ # with these Auto Scaling groups.
3504
+ #
3505
+ # * `key` - Accepts tag keys. The results only include information
3506
+ # about the tags associated with these tag keys.
3507
+ #
3508
+ # * `value` - Accepts tag values. The results only include information
3509
+ # about the tags associated with these tag values.
3510
+ #
3511
+ # * `propagate-at-launch` - Accepts a Boolean value, which specifies
3512
+ # whether tags propagate to instances at launch. The results only
3513
+ # include information about the tags associated with the specified
3514
+ # Boolean value.
3264
3515
  # @return [String]
3265
3516
  #
3266
3517
  # @!attribute [rw] values
3267
3518
  # One or more filter values. Filter values are case-sensitive.
3519
+ #
3520
+ # If you specify multiple values for a filter, the values are
3521
+ # automatically logically joined with an `OR`, and the request returns
3522
+ # all results that match any of the specified values. For example,
3523
+ # specify "tag:environment" for the filter name and
3524
+ # "production,development" for the filter values to find Auto
3525
+ # Scaling groups with the tag "environment=production" or
3526
+ # "environment=development".
3268
3527
  # @return [Array<String>]
3269
3528
  #
3270
3529
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/Filter AWS API Documentation
@@ -3674,23 +3933,343 @@ module Aws::AutoScaling
3674
3933
  include Aws::Structure
3675
3934
  end
3676
3935
 
3677
- # Describes an instances distribution for an Auto Scaling group with a
3678
- # MixedInstancesPolicy.
3936
+ # When you specify multiple parameters, you get instance types that
3937
+ # satisfy all of the specified parameters. If you specify multiple
3938
+ # values for a parameter, you get instance types that satisfy any of the
3939
+ # specified values.
3940
+ #
3941
+ # Represents requirements for the types of instances that can be
3942
+ # launched. You must specify `VCpuCount` and `MemoryMiB`, but all other
3943
+ # parameters are optional. For more information, see [Creating an Auto
3944
+ # Scaling group using attribute-based instance type selection][1] in the
3945
+ # *Amazon EC2 Auto Scaling User Guide*.
3946
+ #
3947
+ #
3948
+ #
3949
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
3950
+ #
3951
+ # @note When making an API call, you may pass InstanceRequirements
3952
+ # data as a hash:
3953
+ #
3954
+ # {
3955
+ # v_cpu_count: { # required
3956
+ # min: 1, # required
3957
+ # max: 1,
3958
+ # },
3959
+ # memory_mi_b: { # required
3960
+ # min: 1, # required
3961
+ # max: 1,
3962
+ # },
3963
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
3964
+ # memory_gi_b_per_v_cpu: {
3965
+ # min: 1.0,
3966
+ # max: 1.0,
3967
+ # },
3968
+ # excluded_instance_types: ["ExcludedInstance"],
3969
+ # instance_generations: ["current"], # accepts current, previous
3970
+ # spot_max_price_percentage_over_lowest_price: 1,
3971
+ # on_demand_max_price_percentage_over_lowest_price: 1,
3972
+ # bare_metal: "included", # accepts included, excluded, required
3973
+ # burstable_performance: "included", # accepts included, excluded, required
3974
+ # require_hibernate_support: false,
3975
+ # network_interface_count: {
3976
+ # min: 1,
3977
+ # max: 1,
3978
+ # },
3979
+ # local_storage: "included", # accepts included, excluded, required
3980
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
3981
+ # total_local_storage_gb: {
3982
+ # min: 1.0,
3983
+ # max: 1.0,
3984
+ # },
3985
+ # baseline_ebs_bandwidth_mbps: {
3986
+ # min: 1,
3987
+ # max: 1,
3988
+ # },
3989
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
3990
+ # accelerator_count: {
3991
+ # min: 1,
3992
+ # max: 1,
3993
+ # },
3994
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
3995
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
3996
+ # accelerator_total_memory_mi_b: {
3997
+ # min: 1,
3998
+ # max: 1,
3999
+ # },
4000
+ # }
4001
+ #
4002
+ # @!attribute [rw] v_cpu_count
4003
+ # The minimum and maximum number of vCPUs for an instance type.
4004
+ # @return [Types::VCpuCountRequest]
4005
+ #
4006
+ # @!attribute [rw] memory_mi_b
4007
+ # The minimum and maximum instance memory size for an instance type,
4008
+ # in MiB.
4009
+ # @return [Types::MemoryMiBRequest]
4010
+ #
4011
+ # @!attribute [rw] cpu_manufacturers
4012
+ # Lists which specific CPU manufacturers to include.
4013
+ #
4014
+ # * For instance types with Intel CPUs, specify `intel`.
4015
+ #
4016
+ # * For instance types with AMD CPUs, specify `amd`.
4017
+ #
4018
+ # * For instance types with Amazon Web Services CPUs, specify
4019
+ # `amazon-web-services`.
4020
+ #
4021
+ # <note markdown="1"> Don't confuse the CPU hardware manufacturer with the CPU hardware
4022
+ # architecture. Instances will be launched with a compatible CPU
4023
+ # architecture based on the Amazon Machine Image (AMI) that you
4024
+ # specify in your launch template.
4025
+ #
4026
+ # </note>
4027
+ #
4028
+ # Default: Any manufacturer
4029
+ # @return [Array<String>]
4030
+ #
4031
+ # @!attribute [rw] memory_gi_b_per_v_cpu
4032
+ # The minimum and maximum amount of memory per vCPU for an instance
4033
+ # type, in GiB.
4034
+ #
4035
+ # Default: No minimum or maximum
4036
+ # @return [Types::MemoryGiBPerVCpuRequest]
4037
+ #
4038
+ # @!attribute [rw] excluded_instance_types
4039
+ # Lists which instance types to exclude. You can use strings with one
4040
+ # or more wild cards, represented by an asterisk (`*`). The following
4041
+ # are examples: `c5*`, `m5a.*`, `r*`, `*3*`.
4042
+ #
4043
+ # For example, if you specify `c5*`, you are excluding the entire C5
4044
+ # instance family, which includes all C5a and C5n instance types. If
4045
+ # you specify `m5a.*`, you are excluding all the M5a instance types,
4046
+ # but not the M5n instance types.
4047
+ #
4048
+ # Default: No excluded instance types
4049
+ # @return [Array<String>]
4050
+ #
4051
+ # @!attribute [rw] instance_generations
4052
+ # Indicates whether current or previous generation instance types are
4053
+ # included.
4054
+ #
4055
+ # * For current generation instance types, specify `current`. The
4056
+ # current generation includes EC2 instance types currently
4057
+ # recommended for use. This typically includes the latest two to
4058
+ # three generations in each instance family. For more information,
4059
+ # see [Instance types][1] in the *Amazon EC2 User Guide for Linux
4060
+ # Instances*.
4061
+ #
4062
+ # * For previous generation instance types, specify `previous`.
4063
+ #
4064
+ # Default: Any current or previous generation
4065
+ #
4066
+ #
4067
+ #
4068
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
4069
+ # @return [Array<String>]
4070
+ #
4071
+ # @!attribute [rw] spot_max_price_percentage_over_lowest_price
4072
+ # The price protection threshold for Spot Instances. This is the
4073
+ # maximum you’ll pay for a Spot Instance, expressed as a percentage
4074
+ # higher than the cheapest M, C, or R instance type with your
4075
+ # specified attributes. When Amazon EC2 Auto Scaling selects instance
4076
+ # types with your attributes, we will exclude instance types whose
4077
+ # price is higher than your threshold. The parameter accepts an
4078
+ # integer, which Amazon EC2 Auto Scaling interprets as a percentage.
4079
+ # To turn off price protection, specify a high value, such as
4080
+ # `999999`.
4081
+ #
4082
+ # Default: `100`
4083
+ # @return [Integer]
4084
+ #
4085
+ # @!attribute [rw] on_demand_max_price_percentage_over_lowest_price
4086
+ # The price protection threshold for On-Demand Instances. This is the
4087
+ # maximum you’ll pay for an On-Demand Instance, expressed as a
4088
+ # percentage higher than the cheapest M, C, or R instance type with
4089
+ # your specified attributes. When Amazon EC2 Auto Scaling selects
4090
+ # instance types with your attributes, we will exclude instance types
4091
+ # whose price is higher than your threshold. The parameter accepts an
4092
+ # integer, which Amazon EC2 Auto Scaling interprets as a percentage.
4093
+ # To turn off price protection, specify a high value, such as
4094
+ # `999999`.
4095
+ #
4096
+ # Default: `20`
4097
+ # @return [Integer]
4098
+ #
4099
+ # @!attribute [rw] bare_metal
4100
+ # Indicates whether bare metal instance types are included, excluded,
4101
+ # or required.
4102
+ #
4103
+ # Default: `excluded`
4104
+ # @return [String]
4105
+ #
4106
+ # @!attribute [rw] burstable_performance
4107
+ # Indicates whether burstable performance instance types are included,
4108
+ # excluded, or required. For more information, see [Burstable
4109
+ # performance instances][1] in the *Amazon EC2 User Guide for Linux
4110
+ # Instances*.
4111
+ #
4112
+ # Default: `excluded`
4113
+ #
4114
+ #
4115
+ #
4116
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html
4117
+ # @return [String]
4118
+ #
4119
+ # @!attribute [rw] require_hibernate_support
4120
+ # Indicates whether instance types must provide On-Demand Instance
4121
+ # hibernation support.
4122
+ #
4123
+ # Default: `false`
4124
+ # @return [Boolean]
4125
+ #
4126
+ # @!attribute [rw] network_interface_count
4127
+ # The minimum and maximum number of network interfaces for an instance
4128
+ # type.
4129
+ #
4130
+ # Default: No minimum or maximum
4131
+ # @return [Types::NetworkInterfaceCountRequest]
4132
+ #
4133
+ # @!attribute [rw] local_storage
4134
+ # Indicates whether instance types with instance store volumes are
4135
+ # included, excluded, or required. For more information, see [Amazon
4136
+ # EC2 instance store][1] in the *Amazon EC2 User Guide for Linux
4137
+ # Instances*.
4138
+ #
4139
+ # Default: `included`
4140
+ #
4141
+ #
4142
+ #
4143
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
4144
+ # @return [String]
3679
4145
  #
3680
- # The instances distribution specifies the distribution of On-Demand
3681
- # Instances and Spot Instances, the maximum price to pay for Spot
3682
- # Instances, and how the Auto Scaling group allocates instance types to
3683
- # fulfill On-Demand and Spot capacities.
4146
+ # @!attribute [rw] local_storage_types
4147
+ # Indicates the type of local storage that is required.
3684
4148
  #
3685
- # When you modify `SpotAllocationStrategy`, `SpotInstancePools`, or
3686
- # `SpotMaxPrice` in the UpdateAutoScalingGroup API call, this update
3687
- # action does not deploy any changes across the running Amazon EC2
3688
- # instances in the group. Your existing Spot Instances continue to run
3689
- # as long as the maximum price for those instances is higher than the
3690
- # current Spot price. When scale out occurs, Amazon EC2 Auto Scaling
3691
- # launches instances based on the new settings. When scale in occurs,
3692
- # Amazon EC2 Auto Scaling terminates instances according to the group's
3693
- # termination policies.
4149
+ # * For instance types with hard disk drive (HDD) storage, specify
4150
+ # `hdd`.
4151
+ #
4152
+ # * For instance types with solid state drive (SSD) storage, specify
4153
+ # `sdd`.
4154
+ #
4155
+ # Default: Any local storage type
4156
+ # @return [Array<String>]
4157
+ #
4158
+ # @!attribute [rw] total_local_storage_gb
4159
+ # The minimum and maximum total local storage size for an instance
4160
+ # type, in GB.
4161
+ #
4162
+ # Default: No minimum or maximum
4163
+ # @return [Types::TotalLocalStorageGBRequest]
4164
+ #
4165
+ # @!attribute [rw] baseline_ebs_bandwidth_mbps
4166
+ # The minimum and maximum baseline bandwidth performance for an
4167
+ # instance type, in Mbps. For more information, see [Amazon
4168
+ # EBS–optimized instances][1] in the *Amazon EC2 User Guide for Linux
4169
+ # Instances*.
4170
+ #
4171
+ # Default: No minimum or maximum
4172
+ #
4173
+ #
4174
+ #
4175
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
4176
+ # @return [Types::BaselineEbsBandwidthMbpsRequest]
4177
+ #
4178
+ # @!attribute [rw] accelerator_types
4179
+ # Lists the accelerator types that must be on an instance type.
4180
+ #
4181
+ # * For instance types with GPU accelerators, specify `gpu`.
4182
+ #
4183
+ # * For instance types with FPGA accelerators, specify `fpga`.
4184
+ #
4185
+ # * For instance types with inference accelerators, specify
4186
+ # `inference`.
4187
+ #
4188
+ # Default: Any accelerator type
4189
+ # @return [Array<String>]
4190
+ #
4191
+ # @!attribute [rw] accelerator_count
4192
+ # The minimum and maximum number of accelerators (GPUs, FPGAs, or
4193
+ # Amazon Web Services Inferentia chips) for an instance type.
4194
+ #
4195
+ # To exclude accelerator-enabled instance types, set `Max` to `0`.
4196
+ #
4197
+ # Default: No minimum or maximum
4198
+ # @return [Types::AcceleratorCountRequest]
4199
+ #
4200
+ # @!attribute [rw] accelerator_manufacturers
4201
+ # Indicates whether instance types must have accelerators by specific
4202
+ # manufacturers.
4203
+ #
4204
+ # * For instance types with NVIDIA devices, specify `nvidia`.
4205
+ #
4206
+ # * For instance types with AMD devices, specify `amd`.
4207
+ #
4208
+ # * For instance types with Amazon Web Services devices, specify
4209
+ # `amazon-web-services`.
4210
+ #
4211
+ # * For instance types with Xilinx devices, specify `xilinx`.
4212
+ #
4213
+ # Default: Any manufacturer
4214
+ # @return [Array<String>]
4215
+ #
4216
+ # @!attribute [rw] accelerator_names
4217
+ # Lists the accelerators that must be on an instance type.
4218
+ #
4219
+ # * For instance types with NVIDIA A100 GPUs, specify `a100`.
4220
+ #
4221
+ # * For instance types with NVIDIA V100 GPUs, specify `v100`.
4222
+ #
4223
+ # * For instance types with NVIDIA K80 GPUs, specify `k80`.
4224
+ #
4225
+ # * For instance types with NVIDIA T4 GPUs, specify `t4`.
4226
+ #
4227
+ # * For instance types with NVIDIA M60 GPUs, specify `m60`.
4228
+ #
4229
+ # * For instance types with AMD Radeon Pro V520 GPUs, specify
4230
+ # `radeon-pro-v520`.
4231
+ #
4232
+ # * For instance types with Xilinx VU9P FPGAs, specify `vu9p`.
4233
+ #
4234
+ # Default: Any accelerator
4235
+ # @return [Array<String>]
4236
+ #
4237
+ # @!attribute [rw] accelerator_total_memory_mi_b
4238
+ # The minimum and maximum total memory size for the accelerators on an
4239
+ # instance type, in MiB.
4240
+ #
4241
+ # Default: No minimum or maximum
4242
+ # @return [Types::AcceleratorTotalMemoryMiBRequest]
4243
+ #
4244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRequirements AWS API Documentation
4245
+ #
4246
+ class InstanceRequirements < Struct.new(
4247
+ :v_cpu_count,
4248
+ :memory_mi_b,
4249
+ :cpu_manufacturers,
4250
+ :memory_gi_b_per_v_cpu,
4251
+ :excluded_instance_types,
4252
+ :instance_generations,
4253
+ :spot_max_price_percentage_over_lowest_price,
4254
+ :on_demand_max_price_percentage_over_lowest_price,
4255
+ :bare_metal,
4256
+ :burstable_performance,
4257
+ :require_hibernate_support,
4258
+ :network_interface_count,
4259
+ :local_storage,
4260
+ :local_storage_types,
4261
+ :total_local_storage_gb,
4262
+ :baseline_ebs_bandwidth_mbps,
4263
+ :accelerator_types,
4264
+ :accelerator_count,
4265
+ :accelerator_manufacturers,
4266
+ :accelerator_names,
4267
+ :accelerator_total_memory_mi_b)
4268
+ SENSITIVE = []
4269
+ include Aws::Structure
4270
+ end
4271
+
4272
+ # Describes an instances distribution for an Auto Scaling group.
3694
4273
  #
3695
4274
  # @note When making an API call, you may pass InstancesDistribution
3696
4275
  # data as a hash:
@@ -3705,32 +4284,46 @@ module Aws::AutoScaling
3705
4284
  # }
3706
4285
  #
3707
4286
  # @!attribute [rw] on_demand_allocation_strategy
3708
- # Indicates how to allocate instance types to fulfill On-Demand
3709
- # capacity. The only valid value is `prioritized`, which is also the
3710
- # default value. This strategy uses the order of instance types in the
3711
- # `LaunchTemplateOverrides` to define the launch priority of each
3712
- # instance type. The first instance type in the array is prioritized
3713
- # higher than the last. If all your On-Demand capacity cannot be
3714
- # fulfilled using your highest priority instance, then the Auto
3715
- # Scaling groups launches the remaining capacity using the second
3716
- # priority instance type, and so on.
4287
+ # The order of the launch template overrides to use in fulfilling
4288
+ # On-Demand capacity.
4289
+ #
4290
+ # If you specify `lowest-price`, Amazon EC2 Auto Scaling uses price to
4291
+ # determine the order, launching the lowest price first.
4292
+ #
4293
+ # If you specify `prioritized`, Amazon EC2 Auto Scaling uses the
4294
+ # priority that you assigned to each launch template override,
4295
+ # launching the highest priority first. If all your On-Demand capacity
4296
+ # cannot be fulfilled using your highest priority instance, then
4297
+ # Amazon EC2 Auto Scaling launches the remaining capacity using the
4298
+ # second priority instance type, and so on.
4299
+ #
4300
+ # Default: `lowest-price` for Auto Scaling groups that specify
4301
+ # InstanceRequirements in the overrides and `prioritized` for Auto
4302
+ # Scaling groups that don't.
3717
4303
  # @return [String]
3718
4304
  #
3719
4305
  # @!attribute [rw] on_demand_base_capacity
3720
4306
  # The minimum amount of the Auto Scaling group's capacity that must
3721
- # be fulfilled by On-Demand Instances. This base portion is
3722
- # provisioned first as your group scales. Defaults to 0 if not
3723
- # specified. If you specify weights for the instance types in the
3724
- # overrides, set the value of `OnDemandBaseCapacity` in terms of the
3725
- # number of capacity units, and not the number of instances.
4307
+ # be fulfilled by On-Demand Instances. This base portion is launched
4308
+ # first as your group scales.
4309
+ #
4310
+ # If you specify weights for the instance types in the overrides, the
4311
+ # base capacity is measured in the same unit of measurement as the
4312
+ # instance types. If you specify InstanceRequirements in the
4313
+ # overrides, the base capacity is measured in the same unit of
4314
+ # measurement as your group's desired capacity.
4315
+ #
4316
+ # Default: `0`
3726
4317
  # @return [Integer]
3727
4318
  #
3728
4319
  # @!attribute [rw] on_demand_percentage_above_base_capacity
3729
4320
  # Controls the percentages of On-Demand Instances and Spot Instances
3730
4321
  # for your additional capacity beyond `OnDemandBaseCapacity`.
3731
4322
  # Expressed as a number (for example, 20 specifies 20% On-Demand
3732
- # Instances, 80% Spot Instances). Defaults to 100 if not specified. If
3733
- # set to 100, only On-Demand Instances are provisioned.
4323
+ # Instances, 80% Spot Instances). If set to 100, only On-Demand
4324
+ # Instances are used.
4325
+ #
4326
+ # Default: `100`
3734
4327
  # @return [Integer]
3735
4328
  #
3736
4329
  # @!attribute [rw] spot_allocation_strategy
@@ -3739,7 +4332,7 @@ module Aws::AutoScaling
3739
4332
  # If the allocation strategy is `lowest-price`, the Auto Scaling group
3740
4333
  # launches instances using the Spot pools with the lowest price, and
3741
4334
  # evenly allocates your instances across the number of Spot pools that
3742
- # you specify. Defaults to `lowest-price` if not specified.
4335
+ # you specify.
3743
4336
  #
3744
4337
  # If the allocation strategy is `capacity-optimized` (recommended),
3745
4338
  # the Auto Scaling group launches instances using Spot pools that are
@@ -3749,22 +4342,25 @@ module Aws::AutoScaling
3749
4342
  # from highest to lowest priority (from first to last in the list).
3750
4343
  # Amazon EC2 Auto Scaling honors the instance type priorities on a
3751
4344
  # best-effort basis but optimizes for capacity first.
4345
+ #
4346
+ # Default: `lowest-price`
3752
4347
  # @return [String]
3753
4348
  #
3754
4349
  # @!attribute [rw] spot_instance_pools
3755
4350
  # The number of Spot Instance pools across which to allocate your Spot
3756
4351
  # Instances. The Spot pools are determined from the different instance
3757
4352
  # types in the overrides. Valid only when the Spot allocation strategy
3758
- # is `lowest-price`. Value must be in the range of 1 to 20. Defaults
3759
- # to 2 if not specified.
4353
+ # is `lowest-price`. Value must be in the range of 120.
4354
+ #
4355
+ # Default: `2`
3760
4356
  # @return [Integer]
3761
4357
  #
3762
4358
  # @!attribute [rw] spot_max_price
3763
4359
  # The maximum price per unit hour that you are willing to pay for a
3764
- # Spot Instance. If you leave the value at its default (empty), Amazon
3765
- # EC2 Auto Scaling uses the On-Demand price as the maximum Spot price.
3766
- # To remove a value that you previously set, include the property but
3767
- # specify an empty string ("") for the value.
4360
+ # Spot Instance. If you keep the value at its default (unspecified),
4361
+ # Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot
4362
+ # price. To remove a value that you previously set, include the
4363
+ # property but specify an empty string ("") for the value.
3768
4364
  # @return [String]
3769
4365
  #
3770
4366
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstancesDistribution AWS API Documentation
@@ -4093,16 +4689,8 @@ module Aws::AutoScaling
4093
4689
  include Aws::Structure
4094
4690
  end
4095
4691
 
4096
- # Describes a launch template and overrides.
4097
- #
4098
- # You specify these properties as part of a mixed instances policy.
4099
- #
4100
- # When you update the launch template or overrides in the
4101
- # UpdateAutoScalingGroup API call, existing Amazon EC2 instances
4102
- # continue to run. When scale out occurs, Amazon EC2 Auto Scaling
4103
- # launches instances to match the new settings. When scale in occurs,
4104
- # Amazon EC2 Auto Scaling terminates instances according to the group's
4105
- # termination policies.
4692
+ # Describes a launch template and overrides. You specify these
4693
+ # properties as part of a mixed instances policy.
4106
4694
  #
4107
4695
  # @note When making an API call, you may pass LaunchTemplate
4108
4696
  # data as a hash:
@@ -4122,6 +4710,53 @@ module Aws::AutoScaling
4122
4710
  # launch_template_name: "LaunchTemplateName",
4123
4711
  # version: "XmlStringMaxLen255",
4124
4712
  # },
4713
+ # instance_requirements: {
4714
+ # v_cpu_count: { # required
4715
+ # min: 1, # required
4716
+ # max: 1,
4717
+ # },
4718
+ # memory_mi_b: { # required
4719
+ # min: 1, # required
4720
+ # max: 1,
4721
+ # },
4722
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
4723
+ # memory_gi_b_per_v_cpu: {
4724
+ # min: 1.0,
4725
+ # max: 1.0,
4726
+ # },
4727
+ # excluded_instance_types: ["ExcludedInstance"],
4728
+ # instance_generations: ["current"], # accepts current, previous
4729
+ # spot_max_price_percentage_over_lowest_price: 1,
4730
+ # on_demand_max_price_percentage_over_lowest_price: 1,
4731
+ # bare_metal: "included", # accepts included, excluded, required
4732
+ # burstable_performance: "included", # accepts included, excluded, required
4733
+ # require_hibernate_support: false,
4734
+ # network_interface_count: {
4735
+ # min: 1,
4736
+ # max: 1,
4737
+ # },
4738
+ # local_storage: "included", # accepts included, excluded, required
4739
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
4740
+ # total_local_storage_gb: {
4741
+ # min: 1.0,
4742
+ # max: 1.0,
4743
+ # },
4744
+ # baseline_ebs_bandwidth_mbps: {
4745
+ # min: 1,
4746
+ # max: 1,
4747
+ # },
4748
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
4749
+ # accelerator_count: {
4750
+ # min: 1,
4751
+ # max: 1,
4752
+ # },
4753
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
4754
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
4755
+ # accelerator_total_memory_mi_b: {
4756
+ # min: 1,
4757
+ # max: 1,
4758
+ # },
4759
+ # },
4125
4760
  # },
4126
4761
  # ],
4127
4762
  # }
@@ -4133,8 +4768,11 @@ module Aws::AutoScaling
4133
4768
  # @!attribute [rw] overrides
4134
4769
  # Any properties that you specify override the same properties in the
4135
4770
  # launch template. If not provided, Amazon EC2 Auto Scaling uses the
4136
- # instance type specified in the launch template when it launches an
4137
- # instance.
4771
+ # instance type or instance type requirements specified in the launch
4772
+ # template when it launches an instance.
4773
+ #
4774
+ # The overrides can include either one or more instance types or a set
4775
+ # of instance requirements, but not both.
4138
4776
  # @return [Array<Types::LaunchTemplateOverrides>]
4139
4777
  #
4140
4778
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchTemplate AWS API Documentation
@@ -4146,12 +4784,9 @@ module Aws::AutoScaling
4146
4784
  include Aws::Structure
4147
4785
  end
4148
4786
 
4149
- # Describes an override for a launch template. The maximum number of
4150
- # instance types that can be associated with an Auto Scaling group is
4151
- # 40. The maximum number of distinct launch templates you can define for
4152
- # an Auto Scaling group is 20. For more information about configuring
4153
- # overrides, see [Configuring overrides][1] in the *Amazon EC2 Auto
4154
- # Scaling User Guide*.
4787
+ # Describes an override for a launch template. For more information, see
4788
+ # [Configuring overrides][1] in the *Amazon EC2 Auto Scaling User
4789
+ # Guide*.
4155
4790
  #
4156
4791
  #
4157
4792
  #
@@ -4168,6 +4803,53 @@ module Aws::AutoScaling
4168
4803
  # launch_template_name: "LaunchTemplateName",
4169
4804
  # version: "XmlStringMaxLen255",
4170
4805
  # },
4806
+ # instance_requirements: {
4807
+ # v_cpu_count: { # required
4808
+ # min: 1, # required
4809
+ # max: 1,
4810
+ # },
4811
+ # memory_mi_b: { # required
4812
+ # min: 1, # required
4813
+ # max: 1,
4814
+ # },
4815
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
4816
+ # memory_gi_b_per_v_cpu: {
4817
+ # min: 1.0,
4818
+ # max: 1.0,
4819
+ # },
4820
+ # excluded_instance_types: ["ExcludedInstance"],
4821
+ # instance_generations: ["current"], # accepts current, previous
4822
+ # spot_max_price_percentage_over_lowest_price: 1,
4823
+ # on_demand_max_price_percentage_over_lowest_price: 1,
4824
+ # bare_metal: "included", # accepts included, excluded, required
4825
+ # burstable_performance: "included", # accepts included, excluded, required
4826
+ # require_hibernate_support: false,
4827
+ # network_interface_count: {
4828
+ # min: 1,
4829
+ # max: 1,
4830
+ # },
4831
+ # local_storage: "included", # accepts included, excluded, required
4832
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
4833
+ # total_local_storage_gb: {
4834
+ # min: 1.0,
4835
+ # max: 1.0,
4836
+ # },
4837
+ # baseline_ebs_bandwidth_mbps: {
4838
+ # min: 1,
4839
+ # max: 1,
4840
+ # },
4841
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
4842
+ # accelerator_count: {
4843
+ # min: 1,
4844
+ # max: 1,
4845
+ # },
4846
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
4847
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
4848
+ # accelerator_total_memory_mi_b: {
4849
+ # min: 1,
4850
+ # max: 1,
4851
+ # },
4852
+ # },
4171
4853
  # }
4172
4854
  #
4173
4855
  # @!attribute [rw] instance_type
@@ -4182,19 +4864,19 @@ module Aws::AutoScaling
4182
4864
  # @return [String]
4183
4865
  #
4184
4866
  # @!attribute [rw] weighted_capacity
4185
- # The number of capacity units provided by the specified instance type
4186
- # in terms of virtual CPUs, memory, storage, throughput, or other
4187
- # relative performance characteristic. When a Spot or On-Demand
4188
- # Instance is provisioned, the capacity units count toward the desired
4189
- # capacity. Amazon EC2 Auto Scaling provisions instances until the
4190
- # desired capacity is totally fulfilled, even if this results in an
4191
- # overage. For example, if there are 2 units remaining to fulfill
4192
- # capacity, and Amazon EC2 Auto Scaling can only provision an instance
4193
- # with a `WeightedCapacity` of 5 units, the instance is provisioned,
4194
- # and the desired capacity is exceeded by 3 units. For more
4195
- # information, see [Instance weighting for Amazon EC2 Auto Scaling][1]
4196
- # in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the
4197
- # range of 1 to 999.
4867
+ # The number of capacity units provided by the instance type specified
4868
+ # in `InstanceType` in terms of virtual CPUs, memory, storage,
4869
+ # throughput, or other relative performance characteristic. When a
4870
+ # Spot or On-Demand Instance is launched, the capacity units count
4871
+ # toward the desired capacity. Amazon EC2 Auto Scaling launches
4872
+ # instances until the desired capacity is totally fulfilled, even if
4873
+ # this results in an overage. For example, if there are two units
4874
+ # remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only
4875
+ # launch an instance with a `WeightedCapacity` of five units, the
4876
+ # instance is launched, and the desired capacity is exceeded by three
4877
+ # units. For more information, see [Instance weighting for Amazon EC2
4878
+ # Auto Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*. Value
4879
+ # must be in the range of 1999.
4198
4880
  #
4199
4881
  #
4200
4882
  #
@@ -4203,24 +4885,33 @@ module Aws::AutoScaling
4203
4885
  #
4204
4886
  # @!attribute [rw] launch_template_specification
4205
4887
  # Provides the launch template to be used when launching the instance
4206
- # type. For example, some instance types might require a launch
4207
- # template with a different AMI. If not provided, Amazon EC2 Auto
4208
- # Scaling uses the launch template that's defined for your mixed
4209
- # instances policy. For more information, see [Specifying a different
4210
- # launch template for an instance type][1] in the *Amazon EC2 Auto
4211
- # Scaling User Guide*.
4888
+ # type specified in `InstanceType`. For example, some instance types
4889
+ # might require a launch template with a different AMI. If not
4890
+ # provided, Amazon EC2 Auto Scaling uses the launch template that's
4891
+ # defined for your mixed instances policy. For more information, see
4892
+ # [Specifying a different launch template for an instance type][1] in
4893
+ # the *Amazon EC2 Auto Scaling User Guide*.
4212
4894
  #
4213
4895
  #
4214
4896
  #
4215
4897
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html
4216
4898
  # @return [Types::LaunchTemplateSpecification]
4217
4899
  #
4900
+ # @!attribute [rw] instance_requirements
4901
+ # The instance requirements. When you specify instance requirements,
4902
+ # Amazon EC2 Auto Scaling finds instance types that satisfy your
4903
+ # requirements, and then uses your On-Demand and Spot allocation
4904
+ # strategies to launch instances from these instance types, in the
4905
+ # same way as when you specify a list of specific instance types.
4906
+ # @return [Types::InstanceRequirements]
4907
+ #
4218
4908
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchTemplateOverrides AWS API Documentation
4219
4909
  #
4220
4910
  class LaunchTemplateOverrides < Struct.new(
4221
4911
  :instance_type,
4222
4912
  :weighted_capacity,
4223
- :launch_template_specification)
4913
+ :launch_template_specification,
4914
+ :instance_requirements)
4224
4915
  SENSITIVE = []
4225
4916
  include Aws::Structure
4226
4917
  end
@@ -4603,6 +5294,62 @@ module Aws::AutoScaling
4603
5294
  include Aws::Structure
4604
5295
  end
4605
5296
 
5297
+ # Specifies the minimum and maximum for the `MemoryGiBPerVCpu` object
5298
+ # when you specify InstanceRequirements for an Auto Scaling group.
5299
+ #
5300
+ # @note When making an API call, you may pass MemoryGiBPerVCpuRequest
5301
+ # data as a hash:
5302
+ #
5303
+ # {
5304
+ # min: 1.0,
5305
+ # max: 1.0,
5306
+ # }
5307
+ #
5308
+ # @!attribute [rw] min
5309
+ # The memory minimum in GiB.
5310
+ # @return [Float]
5311
+ #
5312
+ # @!attribute [rw] max
5313
+ # The memory maximum in GiB.
5314
+ # @return [Float]
5315
+ #
5316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MemoryGiBPerVCpuRequest AWS API Documentation
5317
+ #
5318
+ class MemoryGiBPerVCpuRequest < Struct.new(
5319
+ :min,
5320
+ :max)
5321
+ SENSITIVE = []
5322
+ include Aws::Structure
5323
+ end
5324
+
5325
+ # Specifies the minimum and maximum for the `MemoryMiB` object when you
5326
+ # specify InstanceRequirements for an Auto Scaling group.
5327
+ #
5328
+ # @note When making an API call, you may pass MemoryMiBRequest
5329
+ # data as a hash:
5330
+ #
5331
+ # {
5332
+ # min: 1, # required
5333
+ # max: 1,
5334
+ # }
5335
+ #
5336
+ # @!attribute [rw] min
5337
+ # The memory minimum in MiB.
5338
+ # @return [Integer]
5339
+ #
5340
+ # @!attribute [rw] max
5341
+ # The memory maximum in MiB.
5342
+ # @return [Integer]
5343
+ #
5344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MemoryMiBRequest AWS API Documentation
5345
+ #
5346
+ class MemoryMiBRequest < Struct.new(
5347
+ :min,
5348
+ :max)
5349
+ SENSITIVE = []
5350
+ include Aws::Structure
5351
+ end
5352
+
4606
5353
  # Describes a metric.
4607
5354
  #
4608
5355
  # @!attribute [rw] metric
@@ -4699,9 +5446,9 @@ module Aws::AutoScaling
4699
5446
  end
4700
5447
 
4701
5448
  # Describes a mixed instances policy. A mixed instances policy contains
4702
- # the instance types Amazon EC2 Auto Scaling can launch, and other
4703
- # information Amazon EC2 Auto Scaling can use to launch instances to
4704
- # help you optimize your costs. For more information, see [Auto Scaling
5449
+ # the instance types that Amazon EC2 Auto Scaling can launch and other
5450
+ # information that Amazon EC2 Auto Scaling can use to launch instances
5451
+ # and help optimize your costs. For more information, see [Auto Scaling
4705
5452
  # groups with multiple instance types and purchase options][1] in the
4706
5453
  # *Amazon EC2 Auto Scaling User Guide*.
4707
5454
  #
@@ -4728,6 +5475,53 @@ module Aws::AutoScaling
4728
5475
  # launch_template_name: "LaunchTemplateName",
4729
5476
  # version: "XmlStringMaxLen255",
4730
5477
  # },
5478
+ # instance_requirements: {
5479
+ # v_cpu_count: { # required
5480
+ # min: 1, # required
5481
+ # max: 1,
5482
+ # },
5483
+ # memory_mi_b: { # required
5484
+ # min: 1, # required
5485
+ # max: 1,
5486
+ # },
5487
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
5488
+ # memory_gi_b_per_v_cpu: {
5489
+ # min: 1.0,
5490
+ # max: 1.0,
5491
+ # },
5492
+ # excluded_instance_types: ["ExcludedInstance"],
5493
+ # instance_generations: ["current"], # accepts current, previous
5494
+ # spot_max_price_percentage_over_lowest_price: 1,
5495
+ # on_demand_max_price_percentage_over_lowest_price: 1,
5496
+ # bare_metal: "included", # accepts included, excluded, required
5497
+ # burstable_performance: "included", # accepts included, excluded, required
5498
+ # require_hibernate_support: false,
5499
+ # network_interface_count: {
5500
+ # min: 1,
5501
+ # max: 1,
5502
+ # },
5503
+ # local_storage: "included", # accepts included, excluded, required
5504
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
5505
+ # total_local_storage_gb: {
5506
+ # min: 1.0,
5507
+ # max: 1.0,
5508
+ # },
5509
+ # baseline_ebs_bandwidth_mbps: {
5510
+ # min: 1,
5511
+ # max: 1,
5512
+ # },
5513
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
5514
+ # accelerator_count: {
5515
+ # min: 1,
5516
+ # max: 1,
5517
+ # },
5518
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
5519
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
5520
+ # accelerator_total_memory_mi_b: {
5521
+ # min: 1,
5522
+ # max: 1,
5523
+ # },
5524
+ # },
4731
5525
  # },
4732
5526
  # ],
4733
5527
  # },
@@ -4743,14 +5537,13 @@ module Aws::AutoScaling
4743
5537
  #
4744
5538
  # @!attribute [rw] launch_template
4745
5539
  # Specifies the launch template to use and the instance types
4746
- # (overrides) that are used to provision EC2 instances to fulfill
5540
+ # (overrides) that are used to launch EC2 instances to fulfill
4747
5541
  # On-Demand and Spot capacities. Required when creating a mixed
4748
5542
  # instances policy.
4749
5543
  # @return [Types::LaunchTemplate]
4750
5544
  #
4751
5545
  # @!attribute [rw] instances_distribution
4752
- # Specifies the instances distribution. If not provided, the value for
4753
- # each property in `InstancesDistribution` uses a default value.
5546
+ # Specifies the instances distribution.
4754
5547
  # @return [Types::InstancesDistribution]
4755
5548
  #
4756
5549
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MixedInstancesPolicy AWS API Documentation
@@ -4762,6 +5555,35 @@ module Aws::AutoScaling
4762
5555
  include Aws::Structure
4763
5556
  end
4764
5557
 
5558
+ # Specifies the minimum and maximum for the `NetworkInterfaceCount`
5559
+ # object when you specify InstanceRequirements for an Auto Scaling
5560
+ # group.
5561
+ #
5562
+ # @note When making an API call, you may pass NetworkInterfaceCountRequest
5563
+ # data as a hash:
5564
+ #
5565
+ # {
5566
+ # min: 1,
5567
+ # max: 1,
5568
+ # }
5569
+ #
5570
+ # @!attribute [rw] min
5571
+ # The minimum number of network interfaces.
5572
+ # @return [Integer]
5573
+ #
5574
+ # @!attribute [rw] max
5575
+ # The maximum number of network interfaces.
5576
+ # @return [Integer]
5577
+ #
5578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/NetworkInterfaceCountRequest AWS API Documentation
5579
+ #
5580
+ class NetworkInterfaceCountRequest < Struct.new(
5581
+ :min,
5582
+ :max)
5583
+ SENSITIVE = []
5584
+ include Aws::Structure
5585
+ end
5586
+
4765
5587
  # Describes a notification.
4766
5588
  #
4767
5589
  # @!attribute [rw] auto_scaling_group_name
@@ -6577,6 +7399,53 @@ module Aws::AutoScaling
6577
7399
  # launch_template_name: "LaunchTemplateName",
6578
7400
  # version: "XmlStringMaxLen255",
6579
7401
  # },
7402
+ # instance_requirements: {
7403
+ # v_cpu_count: { # required
7404
+ # min: 1, # required
7405
+ # max: 1,
7406
+ # },
7407
+ # memory_mi_b: { # required
7408
+ # min: 1, # required
7409
+ # max: 1,
7410
+ # },
7411
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
7412
+ # memory_gi_b_per_v_cpu: {
7413
+ # min: 1.0,
7414
+ # max: 1.0,
7415
+ # },
7416
+ # excluded_instance_types: ["ExcludedInstance"],
7417
+ # instance_generations: ["current"], # accepts current, previous
7418
+ # spot_max_price_percentage_over_lowest_price: 1,
7419
+ # on_demand_max_price_percentage_over_lowest_price: 1,
7420
+ # bare_metal: "included", # accepts included, excluded, required
7421
+ # burstable_performance: "included", # accepts included, excluded, required
7422
+ # require_hibernate_support: false,
7423
+ # network_interface_count: {
7424
+ # min: 1,
7425
+ # max: 1,
7426
+ # },
7427
+ # local_storage: "included", # accepts included, excluded, required
7428
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
7429
+ # total_local_storage_gb: {
7430
+ # min: 1.0,
7431
+ # max: 1.0,
7432
+ # },
7433
+ # baseline_ebs_bandwidth_mbps: {
7434
+ # min: 1,
7435
+ # max: 1,
7436
+ # },
7437
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
7438
+ # accelerator_count: {
7439
+ # min: 1,
7440
+ # max: 1,
7441
+ # },
7442
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
7443
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
7444
+ # accelerator_total_memory_mi_b: {
7445
+ # min: 1,
7446
+ # max: 1,
7447
+ # },
7448
+ # },
6580
7449
  # },
6581
7450
  # ],
6582
7451
  # },
@@ -6947,6 +7816,34 @@ module Aws::AutoScaling
6947
7816
  include Aws::Structure
6948
7817
  end
6949
7818
 
7819
+ # Specifies the minimum and maximum for the `TotalLocalStorageGB` object
7820
+ # when you specify InstanceRequirements for an Auto Scaling group.
7821
+ #
7822
+ # @note When making an API call, you may pass TotalLocalStorageGBRequest
7823
+ # data as a hash:
7824
+ #
7825
+ # {
7826
+ # min: 1.0,
7827
+ # max: 1.0,
7828
+ # }
7829
+ #
7830
+ # @!attribute [rw] min
7831
+ # The storage minimum in GB.
7832
+ # @return [Float]
7833
+ #
7834
+ # @!attribute [rw] max
7835
+ # The storage maximum in GB.
7836
+ # @return [Float]
7837
+ #
7838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TotalLocalStorageGBRequest AWS API Documentation
7839
+ #
7840
+ class TotalLocalStorageGBRequest < Struct.new(
7841
+ :min,
7842
+ :max)
7843
+ SENSITIVE = []
7844
+ include Aws::Structure
7845
+ end
7846
+
6950
7847
  # @note When making an API call, you may pass UpdateAutoScalingGroupType
6951
7848
  # data as a hash:
6952
7849
  #
@@ -6974,6 +7871,53 @@ module Aws::AutoScaling
6974
7871
  # launch_template_name: "LaunchTemplateName",
6975
7872
  # version: "XmlStringMaxLen255",
6976
7873
  # },
7874
+ # instance_requirements: {
7875
+ # v_cpu_count: { # required
7876
+ # min: 1, # required
7877
+ # max: 1,
7878
+ # },
7879
+ # memory_mi_b: { # required
7880
+ # min: 1, # required
7881
+ # max: 1,
7882
+ # },
7883
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
7884
+ # memory_gi_b_per_v_cpu: {
7885
+ # min: 1.0,
7886
+ # max: 1.0,
7887
+ # },
7888
+ # excluded_instance_types: ["ExcludedInstance"],
7889
+ # instance_generations: ["current"], # accepts current, previous
7890
+ # spot_max_price_percentage_over_lowest_price: 1,
7891
+ # on_demand_max_price_percentage_over_lowest_price: 1,
7892
+ # bare_metal: "included", # accepts included, excluded, required
7893
+ # burstable_performance: "included", # accepts included, excluded, required
7894
+ # require_hibernate_support: false,
7895
+ # network_interface_count: {
7896
+ # min: 1,
7897
+ # max: 1,
7898
+ # },
7899
+ # local_storage: "included", # accepts included, excluded, required
7900
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
7901
+ # total_local_storage_gb: {
7902
+ # min: 1.0,
7903
+ # max: 1.0,
7904
+ # },
7905
+ # baseline_ebs_bandwidth_mbps: {
7906
+ # min: 1,
7907
+ # max: 1,
7908
+ # },
7909
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
7910
+ # accelerator_count: {
7911
+ # min: 1,
7912
+ # max: 1,
7913
+ # },
7914
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
7915
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
7916
+ # accelerator_total_memory_mi_b: {
7917
+ # min: 1,
7918
+ # max: 1,
7919
+ # },
7920
+ # },
6977
7921
  # },
6978
7922
  # ],
6979
7923
  # },
@@ -7001,6 +7945,7 @@ module Aws::AutoScaling
7001
7945
  # max_instance_lifetime: 1,
7002
7946
  # capacity_rebalance: false,
7003
7947
  # context: "Context",
7948
+ # desired_capacity_type: "XmlStringMaxLen255",
7004
7949
  # }
7005
7950
  #
7006
7951
  # @!attribute [rw] auto_scaling_group_name
@@ -7020,11 +7965,10 @@ module Aws::AutoScaling
7020
7965
  # @return [Types::LaunchTemplateSpecification]
7021
7966
  #
7022
7967
  # @!attribute [rw] mixed_instances_policy
7023
- # An embedded object that specifies a mixed instances policy. When you
7024
- # make changes to an existing policy, all optional properties are left
7025
- # unchanged if not specified. For more information, see [Auto Scaling
7026
- # groups with multiple instance types and purchase options][1] in the
7027
- # *Amazon EC2 Auto Scaling User Guide*.
7968
+ # An embedded object that specifies a mixed instances policy. For more
7969
+ # information, see [Auto Scaling groups with multiple instance types
7970
+ # and purchase options][1] in the *Amazon EC2 Auto Scaling User
7971
+ # Guide*.
7028
7972
  #
7029
7973
  #
7030
7974
  #
@@ -7176,6 +8120,23 @@ module Aws::AutoScaling
7176
8120
  # Reserved.
7177
8121
  # @return [String]
7178
8122
  #
8123
+ # @!attribute [rw] desired_capacity_type
8124
+ # The unit of measurement for the value specified for desired
8125
+ # capacity. Amazon EC2 Auto Scaling supports `DesiredCapacityType` for
8126
+ # attribute-based instance type selection only. For more information,
8127
+ # see [Creating an Auto Scaling group using attribute-based instance
8128
+ # type selection][1] in the *Amazon EC2 Auto Scaling User Guide*.
8129
+ #
8130
+ # By default, Amazon EC2 Auto Scaling specifies `units`, which
8131
+ # translates into number of instances.
8132
+ #
8133
+ # Valid values: `units` \| `vcpu` \| `memory-mib`
8134
+ #
8135
+ #
8136
+ #
8137
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
8138
+ # @return [String]
8139
+ #
7179
8140
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroupType AWS API Documentation
7180
8141
  #
7181
8142
  class UpdateAutoScalingGroupType < Struct.new(
@@ -7197,7 +8158,36 @@ module Aws::AutoScaling
7197
8158
  :service_linked_role_arn,
7198
8159
  :max_instance_lifetime,
7199
8160
  :capacity_rebalance,
7200
- :context)
8161
+ :context,
8162
+ :desired_capacity_type)
8163
+ SENSITIVE = []
8164
+ include Aws::Structure
8165
+ end
8166
+
8167
+ # Specifies the minimum and maximum for the `VCpuCount` object when you
8168
+ # specify InstanceRequirements for an Auto Scaling group.
8169
+ #
8170
+ # @note When making an API call, you may pass VCpuCountRequest
8171
+ # data as a hash:
8172
+ #
8173
+ # {
8174
+ # min: 1, # required
8175
+ # max: 1,
8176
+ # }
8177
+ #
8178
+ # @!attribute [rw] min
8179
+ # The minimum number of vCPUs.
8180
+ # @return [Integer]
8181
+ #
8182
+ # @!attribute [rw] max
8183
+ # The maximum number of vCPUs.
8184
+ # @return [Integer]
8185
+ #
8186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/VCpuCountRequest AWS API Documentation
8187
+ #
8188
+ class VCpuCountRequest < Struct.new(
8189
+ :min,
8190
+ :max)
7201
8191
  SENSITIVE = []
7202
8192
  include Aws::Structure
7203
8193
  end