aws-sdk-ec2 1.272.0 → 1.273.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,126 @@
10
10
  module Aws::EC2
11
11
  module Types
12
12
 
13
+ # The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon
14
+ # Web Services Inferentia chips) on an instance.
15
+ #
16
+ # @note When making an API call, you may pass AcceleratorCount
17
+ # data as a hash:
18
+ #
19
+ # {
20
+ # min: 1,
21
+ # max: 1,
22
+ # }
23
+ #
24
+ # @!attribute [rw] min
25
+ # The minimum number of accelerators. If this parameter is not
26
+ # specified, there is no minimum limit.
27
+ # @return [Integer]
28
+ #
29
+ # @!attribute [rw] max
30
+ # The maximum number of accelerators. If this parameter is not
31
+ # specified, there is no maximum limit.
32
+ # @return [Integer]
33
+ #
34
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceleratorCount AWS API Documentation
35
+ #
36
+ class AcceleratorCount < Struct.new(
37
+ :min,
38
+ :max)
39
+ SENSITIVE = []
40
+ include Aws::Structure
41
+ end
42
+
43
+ # The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon
44
+ # Web Services Inferentia chips) on an instance. To exclude
45
+ # accelerator-enabled instance types, set `Max` to `0`.
46
+ #
47
+ # @note When making an API call, you may pass AcceleratorCountRequest
48
+ # data as a hash:
49
+ #
50
+ # {
51
+ # min: 1,
52
+ # max: 1,
53
+ # }
54
+ #
55
+ # @!attribute [rw] min
56
+ # The minimum number of accelerators. To specify no minimum limit,
57
+ # omit this parameter.
58
+ # @return [Integer]
59
+ #
60
+ # @!attribute [rw] max
61
+ # The maximum number of accelerators. To specify no maximum limit,
62
+ # omit this parameter. To exclude accelerator-enabled instance types,
63
+ # set `Max` to `0`.
64
+ # @return [Integer]
65
+ #
66
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceleratorCountRequest AWS API Documentation
67
+ #
68
+ class AcceleratorCountRequest < Struct.new(
69
+ :min,
70
+ :max)
71
+ SENSITIVE = []
72
+ include Aws::Structure
73
+ end
74
+
75
+ # The minimum and maximum amount of total accelerator memory, in MiB.
76
+ #
77
+ # @note When making an API call, you may pass AcceleratorTotalMemoryMiB
78
+ # data as a hash:
79
+ #
80
+ # {
81
+ # min: 1,
82
+ # max: 1,
83
+ # }
84
+ #
85
+ # @!attribute [rw] min
86
+ # The minimum amount of accelerator memory, in MiB. If this parameter
87
+ # is not specified, there is no minimum limit.
88
+ # @return [Integer]
89
+ #
90
+ # @!attribute [rw] max
91
+ # The maximum amount of accelerator memory, in MiB. If this parameter
92
+ # is not specified, there is no maximum limit.
93
+ # @return [Integer]
94
+ #
95
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceleratorTotalMemoryMiB AWS API Documentation
96
+ #
97
+ class AcceleratorTotalMemoryMiB < Struct.new(
98
+ :min,
99
+ :max)
100
+ SENSITIVE = []
101
+ include Aws::Structure
102
+ end
103
+
104
+ # The minimum and maximum amount of total accelerator memory, in MiB.
105
+ #
106
+ # @note When making an API call, you may pass AcceleratorTotalMemoryMiBRequest
107
+ # data as a hash:
108
+ #
109
+ # {
110
+ # min: 1,
111
+ # max: 1,
112
+ # }
113
+ #
114
+ # @!attribute [rw] min
115
+ # The minimum amount of accelerator memory, in MiB. To specify no
116
+ # minimum limit, omit this parameter.
117
+ # @return [Integer]
118
+ #
119
+ # @!attribute [rw] max
120
+ # The maximum amount of accelerator memory, in MiB. To specify no
121
+ # maximum limit, omit this parameter.
122
+ # @return [Integer]
123
+ #
124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceleratorTotalMemoryMiBRequest AWS API Documentation
125
+ #
126
+ class AcceleratorTotalMemoryMiBRequest < Struct.new(
127
+ :min,
128
+ :max)
129
+ SENSITIVE = []
130
+ include Aws::Structure
131
+ end
132
+
13
133
  # Contains the parameters for accepting the quote.
14
134
  #
15
135
  # @note When making an API call, you may pass AcceptReservedInstancesExchangeQuoteRequest
@@ -3036,6 +3156,76 @@ module Aws::EC2
3036
3156
  include Aws::Structure
3037
3157
  end
3038
3158
 
3159
+ # The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For
3160
+ # more information, see [Amazon EBS–optimized instances][1] in the
3161
+ # *Amazon EC2 User Guide*.
3162
+ #
3163
+ #
3164
+ #
3165
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
3166
+ #
3167
+ # @note When making an API call, you may pass BaselineEbsBandwidthMbps
3168
+ # data as a hash:
3169
+ #
3170
+ # {
3171
+ # min: 1,
3172
+ # max: 1,
3173
+ # }
3174
+ #
3175
+ # @!attribute [rw] min
3176
+ # The minimum baseline bandwidth, in Mbps. If this parameter is not
3177
+ # specified, there is no minimum limit.
3178
+ # @return [Integer]
3179
+ #
3180
+ # @!attribute [rw] max
3181
+ # The maximum baseline bandwidth, in Mbps. If this parameter is not
3182
+ # specified, there is no maximum limit.
3183
+ # @return [Integer]
3184
+ #
3185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BaselineEbsBandwidthMbps AWS API Documentation
3186
+ #
3187
+ class BaselineEbsBandwidthMbps < Struct.new(
3188
+ :min,
3189
+ :max)
3190
+ SENSITIVE = []
3191
+ include Aws::Structure
3192
+ end
3193
+
3194
+ # The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For
3195
+ # more information, see [Amazon EBS–optimized instances][1] in the
3196
+ # *Amazon EC2 User Guide*.
3197
+ #
3198
+ #
3199
+ #
3200
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
3201
+ #
3202
+ # @note When making an API call, you may pass BaselineEbsBandwidthMbpsRequest
3203
+ # data as a hash:
3204
+ #
3205
+ # {
3206
+ # min: 1,
3207
+ # max: 1,
3208
+ # }
3209
+ #
3210
+ # @!attribute [rw] min
3211
+ # The minimum baseline bandwidth, in Mbps. To specify no minimum
3212
+ # limit, omit this parameter.
3213
+ # @return [Integer]
3214
+ #
3215
+ # @!attribute [rw] max
3216
+ # The maximum baseline bandwidth, in Mbps. To specify no maximum
3217
+ # limit, omit this parameter.
3218
+ # @return [Integer]
3219
+ #
3220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BaselineEbsBandwidthMbpsRequest AWS API Documentation
3221
+ #
3222
+ class BaselineEbsBandwidthMbpsRequest < Struct.new(
3223
+ :min,
3224
+ :max)
3225
+ SENSITIVE = []
3226
+ include Aws::Structure
3227
+ end
3228
+
3039
3229
  # @note When making an API call, you may pass BlobAttributeValue
3040
3230
  # data as a hash:
3041
3231
  #
@@ -7085,6 +7275,53 @@ module Aws::EC2
7085
7275
  # spread_domain: "String",
7086
7276
  # host_resource_group_arn: "String",
7087
7277
  # },
7278
+ # instance_requirements: {
7279
+ # v_cpu_count: { # required
7280
+ # min: 1, # required
7281
+ # max: 1,
7282
+ # },
7283
+ # memory_mi_b: { # required
7284
+ # min: 1, # required
7285
+ # max: 1,
7286
+ # },
7287
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
7288
+ # memory_gi_b_per_v_cpu: {
7289
+ # min: 1.0,
7290
+ # max: 1.0,
7291
+ # },
7292
+ # excluded_instance_types: ["ExcludedInstanceType"],
7293
+ # instance_generations: ["current"], # accepts current, previous
7294
+ # spot_max_price_percentage_over_lowest_price: 1,
7295
+ # on_demand_max_price_percentage_over_lowest_price: 1,
7296
+ # bare_metal: "included", # accepts included, required, excluded
7297
+ # burstable_performance: "included", # accepts included, required, excluded
7298
+ # require_hibernate_support: false,
7299
+ # network_interface_count: {
7300
+ # min: 1,
7301
+ # max: 1,
7302
+ # },
7303
+ # local_storage: "included", # accepts included, required, excluded
7304
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
7305
+ # total_local_storage_gb: {
7306
+ # min: 1.0,
7307
+ # max: 1.0,
7308
+ # },
7309
+ # baseline_ebs_bandwidth_mbps: {
7310
+ # min: 1,
7311
+ # max: 1,
7312
+ # },
7313
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
7314
+ # accelerator_count: {
7315
+ # min: 1,
7316
+ # max: 1,
7317
+ # },
7318
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
7319
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
7320
+ # accelerator_total_memory_mi_b: {
7321
+ # min: 1,
7322
+ # max: 1,
7323
+ # },
7324
+ # },
7088
7325
  # },
7089
7326
  # ],
7090
7327
  # },
@@ -7094,6 +7331,7 @@ module Aws::EC2
7094
7331
  # on_demand_target_capacity: 1,
7095
7332
  # spot_target_capacity: 1,
7096
7333
  # default_target_capacity_type: "spot", # accepts spot, on-demand
7334
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
7097
7335
  # },
7098
7336
  # terminate_instances_with_expiration: false,
7099
7337
  # type: "request", # accepts request, maintain, instant
@@ -8134,6 +8372,53 @@ module Aws::EC2
8134
8372
  # enclave_options: {
8135
8373
  # enabled: false,
8136
8374
  # },
8375
+ # instance_requirements: {
8376
+ # v_cpu_count: { # required
8377
+ # min: 1, # required
8378
+ # max: 1,
8379
+ # },
8380
+ # memory_mi_b: { # required
8381
+ # min: 1, # required
8382
+ # max: 1,
8383
+ # },
8384
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
8385
+ # memory_gi_b_per_v_cpu: {
8386
+ # min: 1.0,
8387
+ # max: 1.0,
8388
+ # },
8389
+ # excluded_instance_types: ["ExcludedInstanceType"],
8390
+ # instance_generations: ["current"], # accepts current, previous
8391
+ # spot_max_price_percentage_over_lowest_price: 1,
8392
+ # on_demand_max_price_percentage_over_lowest_price: 1,
8393
+ # bare_metal: "included", # accepts included, required, excluded
8394
+ # burstable_performance: "included", # accepts included, required, excluded
8395
+ # require_hibernate_support: false,
8396
+ # network_interface_count: {
8397
+ # min: 1,
8398
+ # max: 1,
8399
+ # },
8400
+ # local_storage: "included", # accepts included, required, excluded
8401
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
8402
+ # total_local_storage_gb: {
8403
+ # min: 1.0,
8404
+ # max: 1.0,
8405
+ # },
8406
+ # baseline_ebs_bandwidth_mbps: {
8407
+ # min: 1,
8408
+ # max: 1,
8409
+ # },
8410
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
8411
+ # accelerator_count: {
8412
+ # min: 1,
8413
+ # max: 1,
8414
+ # },
8415
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
8416
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
8417
+ # accelerator_total_memory_mi_b: {
8418
+ # min: 1,
8419
+ # max: 1,
8420
+ # },
8421
+ # },
8137
8422
  # },
8138
8423
  # tag_specifications: [
8139
8424
  # {
@@ -8374,6 +8659,53 @@ module Aws::EC2
8374
8659
  # enclave_options: {
8375
8660
  # enabled: false,
8376
8661
  # },
8662
+ # instance_requirements: {
8663
+ # v_cpu_count: { # required
8664
+ # min: 1, # required
8665
+ # max: 1,
8666
+ # },
8667
+ # memory_mi_b: { # required
8668
+ # min: 1, # required
8669
+ # max: 1,
8670
+ # },
8671
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
8672
+ # memory_gi_b_per_v_cpu: {
8673
+ # min: 1.0,
8674
+ # max: 1.0,
8675
+ # },
8676
+ # excluded_instance_types: ["ExcludedInstanceType"],
8677
+ # instance_generations: ["current"], # accepts current, previous
8678
+ # spot_max_price_percentage_over_lowest_price: 1,
8679
+ # on_demand_max_price_percentage_over_lowest_price: 1,
8680
+ # bare_metal: "included", # accepts included, required, excluded
8681
+ # burstable_performance: "included", # accepts included, required, excluded
8682
+ # require_hibernate_support: false,
8683
+ # network_interface_count: {
8684
+ # min: 1,
8685
+ # max: 1,
8686
+ # },
8687
+ # local_storage: "included", # accepts included, required, excluded
8688
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
8689
+ # total_local_storage_gb: {
8690
+ # min: 1.0,
8691
+ # max: 1.0,
8692
+ # },
8693
+ # baseline_ebs_bandwidth_mbps: {
8694
+ # min: 1,
8695
+ # max: 1,
8696
+ # },
8697
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
8698
+ # accelerator_count: {
8699
+ # min: 1,
8700
+ # max: 1,
8701
+ # },
8702
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
8703
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
8704
+ # accelerator_total_memory_mi_b: {
8705
+ # min: 1,
8706
+ # max: 1,
8707
+ # },
8708
+ # },
8377
8709
  # },
8378
8710
  # }
8379
8711
  #
@@ -19499,7 +19831,10 @@ module Aws::EC2
19499
19831
  # index for the instance in the launch group (for example, 0, 1, 2,
19500
19832
  # and so on).
19501
19833
  #
19502
- # * `launch-time` - The time when the instance was launched.
19834
+ # * `launch-time` - The time when the instance was launched, in the
19835
+ # ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ),
19836
+ # for example, `2021-09-29T11:04:43.305Z`. You can use a wildcard
19837
+ # (`*`), for example, `2021-09-29T*`, which matches an entire day.
19503
19838
  #
19504
19839
  # * `metadata-options.http-tokens` - The metadata request
19505
19840
  # authorization state (`optional` \| `required`)
