aws-sdk-autoscaling 1.68.0 → 1.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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