aws-sdk-ec2 1.272.0 → 1.273.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,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