@@ -30790,6 +31125,53 @@ module Aws::EC2
30790
31125
  # spread_domain: "String",
30791
31126
  # host_resource_group_arn: "String",
30792
31127
  # },
31128
+ # instance_requirements: {
31129
+ # v_cpu_count: { # required
31130
+ # min: 1, # required
31131
+ # max: 1,
31132
+ # },
31133
+ # memory_mi_b: { # required
31134
+ # min: 1, # required
31135
+ # max: 1,
31136
+ # },
31137
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
31138
+ # memory_gi_b_per_v_cpu: {
31139
+ # min: 1.0,
31140
+ # max: 1.0,
31141
+ # },
31142
+ # excluded_instance_types: ["ExcludedInstanceType"],
31143
+ # instance_generations: ["current"], # accepts current, previous
31144
+ # spot_max_price_percentage_over_lowest_price: 1,
31145
+ # on_demand_max_price_percentage_over_lowest_price: 1,
31146
+ # bare_metal: "included", # accepts included, required, excluded
31147
+ # burstable_performance: "included", # accepts included, required, excluded
31148
+ # require_hibernate_support: false,
31149
+ # network_interface_count: {
31150
+ # min: 1,
31151
+ # max: 1,
31152
+ # },
31153
+ # local_storage: "included", # accepts included, required, excluded
31154
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
31155
+ # total_local_storage_gb: {
31156
+ # min: 1.0,
31157
+ # max: 1.0,
31158
+ # },
31159
+ # baseline_ebs_bandwidth_mbps: {
31160
+ # min: 1,
31161
+ # max: 1,
31162
+ # },
31163
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
31164
+ # accelerator_count: {
31165
+ # min: 1,
31166
+ # max: 1,
31167
+ # },
31168
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
31169
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
31170
+ # accelerator_total_memory_mi_b: {
31171
+ # min: 1,
31172
+ # max: 1,
31173
+ # },
31174
+ # },
30793
31175
  # },
30794
31176
  # ],
30795
31177
  # }
@@ -30820,6 +31202,11 @@ module Aws::EC2
30820
31202
  #
30821
31203
  # @!attribute [rw] instance_type
30822
31204
  # The instance type.
31205
+ #
31206
+ # <note markdown="1"> If you specify `InstanceTypes`, you can't specify
31207
+ # `InstanceRequirements`.
31208
+ #
31209
+ # </note>
30823
31210
  # @return [String]
30824
31211
  #
30825
31212
  # @!attribute [rw] max_price
@@ -30862,6 +31249,17 @@ module Aws::EC2
30862
31249
  # The location where the instance launched, if applicable.
30863
31250
  # @return [Types::PlacementResponse]
30864
31251
  #
31252
+ # @!attribute [rw] instance_requirements
31253
+ # The attributes for the instance types. When you specify instance
31254
+ # attributes, Amazon EC2 will identify instance types with those
31255
+ # attributes.
31256
+ #
31257
+ # <note markdown="1"> If you specify `InstanceRequirements`, you can't specify
31258
+ # `InstanceTypes`.
31259
+ #
31260
+ # </note>
31261
+ # @return [Types::InstanceRequirements]
31262
+ #
30865
31263
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateOverrides AWS API Documentation
30866
31264
  #
30867
31265
  class FleetLaunchTemplateOverrides < Struct.new(
@@ -30871,7 +31269,8 @@ module Aws::EC2
30871
31269
  :availability_zone,
30872
31270
  :weighted_capacity,
30873
31271
  :priority,
30874
- :placement)
31272
+ :placement,
31273
+ :instance_requirements)
30875
31274
  SENSITIVE = []
30876
31275
  include Aws::Structure
30877
31276
  end
@@ -30898,10 +31297,62 @@ module Aws::EC2
30898
31297
  # spread_domain: "String",
30899
31298
  # host_resource_group_arn: "String",
30900
31299
  # },
31300
+ # instance_requirements: {
31301
+ # v_cpu_count: { # required
31302
+ # min: 1, # required
31303
+ # max: 1,
31304
+ # },
31305
+ # memory_mi_b: { # required
31306
+ # min: 1, # required
31307
+ # max: 1,
31308
+ # },
31309
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
31310
+ # memory_gi_b_per_v_cpu: {
31311
+ # min: 1.0,
31312
+ # max: 1.0,
31313
+ # },
31314
+ # excluded_instance_types: ["ExcludedInstanceType"],
31315
+ # instance_generations: ["current"], # accepts current, previous
31316
+ # spot_max_price_percentage_over_lowest_price: 1,
31317
+ # on_demand_max_price_percentage_over_lowest_price: 1,
31318
+ # bare_metal: "included", # accepts included, required, excluded
31319
+ # burstable_performance: "included", # accepts included, required, excluded
31320
+ # require_hibernate_support: false,
31321
+ # network_interface_count: {
31322
+ # min: 1,
31323
+ # max: 1,
31324
+ # },
31325
+ # local_storage: "included", # accepts included, required, excluded
31326
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
31327
+ # total_local_storage_gb: {
31328
+ # min: 1.0,
31329
+ # max: 1.0,
31330
+ # },
31331
+ # baseline_ebs_bandwidth_mbps: {
31332
+ # min: 1,
31333
+ # max: 1,
31334
+ # },
31335
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
31336
+ # accelerator_count: {
31337
+ # min: 1,
31338
+ # max: 1,
31339
+ # },
31340
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
31341
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
31342
+ # accelerator_total_memory_mi_b: {
31343
+ # min: 1,
31344
+ # max: 1,
31345
+ # },
31346
+ # },
30901
31347
  # }
30902
31348
  #
30903
31349
  # @!attribute [rw] instance_type
30904
31350
  # The instance type.
31351
+ #
31352
+ # <note markdown="1"> If you specify `InstanceTypes`, you can't specify
31353
+ # `InstanceRequirements`.
31354
+ #
31355
+ # </note>
30905
31356
  # @return [String]
30906
31357
  #
30907
31358
  # @!attribute [rw] max_price
@@ -30947,6 +31398,17 @@ module Aws::EC2
30947
31398
  # The location where the instance launched, if applicable.
30948
31399
  # @return [Types::Placement]
30949
31400
  #
31401
+ # @!attribute [rw] instance_requirements
31402
+ # The attributes for the instance types. When you specify instance
31403
+ # attributes, Amazon EC2 will identify instance types with those
31404
+ # attributes.
31405
+ #
31406
+ # <note markdown="1"> If you specify `InstanceRequirements`, you can't specify
31407
+ # `InstanceTypes`.
31408
+ #
31409
+ # </note>
31410
+ # @return [Types::InstanceRequirementsRequest]
31411
+ #
30950
31412
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateOverridesRequest AWS API Documentation
30951
31413
  #
30952
31414
  class FleetLaunchTemplateOverridesRequest < Struct.new(
@@ -30956,7 +31418,8 @@ module Aws::EC2
30956
31418
  :availability_zone,
30957
31419
  :weighted_capacity,
30958
31420
  :priority,
30959
- :placement)
31421
+ :placement,
31422
+ :instance_requirements)
30960
31423
  SENSITIVE = []
30961
31424
  include Aws::Structure
30962
31425
  end
@@ -32192,6 +32655,124 @@ module Aws::EC2
32192
32655
  include Aws::Structure
32193
32656
  end
32194
32657
 
32658
+ # @note When making an API call, you may pass GetInstanceTypesFromInstanceRequirementsRequest
32659
+ # data as a hash:
32660
+ #
32661
+ # {
32662
+ # dry_run: false,
32663
+ # architecture_types: ["i386"], # required, accepts i386, x86_64, arm64, x86_64_mac
32664
+ # virtualization_types: ["hvm"], # required, accepts hvm, paravirtual
32665
+ # instance_requirements: { # required
32666
+ # v_cpu_count: { # required
32667
+ # min: 1, # required
32668
+ # max: 1,
32669
+ # },
32670
+ # memory_mi_b: { # required
32671
+ # min: 1, # required
32672
+ # max: 1,
32673
+ # },
32674
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
32675
+ # memory_gi_b_per_v_cpu: {
32676
+ # min: 1.0,
32677
+ # max: 1.0,
32678
+ # },
32679
+ # excluded_instance_types: ["ExcludedInstanceType"],
32680
+ # instance_generations: ["current"], # accepts current, previous
32681
+ # spot_max_price_percentage_over_lowest_price: 1,
32682
+ # on_demand_max_price_percentage_over_lowest_price: 1,
32683
+ # bare_metal: "included", # accepts included, required, excluded
32684
+ # burstable_performance: "included", # accepts included, required, excluded
32685
+ # require_hibernate_support: false,
32686
+ # network_interface_count: {
32687
+ # min: 1,
32688
+ # max: 1,
32689
+ # },
32690
+ # local_storage: "included", # accepts included, required, excluded
32691
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
32692
+ # total_local_storage_gb: {
32693
+ # min: 1.0,
32694
+ # max: 1.0,
32695
+ # },
32696
+ # baseline_ebs_bandwidth_mbps: {
32697
+ # min: 1,
32698
+ # max: 1,
32699
+ # },
32700
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
32701
+ # accelerator_count: {
32702
+ # min: 1,
32703
+ # max: 1,
32704
+ # },
32705
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
32706
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
32707
+ # accelerator_total_memory_mi_b: {
32708
+ # min: 1,
32709
+ # max: 1,
32710
+ # },
32711
+ # },
32712
+ # max_results: 1,
32713
+ # next_token: "String",
32714
+ # }
32715
+ #
32716
+ # @!attribute [rw] dry_run
32717
+ # Checks whether you have the required permissions for the action,
32718
+ # without actually making the request, and provides an error response.
32719
+ # If you have the required permissions, the error response is
32720
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
32721
+ # @return [Boolean]
32722
+ #
32723
+ # @!attribute [rw] architecture_types
32724
+ # The processor architecture type.
32725
+ # @return [Array<String>]
32726
+ #
32727
+ # @!attribute [rw] virtualization_types
32728
+ # The virtualization type.
32729
+ # @return [Array<String>]
32730
+ #
32731
+ # @!attribute [rw] instance_requirements
32732
+ # The attributes required for the instance types.
32733
+ # @return [Types::InstanceRequirementsRequest]
32734
+ #
32735
+ # @!attribute [rw] max_results
32736
+ # The maximum number of results to return in a single call. Specify a
32737
+ # value between 1 and
 1000. The default value is 1000. To retrieve
32738
+ # the remaining results, make another call with
 the returned
32739
+ # `NextToken` value.
32740
+ # @return [Integer]
32741
+ #
32742
+ # @!attribute [rw] next_token
32743
+ # The token for the next set of results.
32744
+ # @return [String]
32745
+ #
32746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetInstanceTypesFromInstanceRequirementsRequest AWS API Documentation
32747
+ #
32748
+ class GetInstanceTypesFromInstanceRequirementsRequest < Struct.new(
32749
+ :dry_run,
32750
+ :architecture_types,
32751
+ :virtualization_types,
32752
+ :instance_requirements,
32753
+ :max_results,
32754
+ :next_token)
32755
+ SENSITIVE = []
32756
+ include Aws::Structure
32757
+ end
32758
+
32759
+ # @!attribute [rw] instance_types
32760
+ # The instance types with the specified instance attributes.
32761
+ # @return [Array<Types::InstanceTypeInfoFromInstanceRequirements>]
32762
+ #
32763
+ # @!attribute [rw] next_token
32764
+ # The token for the next set of results.
32765
+ # @return [String]
32766
+ #
32767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetInstanceTypesFromInstanceRequirementsResult AWS API Documentation
32768
+ #
32769
+ class GetInstanceTypesFromInstanceRequirementsResult < Struct.new(
32770
+ :instance_types,
32771
+ :next_token)
32772
+ SENSITIVE = []
32773
+ include Aws::Structure
32774
+ end
32775
+
32195
32776
  # @note When making an API call, you may pass GetLaunchTemplateDataRequest
32196
32777
  # data as a hash:
32197
32778
  #
@@ -32543,6 +33124,189 @@ module Aws::EC2
32543
33124
  include Aws::Structure
32544
33125
  end
32545
33126
 
33127
+ # @note When making an API call, you may pass GetSpotPlacementScoresRequest
33128
+ # data as a hash:
33129
+ #
33130
+ # {
33131
+ # instance_types: ["String"],
33132
+ # target_capacity: 1, # required
33133
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
33134
+ # single_availability_zone: false,
33135
+ # region_names: ["String"],
33136
+ # instance_requirements_with_metadata: {
33137
+ # architecture_types: ["i386"], # accepts i386, x86_64, arm64, x86_64_mac
33138
+ # virtualization_types: ["hvm"], # accepts hvm, paravirtual
33139
+ # instance_requirements: {
33140
+ # v_cpu_count: { # required
33141
+ # min: 1, # required
33142
+ # max: 1,
33143
+ # },
33144
+ # memory_mi_b: { # required
33145
+ # min: 1, # required
33146
+ # max: 1,
33147
+ # },
33148
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
33149
+ # memory_gi_b_per_v_cpu: {
33150
+ # min: 1.0,
33151
+ # max: 1.0,
33152
+ # },
33153
+ # excluded_instance_types: ["ExcludedInstanceType"],
33154
+ # instance_generations: ["current"], # accepts current, previous
33155
+ # spot_max_price_percentage_over_lowest_price: 1,
33156
+ # on_demand_max_price_percentage_over_lowest_price: 1,
33157
+ # bare_metal: "included", # accepts included, required, excluded
33158
+ # burstable_performance: "included", # accepts included, required, excluded
33159
+ # require_hibernate_support: false,
33160
+ # network_interface_count: {
33161
+ # min: 1,
33162
+ # max: 1,
33163
+ # },
33164
+ # local_storage: "included", # accepts included, required, excluded
33165
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
33166
+ # total_local_storage_gb: {
33167
+ # min: 1.0,
33168
+ # max: 1.0,
33169
+ # },
33170
+ # baseline_ebs_bandwidth_mbps: {
33171
+ # min: 1,
33172
+ # max: 1,
33173
+ # },
33174
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
33175
+ # accelerator_count: {
33176
+ # min: 1,
33177
+ # max: 1,
33178
+ # },
33179
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
33180
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
33181
+ # accelerator_total_memory_mi_b: {
33182
+ # min: 1,
33183
+ # max: 1,
33184
+ # },
33185
+ # },
33186
+ # },
33187
+ # dry_run: false,
33188
+ # max_results: 1,
33189
+ # next_token: "String",
33190
+ # }
33191
+ #
33192
+ # @!attribute [rw] instance_types
33193
+ # The instance types. We recommend that you specify at least three
33194
+ # instance types. If you specify one or two instance types, or specify
33195
+ # variations of a single instance type (for example, an `m3.xlarge`
33196
+ # with and without instance storage), the returned placement score
33197
+ # will always be low.
33198
+ #
33199
+ # If you specify `InstanceTypes`, you can't specify
33200
+ # `InstanceRequirementsWithMetadata`.
33201
+ # @return [Array<String>]
33202
+ #
33203
+ # @!attribute [rw] target_capacity
33204
+ # The target capacity.
33205
+ # @return [Integer]
33206
+ #
33207
+ # @!attribute [rw] target_capacity_unit_type
33208
+ # The unit for the target capacity.
33209
+ #
33210
+ # Default: `units` (translates to number of instances)
33211
+ # @return [String]
33212
+ #
33213
+ # @!attribute [rw] single_availability_zone
33214
+ # Specify `true` so that the response returns a list of scored
33215
+ # Availability Zones. Otherwise, the response returns a list of scored
33216
+ # Regions.
33217
+ #
33218
+ # A list of scored Availability Zones is useful if you want to launch
33219
+ # all of your Spot capacity into a single Availability Zone.
33220
+ # @return [Boolean]
33221
+ #
33222
+ # @!attribute [rw] region_names
33223
+ # The Regions used to narrow down the list of Regions to be scored.
33224
+ # Enter the Region code, for example, `us-east-1`.
33225
+ # @return [Array<String>]
33226
+ #
33227
+ # @!attribute [rw] instance_requirements_with_metadata
33228
+ # The attributes for the instance types. When you specify instance
33229
+ # attributes, Amazon EC2 will identify instance types with those
33230
+ # attributes.
33231
+ #
33232
+ # If you specify `InstanceRequirementsWithMetadata`, you can't
33233
+ # specify `InstanceTypes`.
33234
+ # @return [Types::InstanceRequirementsWithMetadataRequest]
33235
+ #
33236
+ # @!attribute [rw] dry_run
33237
+ # Checks whether you have the required permissions for the action,
33238
+ # without actually making the request, and provides an error response.
33239
+ # If you have the required permissions, the error response is
33240
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
33241
+ # @return [Boolean]
33242
+ #
33243
+ # @!attribute [rw] max_results
33244
+ # The maximum number of results to return in a single call. Specify a
33245
+ # value between 1 and
 1000. The default value is 1000. To retrieve
33246
+ # the remaining results, make another call with
 the returned
33247
+ # `NextToken` value.
33248
+ # @return [Integer]
33249
+ #
33250
+ # @!attribute [rw] next_token
33251
+ # The token for the next set of results.
33252
+ # @return [String]
33253
+ #
33254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSpotPlacementScoresRequest AWS API Documentation
33255
+ #
33256
+ class GetSpotPlacementScoresRequest < Struct.new(
33257
+ :instance_types,
33258
+ :target_capacity,
33259
+ :target_capacity_unit_type,
33260
+ :single_availability_zone,
33261
+ :region_names,
33262
+ :instance_requirements_with_metadata,
33263
+ :dry_run,
33264
+ :max_results,
33265
+ :next_token)
33266
+ SENSITIVE = []
33267
+ include Aws::Structure
33268
+ end
33269
+
33270
+ # @!attribute [rw] spot_placement_scores
33271
+ # The Spot placement score for the top 10 Regions or Availability
33272
+ # Zones, scored on a scale from 1 to 10. Each score
 reflects how
33273
+ # likely it is that each Region or Availability Zone will succeed at
33274
+ # fulfilling the specified target capacity
 *at the time of the Spot
33275
+ # placement score request*. A score of `10` means that your Spot
33276
+ # capacity request is highly likely to succeed in that Region or
33277
+ # Availability Zone.
33278
+ #
33279
+ # If you request a Spot placement score for Regions, a high score
33280
+ # assumes that your fleet request will be configured to use all
33281
+ # Availability Zones and the `capacity-optimized` allocation strategy.
33282
+ # If you request a Spot placement score for Availability Zones, a high
33283
+ # score assumes that your fleet request will be configured to use a
33284
+ # single Availability Zone and the `capacity-optimized` allocation
33285
+ # strategy.
33286
+ #
33287
+ # Different
 Regions or Availability Zones might return the same
33288
+ # score.
33289
+ #
33290
+ # <note markdown="1"> The Spot placement score serves as a recommendation only. No score
33291
+ # guarantees that your Spot request will be fully or partially
33292
+ # fulfilled.
33293
+ #
33294
+ # </note>
33295
+ # @return [Array<Types::SpotPlacementScore>]
33296
+ #
33297
+ # @!attribute [rw] next_token
33298
+ # The token for the next set of results.
33299
+ # @return [String]
33300
+ #
33301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSpotPlacementScoresResult AWS API Documentation
33302
+ #
33303
+ class GetSpotPlacementScoresResult < Struct.new(
33304
+ :spot_placement_scores,
33305
+ :next_token)
33306
+ SENSITIVE = []
33307
+ include Aws::Structure
33308
+ end
33309
+
32546
33310
  # @note When making an API call, you may pass GetSubnetCidrReservationsRequest
32547
33311
  # data as a hash:
32548
33312
  #
@@ -36857,6 +37621,868 @@ module Aws::EC2
36857
37621
  include Aws::Structure
36858
37622
  end
36859
37623
 
37624
+ # The attributes for the instance types. When you specify instance
37625
+ # attributes, Amazon EC2 will identify instance types with these
37626
+ # attributes.
37627
+ #
37628
+ # When you specify multiple parameters, you get instance types that
37629
+ # satisfy all of the specified parameters. If you specify multiple
37630
+ # values for a parameter, you get instance types that satisfy any of the
37631
+ # specified values.
37632
+ #
37633
+ # <note markdown="1"> You must specify `VCpuCount` and `MemoryMiB`. All other parameters are
37634
+ # optional. Any unspecified optional parameter is set to its default.
37635
+ #
37636
+ # </note>
37637
+ #
37638
+ # For more information, see [Attribute-based instance type selection for
37639
+ # EC2 Fleet][1], [Attribute-based instance type selection for Spot
37640
+ # Fleet][2], and [Spot placement score][3] in the *Amazon EC2 User
37641
+ # Guide*.
37642
+ #
37643
+ #
37644
+ #
37645
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html
37646
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html
37647
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html
37648
+ #
37649
+ # @note When making an API call, you may pass InstanceRequirements
37650
+ # data as a hash:
37651
+ #
37652
+ # {
37653
+ # v_cpu_count: {
37654
+ # min: 1,
37655
+ # max: 1,
37656
+ # },
37657
+ # memory_mi_b: {
37658
+ # min: 1,
37659
+ # max: 1,
37660
+ # },
37661
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
37662
+ # memory_gi_b_per_v_cpu: {
37663
+ # min: 1.0,
37664
+ # max: 1.0,
37665
+ # },
37666
+ # excluded_instance_types: ["ExcludedInstanceType"],
37667
+ # instance_generations: ["current"], # accepts current, previous
37668
+ # spot_max_price_percentage_over_lowest_price: 1,
37669
+ # on_demand_max_price_percentage_over_lowest_price: 1,
37670
+ # bare_metal: "included", # accepts included, required, excluded
37671
+ # burstable_performance: "included", # accepts included, required, excluded
37672
+ # require_hibernate_support: false,
37673
+ # network_interface_count: {
37674
+ # min: 1,
37675
+ # max: 1,
37676
+ # },
37677
+ # local_storage: "included", # accepts included, required, excluded
37678
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
37679
+ # total_local_storage_gb: {
37680
+ # min: 1.0,
37681
+ # max: 1.0,
37682
+ # },
37683
+ # baseline_ebs_bandwidth_mbps: {
37684
+ # min: 1,
37685
+ # max: 1,
37686
+ # },
37687
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
37688
+ # accelerator_count: {
37689
+ # min: 1,
37690
+ # max: 1,
37691
+ # },
37692
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
37693
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
37694
+ # accelerator_total_memory_mi_b: {
37695
+ # min: 1,
37696
+ # max: 1,
37697
+ # },
37698
+ # }
37699
+ #
37700
+ # @!attribute [rw] v_cpu_count
37701
+ # The minimum and maximum number of vCPUs.
37702
+ # @return [Types::VCpuCountRange]
37703
+ #
37704
+ # @!attribute [rw] memory_mi_b
37705
+ # The minimum and maximum amount of memory, in MiB.
37706
+ # @return [Types::MemoryMiB]
37707
+ #
37708
+ # @!attribute [rw] cpu_manufacturers
37709
+ # The CPU manufacturers to include.
37710
+ #
37711
+ # * For instance types with Intel CPUs, specify `intel`.
37712
+ #
37713
+ # * For instance types with AMD CPUs, specify `amd`.
37714
+ #
37715
+ # * For instance types with Amazon Web Services CPUs, specify
37716
+ # `amazon-web-services`.
37717
+ #
37718
+ # <note markdown="1"> Don't confuse the CPU manufacturer with the CPU architecture.
37719
+ # Instances will be launched with a compatible CPU architecture based
37720
+ # on the Amazon Machine Image (AMI) that you specify in your launch
37721
+ # template.
37722
+ #
37723
+ # </note>
37724
+ #
37725
+ # Default: Any manufacturer
37726
+ # @return [Array<String>]
37727
+ #
37728
+ # @!attribute [rw] memory_gi_b_per_v_cpu
37729
+ # The minimum and maximum amount of memory per vCPU, in GiB.
37730
+ #
37731
+ # Default: No minimum or maximum limits
37732
+ # @return [Types::MemoryGiBPerVCpu]
37733
+ #
37734
+ # @!attribute [rw] excluded_instance_types
37735
+ # The instance types to exclude. You can use strings with one or more
37736
+ # wild cards, represented by an asterisk (`*`), to exclude an instance
37737
+ # type, size, or generation. The following are examples: `m5.8xlarge`,
37738
+ # `c5*.*`, `m5a.*`, `r*`, `*3*`.
37739
+ #
37740
+ # For example, if you specify `c5*.*`, Amazon EC2 will exclude the
37741
+ # entire C5 instance family (all C5a and C5n instance types). If you
37742
+ # specify `c5a.*`, Amazon EC2 excludes all the C5a instance types, but
37743
+ # does not exclude the C5n instance types.
37744
+ #
37745
+ # Default: No excluded instance types
37746
+ # @return [Array<String>]
37747
+ #
37748
+ # @!attribute [rw] instance_generations
37749
+ # Indicates whether current or previous generation instance types are
37750
+ # included. The current generation instance types are recommended for
37751
+ # use. Current generation instance types are typically the latest two
37752
+ # to three generations in each instance family. For more information,
37753
+ # see [Instance types][1] in the *Amazon EC2 User Guide*.
37754
+ #
37755
+ # For current generation instance types, specify `current`.
37756
+ #
37757
+ # For previous generation instance types, specify `previous`.
37758
+ #
37759
+ # Default: Current and previous generation instance types
37760
+ #
37761
+ #
37762
+ #
37763
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
37764
+ # @return [Array<String>]
37765
+ #
37766
+ # @!attribute [rw] spot_max_price_percentage_over_lowest_price
37767
+ # The price protection threshold for Spot Instances. This is the
37768
+ # maximum you’ll pay for a Spot Instance, expressed as a percentage
37769
+ # above the cheapest M, C, or R instance type with your specified
37770
+ # attributes. When Amazon EC2 selects instance types with your
37771
+ # attributes, it excludes instance types priced above your threshold.
37772
+ #
37773
+ # The parameter accepts an integer, which Amazon EC2 interprets as a
37774
+ # percentage.
37775
+ #
37776
+ # To turn off price protection, specify a high value, such as
37777
+ # `999999`.
37778
+ #
37779
+ # This parameter is not supported for [GetSpotPlacementScores][1] and
37780
+ # [GetInstanceTypesFromInstanceRequirements][2].
37781
+ #
37782
+ # Default: `100`
37783
+ #
37784
+ #
37785
+ #
37786
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
37787
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html
37788
+ # @return [Integer]
37789
+ #
37790
+ # @!attribute [rw] on_demand_max_price_percentage_over_lowest_price
37791
+ # The price protection threshold for On-Demand Instances. This is the
37792
+ # maximum you’ll pay for an On-Demand Instance, expressed as a
37793
+ # percentage above the cheapest M, C, or R instance type with your
37794
+ # specified attributes. When Amazon EC2 selects instance types with
37795
+ # your attributes, it excludes instance types priced above your
37796
+ # threshold.
37797
+ #
37798
+ # The parameter accepts an integer, which Amazon EC2 interprets as a
37799
+ # percentage.
37800
+ #
37801
+ # To turn off price protection, specify a high value, such as
37802
+ # `999999`.
37803
+ #
37804
+ # This parameter is not supported for [GetSpotPlacementScores][1] and
37805
+ # [GetInstanceTypesFromInstanceRequirements][2].
37806
+ #
37807
+ # Default: `20`
37808
+ #
37809
+ #
37810
+ #
37811
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
37812
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html
37813
+ # @return [Integer]
37814
+ #
37815
+ # @!attribute [rw] bare_metal
37816
+ # Indicates whether bare metal instance types must be included,
37817
+ # excluded, or required.
37818
+ #
37819
+ # * To include bare metal instance types, specify `included`.
37820
+ #
37821
+ # * To require only bare metal instance types, specify `required`.
37822
+ #
37823
+ # * To exclude bare metal instance types, specify `excluded`.
37824
+ #
37825
+ # Default: `excluded`
37826
+ # @return [String]
37827
+ #
37828
+ # @!attribute [rw] burstable_performance
37829
+ # Indicates whether burstable performance T instance types are
37830
+ # included, excluded, or required. For more information, see
37831
+ # [Burstable performance instances][1].
37832
+ #
37833
+ # * To include burstable performance instance types, specify
37834
+ # `included`.
37835
+ #
37836
+ # * To require only burstable performance instance types, specify
37837
+ # `required`.
37838
+ #
37839
+ # * To exclude burstable performance instance types, specify
37840
+ # `excluded`.
37841
+ #
37842
+ # Default: `excluded`
37843
+ #
37844
+ #
37845
+ #
37846
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html
37847
+ # @return [String]
37848
+ #
37849
+ # @!attribute [rw] require_hibernate_support
37850
+ # Indicates whether instance types must support hibernation for
37851
+ # On-Demand Instances.
37852
+ #
37853
+ # This parameter is not supported for [GetSpotPlacementScores][1].
37854
+ #
37855
+ # Default: `false`
37856
+ #
37857
+ #
37858
+ #
37859
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
37860
+ # @return [Boolean]
37861
+ #
37862
+ # @!attribute [rw] network_interface_count
37863
+ # The minimum and maximum number of network interfaces.
37864
+ #
37865
+ # Default: No minimum or maximum limits
37866
+ # @return [Types::NetworkInterfaceCount]
37867
+ #
37868
+ # @!attribute [rw] local_storage
37869
+ # Indicates whether instance types with instance store volumes are
37870
+ # included, excluded, or required. For more information, [Amazon EC2
37871
+ # instance store][1] in the *Amazon EC2 User Guide*.
37872
+ #
37873
+ # * To include instance types with instance store volumes, specify
37874
+ # `included`.
37875
+ #
37876
+ # * To require only instance types with instance store volumes,
37877
+ # specify `required`.
37878
+ #
37879
+ # * To exclude instance types with instance store volumes, specify
37880
+ # `excluded`.
37881
+ #
37882
+ # Default: `included`
37883
+ #
37884
+ #
37885
+ #
37886
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
37887
+ # @return [String]
37888
+ #
37889
+ # @!attribute [rw] local_storage_types
37890
+ # The type of local storage that is required.
37891
+ #
37892
+ # * For instance types with hard disk drive (HDD) storage, specify
37893
+ # `hdd`.
37894
+ #
37895
+ # * For instance types with solid state drive (SDD) storage, specify
37896
+ # `sdd`.
37897
+ #
37898
+ # Default: `hdd` and `sdd`
37899
+ # @return [Array<String>]
37900
+ #
37901
+ # @!attribute [rw] total_local_storage_gb
37902
+ # The minimum and maximum amount of total local storage, in GB.
37903
+ #
37904
+ # Default: No minimum or maximum limits
37905
+ # @return [Types::TotalLocalStorageGB]
37906
+ #
37907
+ # @!attribute [rw] baseline_ebs_bandwidth_mbps
37908
+ # The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
37909
+ # For more information, see [Amazon EBS–optimized instances][1] in the
37910
+ # *Amazon EC2 User Guide*.
37911
+ #
37912
+ # Default: No minimum or maximum limits
37913
+ #
37914
+ #
37915
+ #
37916
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
37917
+ # @return [Types::BaselineEbsBandwidthMbps]
37918
+ #
37919
+ # @!attribute [rw] accelerator_types
37920
+ # The accelerator types that must be on the instance type.
37921
+ #
37922
+ # * For instance types with GPU accelerators, specify `gpu`.
37923
+ #
37924
+ # * For instance types with FPGA accelerators, specify `fpga`.
37925
+ #
37926
+ # * For instance types with inference accelerators, specify
37927
+ # `inference`.
37928
+ #
37929
+ # Default: Any accelerator type
37930
+ # @return [Array<String>]
37931
+ #
37932
+ # @!attribute [rw] accelerator_count
37933
+ # The minimum and maximum number of accelerators (GPUs, FPGAs, or
37934
+ # Amazon Web Services Inferentia chips) on an instance.
37935
+ #
37936
+ # To exclude accelerator-enabled instance types, set `Max` to `0`.
37937
+ #
37938
+ # Default: No minimum or maximum limits
37939
+ # @return [Types::AcceleratorCount]
37940
+ #
37941
+ # @!attribute [rw] accelerator_manufacturers
37942
+ # Indicates whether instance types must have accelerators by specific
37943
+ # manufacturers.
37944
+ #
37945
+ # * For instance types with NVIDIA devices, specify `nvidia`.
37946
+ #
37947
+ # * For instance types with AMD devices, specify `amd`.
37948
+ #
37949
+ # * For instance types with Amazon Web Services devices, specify
37950
+ # `amazon-web-services`.
37951
+ #
37952
+ # * For instance types with Xilinx devices, specify `xilinx`.
37953
+ #
37954
+ # Default: Any manufacturer
37955
+ # @return [Array<String>]
37956
+ #
37957
+ # @!attribute [rw] accelerator_names
37958
+ # The accelerators that must be on the instance type.
37959
+ #
37960
+ # * For instance types with NVIDIA A100 GPUs, specify `a100`.
37961
+ #
37962
+ # * For instance types with NVIDIA V100 GPUs, specify `v100`.
37963
+ #
37964
+ # * For instance types with NVIDIA K80 GPUs, specify `k80`.
37965
+ #
37966
+ # * For instance types with NVIDIA T4 GPUs, specify `t4`.
37967
+ #
37968
+ # * For instance types with NVIDIA M60 GPUs, specify `m60`.
37969
+ #
37970
+ # * For instance types with AMD Radeon Pro V520 GPUs, specify
37971
+ # `radeon-pro-v520`.
37972
+ #
37973
+ # * For instance types with Xilinx VU9P FPGAs, specify `vu9p`.
37974
+ #
37975
+ # Default: Any accelerator
37976
+ # @return [Array<String>]
37977
+ #
37978
+ # @!attribute [rw] accelerator_total_memory_mi_b
37979
+ # The minimum and maximum amount of total accelerator memory, in MiB.
37980
+ #
37981
+ # Default: No minimum or maximum limits
37982
+ # @return [Types::AcceleratorTotalMemoryMiB]
37983
+ #
37984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceRequirements AWS API Documentation
37985
+ #
37986
+ class InstanceRequirements < Struct.new(
37987
+ :v_cpu_count,
37988
+ :memory_mi_b,
37989
+ :cpu_manufacturers,
37990
+ :memory_gi_b_per_v_cpu,
37991
+ :excluded_instance_types,
37992
+ :instance_generations,
37993
+ :spot_max_price_percentage_over_lowest_price,
37994
+ :on_demand_max_price_percentage_over_lowest_price,
37995
+ :bare_metal,
37996
+ :burstable_performance,
37997
+ :require_hibernate_support,
37998
+ :network_interface_count,
37999
+ :local_storage,
38000
+ :local_storage_types,
38001
+ :total_local_storage_gb,
38002
+ :baseline_ebs_bandwidth_mbps,
38003
+ :accelerator_types,
38004
+ :accelerator_count,
38005
+ :accelerator_manufacturers,
38006
+ :accelerator_names,
38007
+ :accelerator_total_memory_mi_b)
38008
+ SENSITIVE = []
38009
+ include Aws::Structure
38010
+ end
38011
+
38012
+ # The attributes for the instance types. When you specify instance
38013
+ # attributes, Amazon EC2 will identify instance types with these
38014
+ # attributes.
38015
+ #
38016
+ # When you specify multiple parameters, you get instance types that
38017
+ # satisfy all of the specified parameters. If you specify multiple
38018
+ # values for a parameter, you get instance types that satisfy any of the
38019
+ # specified values.
38020
+ #
38021
+ # <note markdown="1"> You must specify `VCpuCount` and `MemoryMiB`. All other parameters are
38022
+ # optional. Any unspecified optional parameter is set to its default.
38023
+ #
38024
+ # </note>
38025
+ #
38026
+ # For more information, see [Attribute-based instance type selection for
38027
+ # EC2 Fleet][1], [Attribute-based instance type selection for Spot
38028
+ # Fleet][2], and [Spot placement score][3] in the *Amazon EC2 User
38029
+ # Guide*.
38030
+ #
38031
+ #
38032
+ #
38033
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html
38034
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html
38035
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html
38036
+ #
38037
+ # @note When making an API call, you may pass InstanceRequirementsRequest
38038
+ # data as a hash:
38039
+ #
38040
+ # {
38041
+ # v_cpu_count: { # required
38042
+ # min: 1, # required
38043
+ # max: 1,
38044
+ # },
38045
+ # memory_mi_b: { # required
38046
+ # min: 1, # required
38047
+ # max: 1,
38048
+ # },
38049
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
38050
+ # memory_gi_b_per_v_cpu: {
38051
+ # min: 1.0,
38052
+ # max: 1.0,
38053
+ # },
38054
+ # excluded_instance_types: ["ExcludedInstanceType"],
38055
+ # instance_generations: ["current"], # accepts current, previous
38056
+ # spot_max_price_percentage_over_lowest_price: 1,
38057
+ # on_demand_max_price_percentage_over_lowest_price: 1,
38058
+ # bare_metal: "included", # accepts included, required, excluded
38059
+ # burstable_performance: "included", # accepts included, required, excluded
38060
+ # require_hibernate_support: false,
38061
+ # network_interface_count: {
38062
+ # min: 1,
38063
+ # max: 1,
38064
+ # },
38065
+ # local_storage: "included", # accepts included, required, excluded
38066
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
38067
+ # total_local_storage_gb: {
38068
+ # min: 1.0,
38069
+ # max: 1.0,
38070
+ # },
38071
+ # baseline_ebs_bandwidth_mbps: {
38072
+ # min: 1,
38073
+ # max: 1,
38074
+ # },
38075
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
38076
+ # accelerator_count: {
38077
+ # min: 1,
38078
+ # max: 1,
38079
+ # },
38080
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
38081
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
38082
+ # accelerator_total_memory_mi_b: {
38083
+ # min: 1,
38084
+ # max: 1,
38085
+ # },
38086
+ # }
38087
+ #
38088
+ # @!attribute [rw] v_cpu_count
38089
+ # The minimum and maximum number of vCPUs.
38090
+ # @return [Types::VCpuCountRangeRequest]
38091
+ #
38092
+ # @!attribute [rw] memory_mi_b
38093
+ # The minimum and maximum amount of memory, in MiB.
38094
+ # @return [Types::MemoryMiBRequest]
38095
+ #
38096
+ # @!attribute [rw] cpu_manufacturers
38097
+ # The CPU manufacturers to include.
38098
+ #
38099
+ # * For instance types with Intel CPUs, specify `intel`.
38100
+ #
38101
+ # * For instance types with AMD CPUs, specify `amd`.
38102
+ #
38103
+ # * For instance types with Amazon Web Services CPUs, specify
38104
+ # `amazon-web-services`.
38105
+ #
38106
+ # <note markdown="1"> Don't confuse the CPU manufacturer with the CPU architecture.
38107
+ # Instances will be launched with a compatible CPU architecture based
38108
+ # on the Amazon Machine Image (AMI) that you specify in your launch
38109
+ # template.
38110
+ #
38111
+ # </note>
38112
+ #
38113
+ # Default: Any manufacturer
38114
+ # @return [Array<String>]
38115
+ #
38116
+ # @!attribute [rw] memory_gi_b_per_v_cpu
38117
+ # The minimum and maximum amount of memory per vCPU, in GiB.
38118
+ #
38119
+ # Default: No minimum or maximum limits
38120
+ # @return [Types::MemoryGiBPerVCpuRequest]
38121
+ #
38122
+ # @!attribute [rw] excluded_instance_types
38123
+ # The instance types to exclude. You can use strings with one or more
38124
+ # wild cards, represented by an asterisk (`*`), to exclude an instance
38125
+ # family, type, size, or generation. The following are examples:
38126
+ # `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`.
38127
+ #
38128
+ # For example, if you specify `c5*.*`, Amazon EC2 will exclude the
38129
+ # entire C5 instance family (all C5a and C5n instance types). If you
38130
+ # specify `c5a.*`, Amazon EC2 excludes all the C5a instance types, but
38131
+ # does not exclude the C5n instance types.
38132
+ #
38133
+ # Default: No excluded instance types
38134
+ # @return [Array<String>]
38135
+ #
38136
+ # @!attribute [rw] instance_generations
38137
+ # Indicates whether current or previous generation instance types are
38138
+ # included. The current generation instance types are recommended for
38139
+ # use. Current generation instance types are typically the latest two
38140
+ # to three generations in each instance family. For more information,
38141
+ # see [Instance types][1] in the *Amazon EC2 User Guide*.
38142
+ #
38143
+ # For current generation instance types, specify `current`.
38144
+ #
38145
+ # For previous generation instance types, specify `previous`.
38146
+ #
38147
+ # Default: Current and previous generation instance types
38148
+ #
38149
+ #
38150
+ #
38151
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
38152
+ # @return [Array<String>]
38153
+ #
38154
+ # @!attribute [rw] spot_max_price_percentage_over_lowest_price
38155
+ # The price protection threshold for Spot Instance. This is the
38156
+ # maximum you’ll pay for an Spot Instance, expressed as a percentage
38157
+ # above the cheapest M, C, or R instance type with your specified
38158
+ # attributes. When Amazon EC2 selects instance types with your
38159
+ # attributes, it excludes instance types priced above your threshold.
38160
+ #
38161
+ # The parameter accepts an integer, which Amazon EC2 interprets as a
38162
+ # percentage.
38163
+ #
38164
+ # To turn off price protection, specify a high value, such as
38165
+ # `999999`.
38166
+ #
38167
+ # This parameter is not supported for [GetSpotPlacementScores][1] and
38168
+ # [GetInstanceTypesFromInstanceRequirements][2].
38169
+ #
38170
+ # Default: `100`
38171
+ #
38172
+ #
38173
+ #
38174
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
38175
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html
38176
+ # @return [Integer]
38177
+ #
38178
+ # @!attribute [rw] on_demand_max_price_percentage_over_lowest_price
38179
+ # The price protection threshold for On-Demand Instances. This is the
38180
+ # maximum you’ll pay for an On-Demand Instance, expressed as a
38181
+ # percentage above the cheapest M, C, or R instance type with your
38182
+ # specified attributes. When Amazon EC2 selects instance types with
38183
+ # your attributes, it excludes instance types priced above your
38184
+ # threshold.
38185
+ #
38186
+ # The parameter accepts an integer, which Amazon EC2 interprets as a
38187
+ # percentage.
38188
+ #
38189
+ # To turn off price protection, specify a high value, such as
38190
+ # `999999`.
38191
+ #
38192
+ # This parameter is not supported for [GetSpotPlacementScores][1] and
38193
+ # [GetInstanceTypesFromInstanceRequirements][2].
38194
+ #
38195
+ # Default: `20`
38196
+ #
38197
+ #
38198
+ #
38199
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
38200
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html
38201
+ # @return [Integer]
38202
+ #
38203
+ # @!attribute [rw] bare_metal
38204
+ # Indicates whether bare metal instance types must be included,
38205
+ # excluded, or required.
38206
+ #
38207
+ # * To include bare metal instance types, specify `included`.
38208
+ #
38209
+ # * To require only bare metal instance types, specify `required`.
38210
+ #
38211
+ # * To exclude bare metal instance types, specify `excluded`.
38212
+ #
38213
+ # Default: `excluded`
38214
+ # @return [String]
38215
+ #
38216
+ # @!attribute [rw] burstable_performance
38217
+ # Indicates whether burstable performance T instance types are
38218
+ # included, excluded, or required. For more information, see
38219
+ # [Burstable performance instances][1].
38220
+ #
38221
+ # * To include burstable performance instance types, specify
38222
+ # `included`.
38223
+ #
38224
+ # * To require only burstable performance instance types, specify
38225
+ # `required`.
38226
+ #
38227
+ # * To exclude burstable performance instance types, specify
38228
+ # `excluded`.
38229
+ #
38230
+ # Default: `excluded`
38231
+ #
38232
+ #
38233
+ #
38234
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html
38235
+ # @return [String]
38236
+ #
38237
+ # @!attribute [rw] require_hibernate_support
38238
+ # Indicates whether instance types must support hibernation for
38239
+ # On-Demand Instances.
38240
+ #
38241
+ # This parameter is not supported for [GetSpotPlacementScores][1].
38242
+ #
38243
+ # Default: `false`
38244
+ #
38245
+ #
38246
+ #
38247
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html
38248
+ # @return [Boolean]
38249
+ #
38250
+ # @!attribute [rw] network_interface_count
38251
+ # The minimum and maximum number of network interfaces.
38252
+ #
38253
+ # Default: No minimum or maximum limits
38254
+ # @return [Types::NetworkInterfaceCountRequest]
38255
+ #
38256
+ # @!attribute [rw] local_storage
38257
+ # Indicates whether instance types with instance store volumes are
38258
+ # included, excluded, or required. For more information, [Amazon EC2
38259
+ # instance store][1] in the *Amazon EC2 User Guide*.
38260
+ #
38261
+ # * To include instance types with instance store volumes, specify
38262
+ # `included`.
38263
+ #
38264
+ # * To require only instance types with instance store volumes,
38265
+ # specify `required`.
38266
+ #
38267
+ # * To exclude instance types with instance store volumes, specify
38268
+ # `excluded`.
38269
+ #
38270
+ # Default: `included`
38271
+ #
38272
+ #
38273
+ #
38274
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
38275
+ # @return [String]
38276
+ #
38277
+ # @!attribute [rw] local_storage_types
38278
+ # The type of local storage that is required.
38279
+ #
38280
+ # * For instance types with hard disk drive (HDD) storage, specify
38281
+ # `hdd`.
38282
+ #
38283
+ # * For instance types with solid state drive (SDD) storage, specify
38284
+ # `sdd`.
38285
+ #
38286
+ # Default: `hdd` and `sdd`
38287
+ # @return [Array<String>]
38288
+ #
38289
+ # @!attribute [rw] total_local_storage_gb
38290
+ # The minimum and maximum amount of total local storage, in GB.
38291
+ #
38292
+ # Default: No minimum or maximum limits
38293
+ # @return [Types::TotalLocalStorageGBRequest]
38294
+ #
38295
+ # @!attribute [rw] baseline_ebs_bandwidth_mbps
38296
+ # The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
38297
+ # For more information, see [Amazon EBS–optimized instances][1] in the
38298
+ # *Amazon EC2 User Guide*.
38299
+ #
38300
+ # Default: No minimum or maximum limits
38301
+ #
38302
+ #
38303
+ #
38304
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
38305
+ # @return [Types::BaselineEbsBandwidthMbpsRequest]
38306
+ #
38307
+ # @!attribute [rw] accelerator_types
38308
+ # The accelerator types that must be on the instance type.
38309
+ #
38310
+ # * To include instance types with GPU hardware, specify `gpu`.
38311
+ #
38312
+ # * To include instance types with FPGA hardware, specify `fpga`.
38313
+ #
38314
+ # * To include instance types with inference hardware, specify
38315
+ # `inference`.
38316
+ #
38317
+ # Default: Any accelerator type
38318
+ # @return [Array<String>]
38319
+ #
38320
+ # @!attribute [rw] accelerator_count
38321
+ # The minimum and maximum number of accelerators (GPUs, FPGAs, or
38322
+ # Amazon Web Services Inferentia chips) on an instance.
38323
+ #
38324
+ # To exclude accelerator-enabled instance types, set `Max` to `0`.
38325
+ #
38326
+ # Default: No minimum or maximum limits
38327
+ # @return [Types::AcceleratorCountRequest]
38328
+ #
38329
+ # @!attribute [rw] accelerator_manufacturers
38330
+ # Indicates whether instance types must have accelerators by specific
38331
+ # manufacturers.
38332
+ #
38333
+ # * For instance types with NVIDIA devices, specify `nvidia`.
38334
+ #
38335
+ # * For instance types with AMD devices, specify `amd`.
38336
+ #
38337
+ # * For instance types with Amazon Web Services devices, specify
38338
+ # `amazon-web-services`.
38339
+ #
38340
+ # * For instance types with Xilinx devices, specify `xilinx`.
38341
+ #
38342
+ # Default: Any manufacturer
38343
+ # @return [Array<String>]
38344
+ #
38345
+ # @!attribute [rw] accelerator_names
38346
+ # The accelerators that must be on the instance type.
38347
+ #
38348
+ # * For instance types with NVIDIA A100 GPUs, specify `a100`.
38349
+ #
38350
+ # * For instance types with NVIDIA V100 GPUs, specify `v100`.
38351
+ #
38352
+ # * For instance types with NVIDIA K80 GPUs, specify `k80`.
38353
+ #
38354
+ # * For instance types with NVIDIA T4 GPUs, specify `t4`.
38355
+ #
38356
+ # * For instance types with NVIDIA M60 GPUs, specify `m60`.
38357
+ #
38358
+ # * For instance types with AMD Radeon Pro V520 GPUs, specify
38359
+ # `radeon-pro-v520`.
38360
+ #
38361
+ # * For instance types with Xilinx VU9P FPGAs, specify ` vu9p`.
38362
+ #
38363
+ # Default: Any accelerator
38364
+ # @return [Array<String>]
38365
+ #
38366
+ # @!attribute [rw] accelerator_total_memory_mi_b
38367
+ # The minimum and maximum amount of total accelerator memory, in MiB.
38368
+ #
38369
+ # Default: No minimum or maximum limits
38370
+ # @return [Types::AcceleratorTotalMemoryMiBRequest]
38371
+ #
38372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceRequirementsRequest AWS API Documentation
38373
+ #
38374
+ class InstanceRequirementsRequest < Struct.new(
38375
+ :v_cpu_count,
38376
+ :memory_mi_b,
38377
+ :cpu_manufacturers,
38378
+ :memory_gi_b_per_v_cpu,
38379
+ :excluded_instance_types,
38380
+ :instance_generations,
38381
+ :spot_max_price_percentage_over_lowest_price,
38382
+ :on_demand_max_price_percentage_over_lowest_price,
38383
+ :bare_metal,
38384
+ :burstable_performance,
38385
+ :require_hibernate_support,
38386
+ :network_interface_count,
38387
+ :local_storage,
38388
+ :local_storage_types,
38389
+ :total_local_storage_gb,
38390
+ :baseline_ebs_bandwidth_mbps,
38391
+ :accelerator_types,
38392
+ :accelerator_count,
38393
+ :accelerator_manufacturers,
38394
+ :accelerator_names,
38395
+ :accelerator_total_memory_mi_b)
38396
+ SENSITIVE = []
38397
+ include Aws::Structure
38398
+ end
38399
+
38400
+ # The architecture type, virtualization type, and other attributes for
38401
+ # the instance types. When you specify instance attributes, Amazon EC2
38402
+ # will identify instance types with those attributes.
38403
+ #
38404
+ # If you specify `InstanceRequirementsWithMetadataRequest`, you can't
38405
+ # specify `InstanceTypes`.
38406
+ #
38407
+ # @note When making an API call, you may pass InstanceRequirementsWithMetadataRequest
38408
+ # data as a hash:
38409
+ #
38410
+ # {
38411
+ # architecture_types: ["i386"], # accepts i386, x86_64, arm64, x86_64_mac
38412
+ # virtualization_types: ["hvm"], # accepts hvm, paravirtual
38413
+ # instance_requirements: {
38414
+ # v_cpu_count: { # required
38415
+ # min: 1, # required
38416
+ # max: 1,
38417
+ # },
38418
+ # memory_mi_b: { # required
38419
+ # min: 1, # required
38420
+ # max: 1,
38421
+ # },
38422
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
38423
+ # memory_gi_b_per_v_cpu: {
38424
+ # min: 1.0,
38425
+ # max: 1.0,
38426
+ # },
38427
+ # excluded_instance_types: ["ExcludedInstanceType"],
38428
+ # instance_generations: ["current"], # accepts current, previous
38429
+ # spot_max_price_percentage_over_lowest_price: 1,
38430
+ # on_demand_max_price_percentage_over_lowest_price: 1,
38431
+ # bare_metal: "included", # accepts included, required, excluded
38432
+ # burstable_performance: "included", # accepts included, required, excluded
38433
+ # require_hibernate_support: false,
38434
+ # network_interface_count: {
38435
+ # min: 1,
38436
+ # max: 1,
38437
+ # },
38438
+ # local_storage: "included", # accepts included, required, excluded
38439
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
38440
+ # total_local_storage_gb: {
38441
+ # min: 1.0,
38442
+ # max: 1.0,
38443
+ # },
38444
+ # baseline_ebs_bandwidth_mbps: {
38445
+ # min: 1,
38446
+ # max: 1,
38447
+ # },
38448
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
38449
+ # accelerator_count: {
38450
+ # min: 1,
38451
+ # max: 1,
38452
+ # },
38453
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
38454
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
38455
+ # accelerator_total_memory_mi_b: {
38456
+ # min: 1,
38457
+ # max: 1,
38458
+ # },
38459
+ # },
38460
+ # }
38461
+ #
38462
+ # @!attribute [rw] architecture_types
38463
+ # The architecture type.
38464
+ # @return [Array<String>]
38465
+ #
38466
+ # @!attribute [rw] virtualization_types
38467
+ # The virtualization type.
38468
+ # @return [Array<String>]
38469
+ #
38470
+ # @!attribute [rw] instance_requirements
38471
+ # The attributes for the instance types. When you specify instance
38472
+ # attributes, Amazon EC2 will identify instance types with those
38473
+ # attributes.
38474
+ # @return [Types::InstanceRequirementsRequest]
38475
+ #
38476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceRequirementsWithMetadataRequest AWS API Documentation
38477
+ #
38478
+ class InstanceRequirementsWithMetadataRequest < Struct.new(
38479
+ :architecture_types,
38480
+ :virtualization_types,
38481
+ :instance_requirements)
38482
+ SENSITIVE = []
38483
+ include Aws::Structure
38484
+ end
38485
+
36860
38486
  # The instance details to specify which volumes should be snapshotted.
36861
38487
  #
36862
38488
  # @note When making an API call, you may pass InstanceSpecification
@@ -37281,6 +38907,20 @@ module Aws::EC2
37281
38907
  include Aws::Structure
37282
38908
  end
37283
38909
 
38910
+ # The list of instance types with the specified instance attributes.
38911
+ #
38912
+ # @!attribute [rw] instance_type
38913
+ # The matching instance type.
38914
+ # @return [String]
38915
+ #
38916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceTypeInfoFromInstanceRequirements AWS API Documentation
38917
+ #
38918
+ class InstanceTypeInfoFromInstanceRequirements < Struct.new(
38919
+ :instance_type)
38920
+ SENSITIVE = []
38921
+ include Aws::Structure
38922
+ end
38923
+
37284
38924
  # The instance types offered.
37285
38925
  #
37286
38926
  # @!attribute [rw] instance_type
@@ -38270,6 +39910,53 @@ module Aws::EC2
38270
39910
  # availability_zone: "String",
38271
39911
  # weighted_capacity: 1.0,
38272
39912
  # priority: 1.0,
39913
+ # instance_requirements: {
39914
+ # v_cpu_count: {
39915
+ # min: 1,
39916
+ # max: 1,
39917
+ # },
39918
+ # memory_mi_b: {
39919
+ # min: 1,
39920
+ # max: 1,
39921
+ # },
39922
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
39923
+ # memory_gi_b_per_v_cpu: {
39924
+ # min: 1.0,
39925
+ # max: 1.0,
39926
+ # },
39927
+ # excluded_instance_types: ["ExcludedInstanceType"],
39928
+ # instance_generations: ["current"], # accepts current, previous
39929
+ # spot_max_price_percentage_over_lowest_price: 1,
39930
+ # on_demand_max_price_percentage_over_lowest_price: 1,
39931
+ # bare_metal: "included", # accepts included, required, excluded
39932
+ # burstable_performance: "included", # accepts included, required, excluded
39933
+ # require_hibernate_support: false,
39934
+ # network_interface_count: {
39935
+ # min: 1,
39936
+ # max: 1,
39937
+ # },
39938
+ # local_storage: "included", # accepts included, required, excluded
39939
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
39940
+ # total_local_storage_gb: {
39941
+ # min: 1.0,
39942
+ # max: 1.0,
39943
+ # },
39944
+ # baseline_ebs_bandwidth_mbps: {
39945
+ # min: 1,
39946
+ # max: 1,
39947
+ # },
39948
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
39949
+ # accelerator_count: {
39950
+ # min: 1,
39951
+ # max: 1,
39952
+ # },
39953
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
39954
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
39955
+ # accelerator_total_memory_mi_b: {
39956
+ # min: 1,
39957
+ # max: 1,
39958
+ # },
39959
+ # },
38273
39960
  # },
38274
39961
  # ],
38275
39962
  # }
@@ -39243,6 +40930,53 @@ module Aws::EC2
39243
40930
  # availability_zone: "String",
39244
40931
  # weighted_capacity: 1.0,
39245
40932
  # priority: 1.0,
40933
+ # instance_requirements: {
40934
+ # v_cpu_count: {
40935
+ # min: 1,
40936
+ # max: 1,
40937
+ # },
40938
+ # memory_mi_b: {
40939
+ # min: 1,
40940
+ # max: 1,
40941
+ # },
40942
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
40943
+ # memory_gi_b_per_v_cpu: {
40944
+ # min: 1.0,
40945
+ # max: 1.0,
40946
+ # },
40947
+ # excluded_instance_types: ["ExcludedInstanceType"],
40948
+ # instance_generations: ["current"], # accepts current, previous
40949
+ # spot_max_price_percentage_over_lowest_price: 1,
40950
+ # on_demand_max_price_percentage_over_lowest_price: 1,
40951
+ # bare_metal: "included", # accepts included, required, excluded
40952
+ # burstable_performance: "included", # accepts included, required, excluded
40953
+ # require_hibernate_support: false,
40954
+ # network_interface_count: {
40955
+ # min: 1,
40956
+ # max: 1,
40957
+ # },
40958
+ # local_storage: "included", # accepts included, required, excluded
40959
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
40960
+ # total_local_storage_gb: {
40961
+ # min: 1.0,
40962
+ # max: 1.0,
40963
+ # },
40964
+ # baseline_ebs_bandwidth_mbps: {
40965
+ # min: 1,
40966
+ # max: 1,
40967
+ # },
40968
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
40969
+ # accelerator_count: {
40970
+ # min: 1,
40971
+ # max: 1,
40972
+ # },
40973
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
40974
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
40975
+ # accelerator_total_memory_mi_b: {
40976
+ # min: 1,
40977
+ # max: 1,
40978
+ # },
40979
+ # },
39246
40980
  # }
39247
40981
  #
39248
40982
  # @!attribute [rw] instance_type
@@ -39285,6 +41019,19 @@ module Aws::EC2
39285
41019
  # priority for different launch template overrides.
39286
41020
  # @return [Float]
39287
41021
  #
41022
+ # @!attribute [rw] instance_requirements
41023
+ # The instance requirements. When you specify instance requirements,
41024
+ # Amazon EC2 will identify instance types with the provided
41025
+ # requirements, and then use your On-Demand and Spot allocation
41026
+ # strategies to launch instances from these instance types, in the
41027
+ # same way as when you specify a list of instance types.
41028
+ #
41029
+ # <note markdown="1"> If you specify `InstanceRequirements`, you can't specify
41030
+ # `InstanceTypes`.
41031
+ #
41032
+ # </note>
41033
+ # @return [Types::InstanceRequirements]
41034
+ #
39288
41035
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateOverrides AWS API Documentation
39289
41036
  #
39290
41037
  class LaunchTemplateOverrides < Struct.new(
@@ -39293,7 +41040,8 @@ module Aws::EC2
39293
41040
  :subnet_id,
39294
41041
  :availability_zone,
39295
41042
  :weighted_capacity,
39296
- :priority)
41043
+ :priority,
41044
+ :instance_requirements)
39297
41045
  SENSITIVE = []
39298
41046
  include Aws::Structure
39299
41047
  end
@@ -40228,6 +41976,64 @@ module Aws::EC2
40228
41976
  include Aws::Structure
40229
41977
  end
40230
41978
 
41979
+ # The minimum and maximum amount of memory per vCPU, in GiB.
41980
+ #
41981
+ # @note When making an API call, you may pass MemoryGiBPerVCpu
41982
+ # data as a hash:
41983
+ #
41984
+ # {
41985
+ # min: 1.0,
41986
+ # max: 1.0,
41987
+ # }
41988
+ #
41989
+ # @!attribute [rw] min
41990
+ # The minimum amount of memory per vCPU, in GiB. If this parameter is
41991
+ # not specified, there is no minimum limit.
41992
+ # @return [Float]
41993
+ #
41994
+ # @!attribute [rw] max
41995
+ # The maximum amount of memory per vCPU, in GiB. If this parameter is
41996
+ # not specified, there is no maximum limit.
41997
+ # @return [Float]
41998
+ #
41999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MemoryGiBPerVCpu AWS API Documentation
42000
+ #
42001
+ class MemoryGiBPerVCpu < Struct.new(
42002
+ :min,
42003
+ :max)
42004
+ SENSITIVE = []
42005
+ include Aws::Structure
42006
+ end
42007
+
42008
+ # The minimum and maximum amount of memory per vCPU, in GiB.
42009
+ #
42010
+ # @note When making an API call, you may pass MemoryGiBPerVCpuRequest
42011
+ # data as a hash:
42012
+ #
42013
+ # {
42014
+ # min: 1.0,
42015
+ # max: 1.0,
42016
+ # }
42017
+ #
42018
+ # @!attribute [rw] min
42019
+ # The minimum amount of memory per vCPU, in GiB. To specify no minimum
42020
+ # limit, omit this parameter.
42021
+ # @return [Float]
42022
+ #
42023
+ # @!attribute [rw] max
42024
+ # The maximum amount of memory per vCPU, in GiB. To specify no maximum
42025
+ # limit, omit this parameter.
42026
+ # @return [Float]
42027
+ #
42028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MemoryGiBPerVCpuRequest AWS API Documentation
42029
+ #
42030
+ class MemoryGiBPerVCpuRequest < Struct.new(
42031
+ :min,
42032
+ :max)
42033
+ SENSITIVE = []
42034
+ include Aws::Structure
42035
+ end
42036
+
40231
42037
  # Describes the memory for the instance type.
40232
42038
  #
40233
42039
  # @!attribute [rw] size_in_mi_b
@@ -40242,6 +42048,64 @@ module Aws::EC2
40242
42048
  include Aws::Structure
40243
42049
  end
40244
42050
 
42051
+ # The minimum and maximum amount of memory, in MiB.
42052
+ #
42053
+ # @note When making an API call, you may pass MemoryMiB
42054
+ # data as a hash:
42055
+ #
42056
+ # {
42057
+ # min: 1,
42058
+ # max: 1,
42059
+ # }
42060
+ #
42061
+ # @!attribute [rw] min
42062
+ # The minimum amount of memory, in MiB. If this parameter is not
42063
+ # specified, there is no minimum limit.
42064
+ # @return [Integer]
42065
+ #
42066
+ # @!attribute [rw] max
42067
+ # The maximum amount of memory, in MiB. If this parameter is not
42068
+ # specified, there is no maximum limit.
42069
+ # @return [Integer]
42070
+ #
42071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MemoryMiB AWS API Documentation
42072
+ #
42073
+ class MemoryMiB < Struct.new(
42074
+ :min,
42075
+ :max)
42076
+ SENSITIVE = []
42077
+ include Aws::Structure
42078
+ end
42079
+
42080
+ # The minimum and maximum amount of memory, in MiB.
42081
+ #
42082
+ # @note When making an API call, you may pass MemoryMiBRequest
42083
+ # data as a hash:
42084
+ #
42085
+ # {
42086
+ # min: 1, # required
42087
+ # max: 1,
42088
+ # }
42089
+ #
42090
+ # @!attribute [rw] min
42091
+ # The minimum amount of memory, in MiB. To specify no minimum limit,
42092
+ # specify `0`.
42093
+ # @return [Integer]
42094
+ #
42095
+ # @!attribute [rw] max
42096
+ # The maximum amount of memory, in MiB. To specify no maximum limit,
42097
+ # omit this parameter.
42098
+ # @return [Integer]
42099
+ #
42100
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MemoryMiBRequest AWS API Documentation
42101
+ #
42102
+ class MemoryMiBRequest < Struct.new(
42103
+ :min,
42104
+ :max)
42105
+ SENSITIVE = []
42106
+ include Aws::Structure
42107
+ end
42108
+
40245
42109
  # @note When making an API call, you may pass ModifyAddressAttributeRequest
40246
42110
  # data as a hash:
40247
42111
  #
@@ -40438,6 +42302,7 @@ module Aws::EC2
40438
42302
  # end_date_type: "unlimited", # accepts unlimited, limited
40439
42303
  # accept: false,
40440
42304
  # dry_run: false,
42305
+ # additional_info: "String",
40441
42306
  # }
40442
42307
  #
40443
42308
  # @!attribute [rw] capacity_reservation_id
@@ -40491,6 +42356,10 @@ module Aws::EC2
40491
42356
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
40492
42357
  # @return [Boolean]
40493
42358
  #
42359
+ # @!attribute [rw] additional_info
42360
+ # Reserved for future use.
42361
+ # @return [String]
42362
+ #
40494
42363
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservationRequest AWS API Documentation
40495
42364
  #
40496
42365
  class ModifyCapacityReservationRequest < Struct.new(
@@ -40499,7 +42368,8 @@ module Aws::EC2
40499
42368
  :end_date,
40500
42369
  :end_date_type,
40501
42370
  :accept,
40502
- :dry_run)
42371
+ :dry_run,
42372
+ :additional_info)
40503
42373
  SENSITIVE = []
40504
42374
  include Aws::Structure
40505
42375
  end
@@ -40798,6 +42668,53 @@ module Aws::EC2
40798
42668
  # spread_domain: "String",
40799
42669
  # host_resource_group_arn: "String",
40800
42670
  # },
42671
+ # instance_requirements: {
42672
+ # v_cpu_count: { # required
42673
+ # min: 1, # required
42674
+ # max: 1,
42675
+ # },
42676
+ # memory_mi_b: { # required
42677
+ # min: 1, # required
42678
+ # max: 1,
42679
+ # },
42680
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
42681
+ # memory_gi_b_per_v_cpu: {
42682
+ # min: 1.0,
42683
+ # max: 1.0,
42684
+ # },
42685
+ # excluded_instance_types: ["ExcludedInstanceType"],
42686
+ # instance_generations: ["current"], # accepts current, previous
42687
+ # spot_max_price_percentage_over_lowest_price: 1,
42688
+ # on_demand_max_price_percentage_over_lowest_price: 1,
42689
+ # bare_metal: "included", # accepts included, required, excluded
42690
+ # burstable_performance: "included", # accepts included, required, excluded
42691
+ # require_hibernate_support: false,
42692
+ # network_interface_count: {
42693
+ # min: 1,
42694
+ # max: 1,
42695
+ # },
42696
+ # local_storage: "included", # accepts included, required, excluded
42697
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
42698
+ # total_local_storage_gb: {
42699
+ # min: 1.0,
42700
+ # max: 1.0,
42701
+ # },
42702
+ # baseline_ebs_bandwidth_mbps: {
42703
+ # min: 1,
42704
+ # max: 1,
42705
+ # },
42706
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
42707
+ # accelerator_count: {
42708
+ # min: 1,
42709
+ # max: 1,
42710
+ # },
42711
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
42712
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
42713
+ # accelerator_total_memory_mi_b: {
42714
+ # min: 1,
42715
+ # max: 1,
42716
+ # },
42717
+ # },
40801
42718
  # },
40802
42719
  # ],
40803
42720
  # },
@@ -40808,6 +42725,7 @@ module Aws::EC2
40808
42725
  # on_demand_target_capacity: 1,
40809
42726
  # spot_target_capacity: 1,
40810
42727
  # default_target_capacity_type: "spot", # accepts spot, on-demand
42728
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
40811
42729
  # },
40812
42730
  # context: "String",
40813
42731
  # }
@@ -42304,6 +44222,53 @@ module Aws::EC2
42304
44222
  # availability_zone: "String",
42305
44223
  # weighted_capacity: 1.0,
42306
44224
  # priority: 1.0,
44225
+ # instance_requirements: {
44226
+ # v_cpu_count: {
44227
+ # min: 1,
44228
+ # max: 1,
44229
+ # },
44230
+ # memory_mi_b: {
44231
+ # min: 1,
44232
+ # max: 1,
44233
+ # },
44234
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
44235
+ # memory_gi_b_per_v_cpu: {
44236
+ # min: 1.0,
44237
+ # max: 1.0,
44238
+ # },
44239
+ # excluded_instance_types: ["ExcludedInstanceType"],
44240
+ # instance_generations: ["current"], # accepts current, previous
44241
+ # spot_max_price_percentage_over_lowest_price: 1,
44242
+ # on_demand_max_price_percentage_over_lowest_price: 1,
44243
+ # bare_metal: "included", # accepts included, required, excluded
44244
+ # burstable_performance: "included", # accepts included, required, excluded
44245
+ # require_hibernate_support: false,
44246
+ # network_interface_count: {
44247
+ # min: 1,
44248
+ # max: 1,
44249
+ # },
44250
+ # local_storage: "included", # accepts included, required, excluded
44251
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
44252
+ # total_local_storage_gb: {
44253
+ # min: 1.0,
44254
+ # max: 1.0,
44255
+ # },
44256
+ # baseline_ebs_bandwidth_mbps: {
44257
+ # min: 1,
44258
+ # max: 1,
44259
+ # },
44260
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
44261
+ # accelerator_count: {
44262
+ # min: 1,
44263
+ # max: 1,
44264
+ # },
44265
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
44266
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
44267
+ # accelerator_total_memory_mi_b: {
44268
+ # min: 1,
44269
+ # max: 1,
44270
+ # },
44271
+ # },
42307
44272
  # },
42308
44273
  # ],
42309
44274
  # },
@@ -45026,6 +46991,64 @@ module Aws::EC2
45026
46991
  include Aws::Structure
45027
46992
  end
45028
46993
 
46994
+ # The minimum and maximum number of network interfaces.
46995
+ #
46996
+ # @note When making an API call, you may pass NetworkInterfaceCount
46997
+ # data as a hash:
46998
+ #
46999
+ # {
47000
+ # min: 1,
47001
+ # max: 1,
47002
+ # }
47003
+ #
47004
+ # @!attribute [rw] min
47005
+ # The minimum number of network interfaces. If this parameter is not
47006
+ # specified, there is no minimum limit.
47007
+ # @return [Integer]
47008
+ #
47009
+ # @!attribute [rw] max
47010
+ # The maximum number of network interfaces. If this parameter is not
47011
+ # specified, there is no maximum limit.
47012
+ # @return [Integer]
47013
+ #
47014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceCount AWS API Documentation
47015
+ #
47016
+ class NetworkInterfaceCount < Struct.new(
47017
+ :min,
47018
+ :max)
47019
+ SENSITIVE = []
47020
+ include Aws::Structure
47021
+ end
47022
+
47023
+ # The minimum and maximum number of network interfaces.
47024
+ #
47025
+ # @note When making an API call, you may pass NetworkInterfaceCountRequest
47026
+ # data as a hash:
47027
+ #
47028
+ # {
47029
+ # min: 1,
47030
+ # max: 1,
47031
+ # }
47032
+ #
47033
+ # @!attribute [rw] min
47034
+ # The minimum number of network interfaces. To specify no minimum
47035
+ # limit, omit this parameter.
47036
+ # @return [Integer]
47037
+ #
47038
+ # @!attribute [rw] max
47039
+ # The maximum number of network interfaces. To specify no maximum
47040
+ # limit, omit this parameter.
47041
+ # @return [Integer]
47042
+ #
47043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceCountRequest AWS API Documentation
47044
+ #
47045
+ class NetworkInterfaceCountRequest < Struct.new(
47046
+ :min,
47047
+ :max)
47048
+ SENSITIVE = []
47049
+ include Aws::Structure
47050
+ end
47051
+
45029
47052
  # Describes an IPv6 address associated with a network interface.
45030
47053
  #
45031
47054
  # @!attribute [rw] ipv_6_address
@@ -48369,6 +50392,53 @@ module Aws::EC2
48369
50392
  # enclave_options: {
48370
50393
  # enabled: false,
48371
50394
  # },
50395
+ # instance_requirements: {
50396
+ # v_cpu_count: { # required
50397
+ # min: 1, # required
50398
+ # max: 1,
50399
+ # },
50400
+ # memory_mi_b: { # required
50401
+ # min: 1, # required
50402
+ # max: 1,
50403
+ # },
50404
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
50405
+ # memory_gi_b_per_v_cpu: {
50406
+ # min: 1.0,
50407
+ # max: 1.0,
50408
+ # },
50409
+ # excluded_instance_types: ["ExcludedInstanceType"],
50410
+ # instance_generations: ["current"], # accepts current, previous
50411
+ # spot_max_price_percentage_over_lowest_price: 1,
50412
+ # on_demand_max_price_percentage_over_lowest_price: 1,
50413
+ # bare_metal: "included", # accepts included, required, excluded
50414
+ # burstable_performance: "included", # accepts included, required, excluded
50415
+ # require_hibernate_support: false,
50416
+ # network_interface_count: {
50417
+ # min: 1,
50418
+ # max: 1,
50419
+ # },
50420
+ # local_storage: "included", # accepts included, required, excluded
50421
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
50422
+ # total_local_storage_gb: {
50423
+ # min: 1.0,
50424
+ # max: 1.0,
50425
+ # },
50426
+ # baseline_ebs_bandwidth_mbps: {
50427
+ # min: 1,
50428
+ # max: 1,
50429
+ # },
50430
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
50431
+ # accelerator_count: {
50432
+ # min: 1,
50433
+ # max: 1,
50434
+ # },
50435
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
50436
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
50437
+ # accelerator_total_memory_mi_b: {
50438
+ # min: 1,
50439
+ # max: 1,
50440
+ # },
50441
+ # },
48372
50442
  # }
48373
50443
  #
48374
50444
  # @!attribute [rw] kernel_id
@@ -48414,6 +50484,9 @@ module Aws::EC2
48414
50484
  # The instance type. For more information, see [Instance Types][1] in
48415
50485
  # the *Amazon Elastic Compute Cloud User Guide*.
48416
50486
  #
50487
+ # If you specify `InstanceTypes`, you can't specify
50488
+ # `InstanceRequirements`.
50489
+ #
48417
50490
  #
48418
50491
  #
48419
50492
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
@@ -48597,6 +50670,15 @@ module Aws::EC2
48597
50670
  # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
48598
50671
  # @return [Types::LaunchTemplateEnclaveOptionsRequest]
48599
50672
  #
50673
+ # @!attribute [rw] instance_requirements
50674
+ # The attributes for the instance types. When you specify instance
50675
+ # attributes, Amazon EC2 will identify instance types with these
50676
+ # attributes.
50677
+ #
50678
+ # If you specify `InstanceRequirements`, you can't specify
50679
+ # `InstanceTypes`.
50680
+ # @return [Types::InstanceRequirementsRequest]
50681
+ #
48600
50682
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestLaunchTemplateData AWS API Documentation
48601
50683
  #
48602
50684
  class RequestLaunchTemplateData < Struct.new(
@@ -48626,7 +50708,8 @@ module Aws::EC2
48626
50708
  :license_specifications,
48627
50709
  :hibernation_options,
48628
50710
  :metadata_options,
48629
- :enclave_options)
50711
+ :enclave_options,
50712
+ :instance_requirements)
48630
50713
  SENSITIVE = []
48631
50714
  include Aws::Structure
48632
50715
  end
@@ -48751,6 +50834,53 @@ module Aws::EC2
48751
50834
  # ],
48752
50835
  # },
48753
50836
  # ],
50837
+ # instance_requirements: {
50838
+ # v_cpu_count: {
50839
+ # min: 1,
50840
+ # max: 1,
50841
+ # },
50842
+ # memory_mi_b: {
50843
+ # min: 1,
50844
+ # max: 1,
50845
+ # },
50846
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
50847
+ # memory_gi_b_per_v_cpu: {
50848
+ # min: 1.0,
50849
+ # max: 1.0,
50850
+ # },
50851
+ # excluded_instance_types: ["ExcludedInstanceType"],
50852
+ # instance_generations: ["current"], # accepts current, previous
50853
+ # spot_max_price_percentage_over_lowest_price: 1,
50854
+ # on_demand_max_price_percentage_over_lowest_price: 1,
50855
+ # bare_metal: "included", # accepts included, required, excluded
50856
+ # burstable_performance: "included", # accepts included, required, excluded
50857
+ # require_hibernate_support: false,
50858
+ # network_interface_count: {
50859
+ # min: 1,
50860
+ # max: 1,
50861
+ # },
50862
+ # local_storage: "included", # accepts included, required, excluded
50863
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
50864
+ # total_local_storage_gb: {
50865
+ # min: 1.0,
50866
+ # max: 1.0,
50867
+ # },
50868
+ # baseline_ebs_bandwidth_mbps: {
50869
+ # min: 1,
50870
+ # max: 1,
50871
+ # },
50872
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
50873
+ # accelerator_count: {
50874
+ # min: 1,
50875
+ # max: 1,
50876
+ # },
50877
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
50878
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
50879
+ # accelerator_total_memory_mi_b: {
50880
+ # min: 1,
50881
+ # max: 1,
50882
+ # },
50883
+ # },
48754
50884
  # },
48755
50885
  # ],
48756
50886
  # launch_template_configs: [
@@ -48768,6 +50898,53 @@ module Aws::EC2
48768
50898
  # availability_zone: "String",
48769
50899
  # weighted_capacity: 1.0,
48770
50900
  # priority: 1.0,
50901
+ # instance_requirements: {
50902
+ # v_cpu_count: {
50903
+ # min: 1,
50904
+ # max: 1,
50905
+ # },
50906
+ # memory_mi_b: {
50907
+ # min: 1,
50908
+ # max: 1,
50909
+ # },
50910
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
50911
+ # memory_gi_b_per_v_cpu: {
50912
+ # min: 1.0,
50913
+ # max: 1.0,
50914
+ # },
50915
+ # excluded_instance_types: ["ExcludedInstanceType"],
50916
+ # instance_generations: ["current"], # accepts current, previous
50917
+ # spot_max_price_percentage_over_lowest_price: 1,
50918
+ # on_demand_max_price_percentage_over_lowest_price: 1,
50919
+ # bare_metal: "included", # accepts included, required, excluded
50920
+ # burstable_performance: "included", # accepts included, required, excluded
50921
+ # require_hibernate_support: false,
50922
+ # network_interface_count: {
50923
+ # min: 1,
50924
+ # max: 1,
50925
+ # },
50926
+ # local_storage: "included", # accepts included, required, excluded
50927
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
50928
+ # total_local_storage_gb: {
50929
+ # min: 1.0,
50930
+ # max: 1.0,
50931
+ # },
50932
+ # baseline_ebs_bandwidth_mbps: {
50933
+ # min: 1,
50934
+ # max: 1,
50935
+ # },
50936
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
50937
+ # accelerator_count: {
50938
+ # min: 1,
50939
+ # max: 1,
50940
+ # },
50941
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
50942
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
50943
+ # accelerator_total_memory_mi_b: {
50944
+ # min: 1,
50945
+ # max: 1,
50946
+ # },
50947
+ # },
48771
50948
  # },
48772
50949
  # ],
48773
50950
  # },
@@ -48801,6 +50978,7 @@ module Aws::EC2
48801
50978
  # },
48802
50979
  # instance_pools_to_use_count: 1,
48803
50980
  # context: "String",
50981
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
48804
50982
  # tag_specifications: [
48805
50983
  # {
48806
50984
  # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
@@ -50345,6 +52523,15 @@ module Aws::EC2
50345
52523
  # Nitro Enclaves.
50346
52524
  # @return [Types::LaunchTemplateEnclaveOptions]
50347
52525
  #
52526
+ # @!attribute [rw] instance_requirements
52527
+ # The attributes for the instance types. When you specify instance
52528
+ # attributes, Amazon EC2 will identify instance types with these
52529
+ # attributes.
52530
+ #
52531
+ # If you specify `InstanceRequirements`, you can't specify
52532
+ # `InstanceTypes`.
52533
+ # @return [Types::InstanceRequirements]
52534
+ #
50348
52535
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData AWS API Documentation
50349
52536
  #
50350
52537
  class ResponseLaunchTemplateData < Struct.new(
@@ -50374,7 +52561,8 @@ module Aws::EC2
50374
52561
  :license_specifications,
50375
52562
  :hibernation_options,
50376
52563
  :metadata_options,
50377
- :enclave_options)
52564
+ :enclave_options,
52565
+ :instance_requirements)
50378
52566
  SENSITIVE = []
50379
52567
  include Aws::Structure
50380
52568
  end
@@ -54052,6 +56240,53 @@ module Aws::EC2
54052
56240
  # ],
54053
56241
  # },
54054
56242
  # ],
56243
+ # instance_requirements: {
56244
+ # v_cpu_count: {
56245
+ # min: 1,
56246
+ # max: 1,
56247
+ # },
56248
+ # memory_mi_b: {
56249
+ # min: 1,
56250
+ # max: 1,
56251
+ # },
56252
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
56253
+ # memory_gi_b_per_v_cpu: {
56254
+ # min: 1.0,
56255
+ # max: 1.0,
56256
+ # },
56257
+ # excluded_instance_types: ["ExcludedInstanceType"],
56258
+ # instance_generations: ["current"], # accepts current, previous
56259
+ # spot_max_price_percentage_over_lowest_price: 1,
56260
+ # on_demand_max_price_percentage_over_lowest_price: 1,
56261
+ # bare_metal: "included", # accepts included, required, excluded
56262
+ # burstable_performance: "included", # accepts included, required, excluded
56263
+ # require_hibernate_support: false,
56264
+ # network_interface_count: {
56265
+ # min: 1,
56266
+ # max: 1,
56267
+ # },
56268
+ # local_storage: "included", # accepts included, required, excluded
56269
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
56270
+ # total_local_storage_gb: {
56271
+ # min: 1.0,
56272
+ # max: 1.0,
56273
+ # },
56274
+ # baseline_ebs_bandwidth_mbps: {
56275
+ # min: 1,
56276
+ # max: 1,
56277
+ # },
56278
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
56279
+ # accelerator_count: {
56280
+ # min: 1,
56281
+ # max: 1,
56282
+ # },
56283
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
56284
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
56285
+ # accelerator_total_memory_mi_b: {
56286
+ # min: 1,
56287
+ # max: 1,
56288
+ # },
56289
+ # },
54055
56290
  # }
54056
56291
  #
54057
56292
  # @!attribute [rw] security_groups
@@ -54168,6 +56403,17 @@ module Aws::EC2
54168
56403
  # The tags to apply during creation.
54169
56404
  # @return [Array<Types::SpotFleetTagSpecification>]
54170
56405
  #
56406
+ # @!attribute [rw] instance_requirements
56407
+ # The attributes for the instance types. When you specify instance
56408
+ # attributes, Amazon EC2 will identify instance types with those
56409
+ # attributes.
56410
+ #
56411
+ # <note markdown="1"> If you specify `InstanceRequirements`, you can't specify
56412
+ # `InstanceTypes`.
56413
+ #
56414
+ # </note>
56415
+ # @return [Types::InstanceRequirements]
56416
+ #
54171
56417
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetLaunchSpecification AWS API Documentation
54172
56418
  #
54173
56419
  class SpotFleetLaunchSpecification < Struct.new(
@@ -54188,7 +56434,8 @@ module Aws::EC2
54188
56434
  :subnet_id,
54189
56435
  :user_data,
54190
56436
  :weighted_capacity,
54191
- :tag_specifications)
56437
+ :tag_specifications,
56438
+ :instance_requirements)
54192
56439
  SENSITIVE = []
54193
56440
  include Aws::Structure
54194
56441
  end
@@ -54378,6 +56625,53 @@ module Aws::EC2
54378
56625
  # ],
54379
56626
  # },
54380
56627
  # ],
56628
+ # instance_requirements: {
56629
+ # v_cpu_count: {
56630
+ # min: 1,
56631
+ # max: 1,
56632
+ # },
56633
+ # memory_mi_b: {
56634
+ # min: 1,
56635
+ # max: 1,
56636
+ # },
56637
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
56638
+ # memory_gi_b_per_v_cpu: {
56639
+ # min: 1.0,
56640
+ # max: 1.0,
56641
+ # },
56642
+ # excluded_instance_types: ["ExcludedInstanceType"],
56643
+ # instance_generations: ["current"], # accepts current, previous
56644
+ # spot_max_price_percentage_over_lowest_price: 1,
56645
+ # on_demand_max_price_percentage_over_lowest_price: 1,
56646
+ # bare_metal: "included", # accepts included, required, excluded
56647
+ # burstable_performance: "included", # accepts included, required, excluded
56648
+ # require_hibernate_support: false,
56649
+ # network_interface_count: {
56650
+ # min: 1,
56651
+ # max: 1,
56652
+ # },
56653
+ # local_storage: "included", # accepts included, required, excluded
56654
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
56655
+ # total_local_storage_gb: {
56656
+ # min: 1.0,
56657
+ # max: 1.0,
56658
+ # },
56659
+ # baseline_ebs_bandwidth_mbps: {
56660
+ # min: 1,
56661
+ # max: 1,
56662
+ # },
56663
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
56664
+ # accelerator_count: {
56665
+ # min: 1,
56666
+ # max: 1,
56667
+ # },
56668
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
56669
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
56670
+ # accelerator_total_memory_mi_b: {
56671
+ # min: 1,
56672
+ # max: 1,
56673
+ # },
56674
+ # },
54381
56675
  # },
54382
56676
  # ],
54383
56677
  # launch_template_configs: [
@@ -54395,6 +56689,53 @@ module Aws::EC2
54395
56689
  # availability_zone: "String",
54396
56690
  # weighted_capacity: 1.0,
54397
56691
  # priority: 1.0,
56692
+ # instance_requirements: {
56693
+ # v_cpu_count: {
56694
+ # min: 1,
56695
+ # max: 1,
56696
+ # },
56697
+ # memory_mi_b: {
56698
+ # min: 1,
56699
+ # max: 1,
56700
+ # },
56701
+ # cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services
56702
+ # memory_gi_b_per_v_cpu: {
56703
+ # min: 1.0,
56704
+ # max: 1.0,
56705
+ # },
56706
+ # excluded_instance_types: ["ExcludedInstanceType"],
56707
+ # instance_generations: ["current"], # accepts current, previous
56708
+ # spot_max_price_percentage_over_lowest_price: 1,
56709
+ # on_demand_max_price_percentage_over_lowest_price: 1,
56710
+ # bare_metal: "included", # accepts included, required, excluded
56711
+ # burstable_performance: "included", # accepts included, required, excluded
56712
+ # require_hibernate_support: false,
56713
+ # network_interface_count: {
56714
+ # min: 1,
56715
+ # max: 1,
56716
+ # },
56717
+ # local_storage: "included", # accepts included, required, excluded
56718
+ # local_storage_types: ["hdd"], # accepts hdd, ssd
56719
+ # total_local_storage_gb: {
56720
+ # min: 1.0,
56721
+ # max: 1.0,
56722
+ # },
56723
+ # baseline_ebs_bandwidth_mbps: {
56724
+ # min: 1,
56725
+ # max: 1,
56726
+ # },
56727
+ # accelerator_types: ["gpu"], # accepts gpu, fpga, inference
56728
+ # accelerator_count: {
56729
+ # min: 1,
56730
+ # max: 1,
56731
+ # },
56732
+ # accelerator_manufacturers: ["nvidia"], # accepts nvidia, amd, amazon-web-services, xilinx
56733
+ # accelerator_names: ["a100"], # accepts a100, v100, k80, t4, m60, radeon-pro-v520, vu9p
56734
+ # accelerator_total_memory_mi_b: {
56735
+ # min: 1,
56736
+ # max: 1,
56737
+ # },
56738
+ # },
54398
56739
  # },
54399
56740
  # ],
54400
56741
  # },
@@ -54428,6 +56769,7 @@ module Aws::EC2
54428
56769
  # },
54429
56770
  # instance_pools_to_use_count: 1,
54430
56771
  # context: "String",
56772
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
54431
56773
  # tag_specifications: [
54432
56774
  # {
54433
56775
  # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
@@ -54657,6 +56999,12 @@ module Aws::EC2
54657
56999
  # Reserved.
54658
57000
  # @return [String]
54659
57001
  #
57002
+ # @!attribute [rw] target_capacity_unit_type
57003
+ # The unit for the target capacity.
57004
+ #
57005
+ # Default: `units` (translates to number of instances)
57006
+ # @return [String]
57007
+ #
54660
57008
  # @!attribute [rw] tag_specifications
54661
57009
  # The key-value pair for tagging the Spot Fleet request on creation.
54662
57010
  # The value for `ResourceType` must be `spot-fleet-request`, otherwise
@@ -54700,6 +57048,7 @@ module Aws::EC2
54700
57048
  :load_balancers_config,
54701
57049
  :instance_pools_to_use_count,
54702
57050
  :context,
57051
+ :target_capacity_unit_type,
54703
57052
  :tag_specifications)
54704
57053
  SENSITIVE = []
54705
57054
  include Aws::Structure
@@ -55253,6 +57602,36 @@ module Aws::EC2
55253
57602
  include Aws::Structure
55254
57603
  end
55255
57604
 
57605
+ # The Spot placement score for this Region or Availability Zone. The
57606
+ # score is calculated based on the assumption that the
57607
+ # `capacity-optimized` allocation strategy is used and that all of the
57608
+ # Availability Zones in the Region can be used.
57609
+ #
57610
+ # @!attribute [rw] region
57611
+ # The Region.
57612
+ # @return [String]
57613
+ #
57614
+ # @!attribute [rw] availability_zone_id
57615
+ # The Availability Zone.
57616
+ # @return [String]
57617
+ #
57618
+ # @!attribute [rw] score
57619
+ # The placement score, on a scale from `1` to `10`. A score of `10`
57620
+ # indicates that your Spot request is highly likely to succeed in this
57621
+ # Region or Availability Zone. A score of `1` indicates that your Spot
57622
+ # request is not likely to succeed.
57623
+ # @return [Integer]
57624
+ #
57625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPlacementScore AWS API Documentation
57626
+ #
57627
+ class SpotPlacementScore < Struct.new(
57628
+ :region,
57629
+ :availability_zone_id,
57630
+ :score)
57631
+ SENSITIVE = []
57632
+ include Aws::Structure
57633
+ end
57634
+
55256
57635
  # Describes the maximum price per hour that you are willing to pay for a
55257
57636
  # Spot Instance.
55258
57637
  #
@@ -56145,13 +58524,20 @@ module Aws::EC2
56145
58524
  # `On-Demand`.
56146
58525
  # @return [String]
56147
58526
  #
58527
+ # @!attribute [rw] target_capacity_unit_type
58528
+ # The unit for the target capacity.
58529
+ #
58530
+ # Default: `units` (translates to number of instances)
58531
+ # @return [String]
58532
+ #
56148
58533
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetCapacitySpecification AWS API Documentation
56149
58534
  #
56150
58535
  class TargetCapacitySpecification < Struct.new(
56151
58536
  :total_target_capacity,
56152
58537
  :on_demand_target_capacity,
56153
58538
  :spot_target_capacity,
56154
- :default_target_capacity_type)
58539
+ :default_target_capacity_type,
58540
+ :target_capacity_unit_type)
56155
58541
  SENSITIVE = []
56156
58542
  include Aws::Structure
56157
58543
  end
@@ -56186,6 +58572,7 @@ module Aws::EC2
56186
58572
  # on_demand_target_capacity: 1,
56187
58573
  # spot_target_capacity: 1,
56188
58574
  # default_target_capacity_type: "spot", # accepts spot, on-demand
58575
+ # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
56189
58576
  # }
56190
58577
  #
56191
58578
  # @!attribute [rw] total_target_capacity
@@ -56206,13 +58593,20 @@ module Aws::EC2
56206
58593
  # `On-Demand`.
56207
58594
  # @return [String]
56208
58595
  #
58596
+ # @!attribute [rw] target_capacity_unit_type
58597
+ # The unit for the target capacity.
58598
+ #
58599
+ # Default: `units` (translates to number of instances)
58600
+ # @return [String]
58601
+ #
56209
58602
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetCapacitySpecificationRequest AWS API Documentation
56210
58603
  #
56211
58604
  class TargetCapacitySpecificationRequest < Struct.new(
56212
58605
  :total_target_capacity,
56213
58606
  :on_demand_target_capacity,
56214
58607
  :spot_target_capacity,
56215
- :default_target_capacity_type)
58608
+ :default_target_capacity_type,
58609
+ :target_capacity_unit_type)
56216
58610
  SENSITIVE = []
56217
58611
  include Aws::Structure
56218
58612
  end
@@ -56509,6 +58903,64 @@ module Aws::EC2
56509
58903
  include Aws::Structure
56510
58904
  end
56511
58905
 
58906
+ # The minimum and maximum amount of total local storage, in GB.
58907
+ #
58908
+ # @note When making an API call, you may pass TotalLocalStorageGB
58909
+ # data as a hash:
58910
+ #
58911
+ # {
58912
+ # min: 1.0,
58913
+ # max: 1.0,
58914
+ # }
58915
+ #
58916
+ # @!attribute [rw] min
58917
+ # The minimum amount of total local storage, in GB. If this parameter
58918
+ # is not specified, there is no minimum limit.
58919
+ # @return [Float]
58920
+ #
58921
+ # @!attribute [rw] max
58922
+ # The maximum amount of total local storage, in GB. If this parameter
58923
+ # is not specified, there is no maximum limit.
58924
+ # @return [Float]
58925
+ #
58926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TotalLocalStorageGB AWS API Documentation
58927
+ #
58928
+ class TotalLocalStorageGB < Struct.new(
58929
+ :min,
58930
+ :max)
58931
+ SENSITIVE = []
58932
+ include Aws::Structure
58933
+ end
58934
+
58935
+ # The minimum and maximum amount of total local storage, in GB.
58936
+ #
58937
+ # @note When making an API call, you may pass TotalLocalStorageGBRequest
58938
+ # data as a hash:
58939
+ #
58940
+ # {
58941
+ # min: 1.0,
58942
+ # max: 1.0,
58943
+ # }
58944
+ #
58945
+ # @!attribute [rw] min
58946
+ # The minimum amount of total local storage, in GB. To specify no
58947
+ # minimum limit, omit this parameter.
58948
+ # @return [Float]
58949
+ #
58950
+ # @!attribute [rw] max
58951
+ # The maximum amount of total local storage, in GB. To specify no
58952
+ # maximum limit, omit this parameter.
58953
+ # @return [Float]
58954
+ #
58955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TotalLocalStorageGBRequest AWS API Documentation
58956
+ #
58957
+ class TotalLocalStorageGBRequest < Struct.new(
58958
+ :min,
58959
+ :max)
58960
+ SENSITIVE = []
58961
+ include Aws::Structure
58962
+ end
58963
+
56512
58964
  # Describes the Traffic Mirror filter.
56513
58965
  #
56514
58966
  # @!attribute [rw] traffic_mirror_filter_id
@@ -58725,6 +61177,64 @@ module Aws::EC2
58725
61177
  include Aws::Structure
58726
61178
  end
58727
61179
 
61180
+ # The minimum and maximum number of vCPUs.
61181
+ #
61182
+ # @note When making an API call, you may pass VCpuCountRange
61183
+ # data as a hash:
61184
+ #
61185
+ # {
61186
+ # min: 1,
61187
+ # max: 1,
61188
+ # }
61189
+ #
61190
+ # @!attribute [rw] min
61191
+ # The minimum number of vCPUs. If the value is `0`, there is no
61192
+ # minimum limit.
61193
+ # @return [Integer]
61194
+ #
61195
+ # @!attribute [rw] max
61196
+ # The maximum number of vCPUs. If this parameter is not specified,
61197
+ # there is no maximum limit.
61198
+ # @return [Integer]
61199
+ #
61200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VCpuCountRange AWS API Documentation
61201
+ #
61202
+ class VCpuCountRange < Struct.new(
61203
+ :min,
61204
+ :max)
61205
+ SENSITIVE = []
61206
+ include Aws::Structure
61207
+ end
61208
+
61209
+ # The minimum and maximum number of vCPUs.
61210
+ #
61211
+ # @note When making an API call, you may pass VCpuCountRangeRequest
61212
+ # data as a hash:
61213
+ #
61214
+ # {
61215
+ # min: 1, # required
61216
+ # max: 1,
61217
+ # }
61218
+ #
61219
+ # @!attribute [rw] min
61220
+ # The minimum number of vCPUs. To specify no minimum limit, specify
61221
+ # `0`.
61222
+ # @return [Integer]
61223
+ #
61224
+ # @!attribute [rw] max
61225
+ # The maximum number of vCPUs. To specify no maximum limit, omit this
61226
+ # parameter.
61227
+ # @return [Integer]
61228
+ #
61229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VCpuCountRangeRequest AWS API Documentation
61230
+ #
61231
+ class VCpuCountRangeRequest < Struct.new(
61232
+ :min,
61233
+ :max)
61234
+ SENSITIVE = []
61235
+ include Aws::Structure
61236
+ end
61237
+
58728
61238
  # Describes the vCPU configurations for the instance type.
58729
61239
  #
58730
61240
  # @!attribute [rw] default_v_cpus