aws-sdk-emr 1.94.0 → 1.96.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65f3421cfb0eba547f59c930cb9e7ac48695f4117777abac78cc9d5cddacf5ff
4
- data.tar.gz: 8155e06586db8039ccb88e50d80b716dfc52b220228e5b8614d5cfb1e6728229
3
+ metadata.gz: f79417ac41a202bce493ed45bdcfb45bff7cd25b87c17a8186425097cbfd09fb
4
+ data.tar.gz: 25c2068de5cfd4f497d968fa00da6d6233f128b536f8afe09456b567cb5946fd
5
5
  SHA512:
6
- metadata.gz: 3bf42ce5e147c06eb941cc0bfd0b1fd253e9446a7e5bad26c9db2bd91f900f97ff80800de18259b3572c2358a82ddd1ae645fd4db353b5e9577803b1d5de78fc
7
- data.tar.gz: 54619f9d907133405ff45a95b343064de82a761e3e167f2e3f68509b44b4519110216d5c008d3672efd16c5b1b95bdee2ac3dacbc38dbfb4ea98f1041ac08864
6
+ metadata.gz: 8e4a3e93596d8fc77d19e7b46984d6fbd7c082ff6d36aeab519f869549aca1a48b407a085c8c4016eb2d1b38718ecbee19a6f29f76dfcf51d5ece7a220557553
7
+ data.tar.gz: 38f40f2f7011e195142dda795ce5fdea67b1831ed59773f508bf5dda2e13b6928617edaebf421a0ee5b17e8ec103e6e08b04f23aae7c734f17f9ad47a0c0ae84
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.96.0 (2024-09-12)
5
+ ------------------
6
+
7
+ * Feature - Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters.
8
+
9
+ 1.95.0 (2024-09-11)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.94.0 (2024-09-10)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.94.0
1
+ 1.96.0
@@ -531,10 +531,17 @@ module Aws::EMR
531
531
  # },
532
532
  # resize_specifications: {
533
533
  # spot_resize_specification: {
534
- # timeout_duration_minutes: 1, # required
534
+ # timeout_duration_minutes: 1,
535
+ # allocation_strategy: "capacity-optimized", # accepts capacity-optimized, price-capacity-optimized, lowest-price, diversified, capacity-optimized-prioritized
535
536
  # },
536
537
  # on_demand_resize_specification: {
537
- # timeout_duration_minutes: 1, # required
538
+ # timeout_duration_minutes: 1,
539
+ # allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
540
+ # capacity_reservation_options: {
541
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
542
+ # capacity_reservation_preference: "open", # accepts open, none
543
+ # capacity_reservation_resource_group_arn: "XmlStringMaxLen256",
544
+ # },
538
545
  # },
539
546
  # },
540
547
  # },
@@ -2048,7 +2055,12 @@ module Aws::EMR
2048
2055
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.capacity_reservation_preference #=> String, one of "open", "none"
2049
2056
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.capacity_reservation_resource_group_arn #=> String
2050
2057
  # resp.instance_fleets[0].resize_specifications.spot_resize_specification.timeout_duration_minutes #=> Integer
2058
+ # resp.instance_fleets[0].resize_specifications.spot_resize_specification.allocation_strategy #=> String, one of "capacity-optimized", "price-capacity-optimized", "lowest-price", "diversified", "capacity-optimized-prioritized"
2051
2059
  # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.timeout_duration_minutes #=> Integer
2060
+ # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.allocation_strategy #=> String, one of "lowest-price", "prioritized"
2061
+ # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.capacity_reservation_options.usage_strategy #=> String, one of "use-capacity-reservations-first"
2062
+ # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.capacity_reservation_options.capacity_reservation_preference #=> String, one of "open", "none"
2063
+ # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.capacity_reservation_options.capacity_reservation_resource_group_arn #=> String
2052
2064
  # resp.marker #=> String
2053
2065
  #
2054
2066
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets AWS API Documentation
@@ -2716,12 +2728,54 @@ module Aws::EMR
2716
2728
  # target_spot_capacity: 1,
2717
2729
  # resize_specifications: {
2718
2730
  # spot_resize_specification: {
2719
- # timeout_duration_minutes: 1, # required
2731
+ # timeout_duration_minutes: 1,
2732
+ # allocation_strategy: "capacity-optimized", # accepts capacity-optimized, price-capacity-optimized, lowest-price, diversified, capacity-optimized-prioritized
2720
2733
  # },
2721
2734
  # on_demand_resize_specification: {
2722
- # timeout_duration_minutes: 1, # required
2735
+ # timeout_duration_minutes: 1,
2736
+ # allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
2737
+ # capacity_reservation_options: {
2738
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
2739
+ # capacity_reservation_preference: "open", # accepts open, none
2740
+ # capacity_reservation_resource_group_arn: "XmlStringMaxLen256",
2741
+ # },
2723
2742
  # },
2724
2743
  # },
2744
+ # instance_type_configs: [
2745
+ # {
2746
+ # instance_type: "InstanceType", # required
2747
+ # weighted_capacity: 1,
2748
+ # bid_price: "XmlStringMaxLen256",
2749
+ # bid_price_as_percentage_of_on_demand_price: 1.0,
2750
+ # ebs_configuration: {
2751
+ # ebs_block_device_configs: [
2752
+ # {
2753
+ # volume_specification: { # required
2754
+ # volume_type: "String", # required
2755
+ # iops: 1,
2756
+ # size_in_gb: 1, # required
2757
+ # throughput: 1,
2758
+ # },
2759
+ # volumes_per_instance: 1,
2760
+ # },
2761
+ # ],
2762
+ # ebs_optimized: false,
2763
+ # },
2764
+ # configurations: [
2765
+ # {
2766
+ # classification: "String",
2767
+ # configurations: {
2768
+ # # recursive ConfigurationList
2769
+ # },
2770
+ # properties: {
2771
+ # "String" => "String",
2772
+ # },
2773
+ # },
2774
+ # ],
2775
+ # custom_ami_id: "XmlStringMaxLen256",
2776
+ # priority: 1.0,
2777
+ # },
2778
+ # ],
2725
2779
  # },
2726
2780
  # })
2727
2781
  #
@@ -3584,10 +3638,17 @@ module Aws::EMR
3584
3638
  # },
3585
3639
  # resize_specifications: {
3586
3640
  # spot_resize_specification: {
3587
- # timeout_duration_minutes: 1, # required
3641
+ # timeout_duration_minutes: 1,
3642
+ # allocation_strategy: "capacity-optimized", # accepts capacity-optimized, price-capacity-optimized, lowest-price, diversified, capacity-optimized-prioritized
3588
3643
  # },
3589
3644
  # on_demand_resize_specification: {
3590
- # timeout_duration_minutes: 1, # required
3645
+ # timeout_duration_minutes: 1,
3646
+ # allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
3647
+ # capacity_reservation_options: {
3648
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
3649
+ # capacity_reservation_preference: "open", # accepts open, none
3650
+ # capacity_reservation_resource_group_arn: "XmlStringMaxLen256",
3651
+ # },
3591
3652
  # },
3592
3653
  # },
3593
3654
  # },
@@ -4207,7 +4268,7 @@ module Aws::EMR
4207
4268
  tracer: tracer
4208
4269
  )
4209
4270
  context[:gem_name] = 'aws-sdk-emr'
4210
- context[:gem_version] = '1.94.0'
4271
+ context[:gem_version] = '1.96.0'
4211
4272
  Seahorse::Client::Request.new(handlers, context)
4212
4273
  end
4213
4274
 
@@ -798,6 +798,7 @@ module Aws::EMR
798
798
  InstanceFleetModifyConfig.add_member(:target_on_demand_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TargetOnDemandCapacity"))
799
799
  InstanceFleetModifyConfig.add_member(:target_spot_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TargetSpotCapacity"))
800
800
  InstanceFleetModifyConfig.add_member(:resize_specifications, Shapes::ShapeRef.new(shape: InstanceFleetResizingSpecifications, location_name: "ResizeSpecifications"))
801
+ InstanceFleetModifyConfig.add_member(:instance_type_configs, Shapes::ShapeRef.new(shape: InstanceTypeConfigList, location_name: "InstanceTypeConfigs"))
801
802
  InstanceFleetModifyConfig.struct_class = Types::InstanceFleetModifyConfig
802
803
 
803
804
  InstanceFleetProvisioningSpecifications.add_member(:spot_specification, Shapes::ShapeRef.new(shape: SpotProvisioningSpecification, location_name: "SpotSpecification"))
@@ -1228,7 +1229,9 @@ module Aws::EMR
1228
1229
  OnDemandProvisioningSpecification.add_member(:capacity_reservation_options, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationOptions, location_name: "CapacityReservationOptions"))
1229
1230
  OnDemandProvisioningSpecification.struct_class = Types::OnDemandProvisioningSpecification
1230
1231
 
1231
- OnDemandResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, required: true, location_name: "TimeoutDurationMinutes"))
1232
+ OnDemandResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TimeoutDurationMinutes"))
1233
+ OnDemandResizingSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: OnDemandProvisioningAllocationStrategy, location_name: "AllocationStrategy"))
1234
+ OnDemandResizingSpecification.add_member(:capacity_reservation_options, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationOptions, location_name: "CapacityReservationOptions"))
1232
1235
  OnDemandResizingSpecification.struct_class = Types::OnDemandResizingSpecification
1233
1236
 
1234
1237
  OutputNotebookS3LocationForOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Bucket"))
@@ -1433,7 +1436,8 @@ module Aws::EMR
1433
1436
  SpotProvisioningSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: SpotProvisioningAllocationStrategy, location_name: "AllocationStrategy"))
1434
1437
  SpotProvisioningSpecification.struct_class = Types::SpotProvisioningSpecification
1435
1438
 
1436
- SpotResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, required: true, location_name: "TimeoutDurationMinutes"))
1439
+ SpotResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TimeoutDurationMinutes"))
1440
+ SpotResizingSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: SpotProvisioningAllocationStrategy, location_name: "AllocationStrategy"))
1437
1441
  SpotResizingSpecification.struct_class = Types::SpotResizingSpecification
1438
1442
 
1439
1443
  StartNotebookExecutionInput.add_member(:editor_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "EditorId"))
@@ -14,784 +14,616 @@ module Aws::EMR
14
14
 
15
15
  class AddInstanceFleet
16
16
  def self.build(context)
17
- unless context.config.regional_endpoint
18
- endpoint = context.config.endpoint.to_s
19
- end
20
17
  Aws::EMR::EndpointParameters.new(
21
18
  region: context.config.region,
22
19
  use_dual_stack: context.config.use_dualstack_endpoint,
23
20
  use_fips: context.config.use_fips_endpoint,
24
- endpoint: endpoint,
21
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
25
22
  )
26
23
  end
27
24
  end
28
25
 
29
26
  class AddInstanceGroups
30
27
  def self.build(context)
31
- unless context.config.regional_endpoint
32
- endpoint = context.config.endpoint.to_s
33
- end
34
28
  Aws::EMR::EndpointParameters.new(
35
29
  region: context.config.region,
36
30
  use_dual_stack: context.config.use_dualstack_endpoint,
37
31
  use_fips: context.config.use_fips_endpoint,
38
- endpoint: endpoint,
32
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
39
33
  )
40
34
  end
41
35
  end
42
36
 
43
37
  class AddJobFlowSteps
44
38
  def self.build(context)
45
- unless context.config.regional_endpoint
46
- endpoint = context.config.endpoint.to_s
47
- end
48
39
  Aws::EMR::EndpointParameters.new(
49
40
  region: context.config.region,
50
41
  use_dual_stack: context.config.use_dualstack_endpoint,
51
42
  use_fips: context.config.use_fips_endpoint,
52
- endpoint: endpoint,
43
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
53
44
  )
54
45
  end
55
46
  end
56
47
 
57
48
  class AddTags
58
49
  def self.build(context)
59
- unless context.config.regional_endpoint
60
- endpoint = context.config.endpoint.to_s
61
- end
62
50
  Aws::EMR::EndpointParameters.new(
63
51
  region: context.config.region,
64
52
  use_dual_stack: context.config.use_dualstack_endpoint,
65
53
  use_fips: context.config.use_fips_endpoint,
66
- endpoint: endpoint,
54
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
67
55
  )
68
56
  end
69
57
  end
70
58
 
71
59
  class CancelSteps
72
60
  def self.build(context)
73
- unless context.config.regional_endpoint
74
- endpoint = context.config.endpoint.to_s
75
- end
76
61
  Aws::EMR::EndpointParameters.new(
77
62
  region: context.config.region,
78
63
  use_dual_stack: context.config.use_dualstack_endpoint,
79
64
  use_fips: context.config.use_fips_endpoint,
80
- endpoint: endpoint,
65
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
81
66
  )
82
67
  end
83
68
  end
84
69
 
85
70
  class CreateSecurityConfiguration
86
71
  def self.build(context)
87
- unless context.config.regional_endpoint
88
- endpoint = context.config.endpoint.to_s
89
- end
90
72
  Aws::EMR::EndpointParameters.new(
91
73
  region: context.config.region,
92
74
  use_dual_stack: context.config.use_dualstack_endpoint,
93
75
  use_fips: context.config.use_fips_endpoint,
94
- endpoint: endpoint,
76
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
95
77
  )
96
78
  end
97
79
  end
98
80
 
99
81
  class CreateStudio
100
82
  def self.build(context)
101
- unless context.config.regional_endpoint
102
- endpoint = context.config.endpoint.to_s
103
- end
104
83
  Aws::EMR::EndpointParameters.new(
105
84
  region: context.config.region,
106
85
  use_dual_stack: context.config.use_dualstack_endpoint,
107
86
  use_fips: context.config.use_fips_endpoint,
108
- endpoint: endpoint,
87
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
109
88
  )
110
89
  end
111
90
  end
112
91
 
113
92
  class CreateStudioSessionMapping
114
93
  def self.build(context)
115
- unless context.config.regional_endpoint
116
- endpoint = context.config.endpoint.to_s
117
- end
118
94
  Aws::EMR::EndpointParameters.new(
119
95
  region: context.config.region,
120
96
  use_dual_stack: context.config.use_dualstack_endpoint,
121
97
  use_fips: context.config.use_fips_endpoint,
122
- endpoint: endpoint,
98
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
123
99
  )
124
100
  end
125
101
  end
126
102
 
127
103
  class DeleteSecurityConfiguration
128
104
  def self.build(context)
129
- unless context.config.regional_endpoint
130
- endpoint = context.config.endpoint.to_s
131
- end
132
105
  Aws::EMR::EndpointParameters.new(
133
106
  region: context.config.region,
134
107
  use_dual_stack: context.config.use_dualstack_endpoint,
135
108
  use_fips: context.config.use_fips_endpoint,
136
- endpoint: endpoint,
109
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
137
110
  )
138
111
  end
139
112
  end
140
113
 
141
114
  class DeleteStudio
142
115
  def self.build(context)
143
- unless context.config.regional_endpoint
144
- endpoint = context.config.endpoint.to_s
145
- end
146
116
  Aws::EMR::EndpointParameters.new(
147
117
  region: context.config.region,
148
118
  use_dual_stack: context.config.use_dualstack_endpoint,
149
119
  use_fips: context.config.use_fips_endpoint,
150
- endpoint: endpoint,
120
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
151
121
  )
152
122
  end
153
123
  end
154
124
 
155
125
  class DeleteStudioSessionMapping
156
126
  def self.build(context)
157
- unless context.config.regional_endpoint
158
- endpoint = context.config.endpoint.to_s
159
- end
160
127
  Aws::EMR::EndpointParameters.new(
161
128
  region: context.config.region,
162
129
  use_dual_stack: context.config.use_dualstack_endpoint,
163
130
  use_fips: context.config.use_fips_endpoint,
164
- endpoint: endpoint,
131
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
165
132
  )
166
133
  end
167
134
  end
168
135
 
169
136
  class DescribeCluster
170
137
  def self.build(context)
171
- unless context.config.regional_endpoint
172
- endpoint = context.config.endpoint.to_s
173
- end
174
138
  Aws::EMR::EndpointParameters.new(
175
139
  region: context.config.region,
176
140
  use_dual_stack: context.config.use_dualstack_endpoint,
177
141
  use_fips: context.config.use_fips_endpoint,
178
- endpoint: endpoint,
142
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
179
143
  )
180
144
  end
181
145
  end
182
146
 
183
147
  class DescribeJobFlows
184
148
  def self.build(context)
185
- unless context.config.regional_endpoint
186
- endpoint = context.config.endpoint.to_s
187
- end
188
149
  Aws::EMR::EndpointParameters.new(
189
150
  region: context.config.region,
190
151
  use_dual_stack: context.config.use_dualstack_endpoint,
191
152
  use_fips: context.config.use_fips_endpoint,
192
- endpoint: endpoint,
153
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
193
154
  )
194
155
  end
195
156
  end
196
157
 
197
158
  class DescribeNotebookExecution
198
159
  def self.build(context)
199
- unless context.config.regional_endpoint
200
- endpoint = context.config.endpoint.to_s
201
- end
202
160
  Aws::EMR::EndpointParameters.new(
203
161
  region: context.config.region,
204
162
  use_dual_stack: context.config.use_dualstack_endpoint,
205
163
  use_fips: context.config.use_fips_endpoint,
206
- endpoint: endpoint,
164
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
207
165
  )
208
166
  end
209
167
  end
210
168
 
211
169
  class DescribeReleaseLabel
212
170
  def self.build(context)
213
- unless context.config.regional_endpoint
214
- endpoint = context.config.endpoint.to_s
215
- end
216
171
  Aws::EMR::EndpointParameters.new(
217
172
  region: context.config.region,
218
173
  use_dual_stack: context.config.use_dualstack_endpoint,
219
174
  use_fips: context.config.use_fips_endpoint,
220
- endpoint: endpoint,
175
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
221
176
  )
222
177
  end
223
178
  end
224
179
 
225
180
  class DescribeSecurityConfiguration
226
181
  def self.build(context)
227
- unless context.config.regional_endpoint
228
- endpoint = context.config.endpoint.to_s
229
- end
230
182
  Aws::EMR::EndpointParameters.new(
231
183
  region: context.config.region,
232
184
  use_dual_stack: context.config.use_dualstack_endpoint,
233
185
  use_fips: context.config.use_fips_endpoint,
234
- endpoint: endpoint,
186
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
235
187
  )
236
188
  end
237
189
  end
238
190
 
239
191
  class DescribeStep
240
192
  def self.build(context)
241
- unless context.config.regional_endpoint
242
- endpoint = context.config.endpoint.to_s
243
- end
244
193
  Aws::EMR::EndpointParameters.new(
245
194
  region: context.config.region,
246
195
  use_dual_stack: context.config.use_dualstack_endpoint,
247
196
  use_fips: context.config.use_fips_endpoint,
248
- endpoint: endpoint,
197
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
249
198
  )
250
199
  end
251
200
  end
252
201
 
253
202
  class DescribeStudio
254
203
  def self.build(context)
255
- unless context.config.regional_endpoint
256
- endpoint = context.config.endpoint.to_s
257
- end
258
204
  Aws::EMR::EndpointParameters.new(
259
205
  region: context.config.region,
260
206
  use_dual_stack: context.config.use_dualstack_endpoint,
261
207
  use_fips: context.config.use_fips_endpoint,
262
- endpoint: endpoint,
208
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
263
209
  )
264
210
  end
265
211
  end
266
212
 
267
213
  class GetAutoTerminationPolicy
268
214
  def self.build(context)
269
- unless context.config.regional_endpoint
270
- endpoint = context.config.endpoint.to_s
271
- end
272
215
  Aws::EMR::EndpointParameters.new(
273
216
  region: context.config.region,
274
217
  use_dual_stack: context.config.use_dualstack_endpoint,
275
218
  use_fips: context.config.use_fips_endpoint,
276
- endpoint: endpoint,
219
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
277
220
  )
278
221
  end
279
222
  end
280
223
 
281
224
  class GetBlockPublicAccessConfiguration
282
225
  def self.build(context)
283
- unless context.config.regional_endpoint
284
- endpoint = context.config.endpoint.to_s
285
- end
286
226
  Aws::EMR::EndpointParameters.new(
287
227
  region: context.config.region,
288
228
  use_dual_stack: context.config.use_dualstack_endpoint,
289
229
  use_fips: context.config.use_fips_endpoint,
290
- endpoint: endpoint,
230
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
291
231
  )
292
232
  end
293
233
  end
294
234
 
295
235
  class GetClusterSessionCredentials
296
236
  def self.build(context)
297
- unless context.config.regional_endpoint
298
- endpoint = context.config.endpoint.to_s
299
- end
300
237
  Aws::EMR::EndpointParameters.new(
301
238
  region: context.config.region,
302
239
  use_dual_stack: context.config.use_dualstack_endpoint,
303
240
  use_fips: context.config.use_fips_endpoint,
304
- endpoint: endpoint,
241
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
305
242
  )
306
243
  end
307
244
  end
308
245
 
309
246
  class GetManagedScalingPolicy
310
247
  def self.build(context)
311
- unless context.config.regional_endpoint
312
- endpoint = context.config.endpoint.to_s
313
- end
314
248
  Aws::EMR::EndpointParameters.new(
315
249
  region: context.config.region,
316
250
  use_dual_stack: context.config.use_dualstack_endpoint,
317
251
  use_fips: context.config.use_fips_endpoint,
318
- endpoint: endpoint,
252
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
319
253
  )
320
254
  end
321
255
  end
322
256
 
323
257
  class GetStudioSessionMapping
324
258
  def self.build(context)
325
- unless context.config.regional_endpoint
326
- endpoint = context.config.endpoint.to_s
327
- end
328
259
  Aws::EMR::EndpointParameters.new(
329
260
  region: context.config.region,
330
261
  use_dual_stack: context.config.use_dualstack_endpoint,
331
262
  use_fips: context.config.use_fips_endpoint,
332
- endpoint: endpoint,
263
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
333
264
  )
334
265
  end
335
266
  end
336
267
 
337
268
  class ListBootstrapActions
338
269
  def self.build(context)
339
- unless context.config.regional_endpoint
340
- endpoint = context.config.endpoint.to_s
341
- end
342
270
  Aws::EMR::EndpointParameters.new(
343
271
  region: context.config.region,
344
272
  use_dual_stack: context.config.use_dualstack_endpoint,
345
273
  use_fips: context.config.use_fips_endpoint,
346
- endpoint: endpoint,
274
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
347
275
  )
348
276
  end
349
277
  end
350
278
 
351
279
  class ListClusters
352
280
  def self.build(context)
353
- unless context.config.regional_endpoint
354
- endpoint = context.config.endpoint.to_s
355
- end
356
281
  Aws::EMR::EndpointParameters.new(
357
282
  region: context.config.region,
358
283
  use_dual_stack: context.config.use_dualstack_endpoint,
359
284
  use_fips: context.config.use_fips_endpoint,
360
- endpoint: endpoint,
285
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
361
286
  )
362
287
  end
363
288
  end
364
289
 
365
290
  class ListInstanceFleets
366
291
  def self.build(context)
367
- unless context.config.regional_endpoint
368
- endpoint = context.config.endpoint.to_s
369
- end
370
292
  Aws::EMR::EndpointParameters.new(
371
293
  region: context.config.region,
372
294
  use_dual_stack: context.config.use_dualstack_endpoint,
373
295
  use_fips: context.config.use_fips_endpoint,
374
- endpoint: endpoint,
296
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
375
297
  )
376
298
  end
377
299
  end
378
300
 
379
301
  class ListInstanceGroups
380
302
  def self.build(context)
381
- unless context.config.regional_endpoint
382
- endpoint = context.config.endpoint.to_s
383
- end
384
303
  Aws::EMR::EndpointParameters.new(
385
304
  region: context.config.region,
386
305
  use_dual_stack: context.config.use_dualstack_endpoint,
387
306
  use_fips: context.config.use_fips_endpoint,
388
- endpoint: endpoint,
307
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
389
308
  )
390
309
  end
391
310
  end
392
311
 
393
312
  class ListInstances
394
313
  def self.build(context)
395
- unless context.config.regional_endpoint
396
- endpoint = context.config.endpoint.to_s
397
- end
398
314
  Aws::EMR::EndpointParameters.new(
399
315
  region: context.config.region,
400
316
  use_dual_stack: context.config.use_dualstack_endpoint,
401
317
  use_fips: context.config.use_fips_endpoint,
402
- endpoint: endpoint,
318
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
403
319
  )
404
320
  end
405
321
  end
406
322
 
407
323
  class ListNotebookExecutions
408
324
  def self.build(context)
409
- unless context.config.regional_endpoint
410
- endpoint = context.config.endpoint.to_s
411
- end
412
325
  Aws::EMR::EndpointParameters.new(
413
326
  region: context.config.region,
414
327
  use_dual_stack: context.config.use_dualstack_endpoint,
415
328
  use_fips: context.config.use_fips_endpoint,
416
- endpoint: endpoint,
329
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
417
330
  )
418
331
  end
419
332
  end
420
333
 
421
334
  class ListReleaseLabels
422
335
  def self.build(context)
423
- unless context.config.regional_endpoint
424
- endpoint = context.config.endpoint.to_s
425
- end
426
336
  Aws::EMR::EndpointParameters.new(
427
337
  region: context.config.region,
428
338
  use_dual_stack: context.config.use_dualstack_endpoint,
429
339
  use_fips: context.config.use_fips_endpoint,
430
- endpoint: endpoint,
340
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
431
341
  )
432
342
  end
433
343
  end
434
344
 
435
345
  class ListSecurityConfigurations
436
346
  def self.build(context)
437
- unless context.config.regional_endpoint
438
- endpoint = context.config.endpoint.to_s
439
- end
440
347
  Aws::EMR::EndpointParameters.new(
441
348
  region: context.config.region,
442
349
  use_dual_stack: context.config.use_dualstack_endpoint,
443
350
  use_fips: context.config.use_fips_endpoint,
444
- endpoint: endpoint,
351
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
445
352
  )
446
353
  end
447
354
  end
448
355
 
449
356
  class ListSteps
450
357
  def self.build(context)
451
- unless context.config.regional_endpoint
452
- endpoint = context.config.endpoint.to_s
453
- end
454
358
  Aws::EMR::EndpointParameters.new(
455
359
  region: context.config.region,
456
360
  use_dual_stack: context.config.use_dualstack_endpoint,
457
361
  use_fips: context.config.use_fips_endpoint,
458
- endpoint: endpoint,
362
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
459
363
  )
460
364
  end
461
365
  end
462
366
 
463
367
  class ListStudioSessionMappings
464
368
  def self.build(context)
465
- unless context.config.regional_endpoint
466
- endpoint = context.config.endpoint.to_s
467
- end
468
369
  Aws::EMR::EndpointParameters.new(
469
370
  region: context.config.region,
470
371
  use_dual_stack: context.config.use_dualstack_endpoint,
471
372
  use_fips: context.config.use_fips_endpoint,
472
- endpoint: endpoint,
373
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
473
374
  )
474
375
  end
475
376
  end
476
377
 
477
378
  class ListStudios
478
379
  def self.build(context)
479
- unless context.config.regional_endpoint
480
- endpoint = context.config.endpoint.to_s
481
- end
482
380
  Aws::EMR::EndpointParameters.new(
483
381
  region: context.config.region,
484
382
  use_dual_stack: context.config.use_dualstack_endpoint,
485
383
  use_fips: context.config.use_fips_endpoint,
486
- endpoint: endpoint,
384
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
487
385
  )
488
386
  end
489
387
  end
490
388
 
491
389
  class ListSupportedInstanceTypes
492
390
  def self.build(context)
493
- unless context.config.regional_endpoint
494
- endpoint = context.config.endpoint.to_s
495
- end
496
391
  Aws::EMR::EndpointParameters.new(
497
392
  region: context.config.region,
498
393
  use_dual_stack: context.config.use_dualstack_endpoint,
499
394
  use_fips: context.config.use_fips_endpoint,
500
- endpoint: endpoint,
395
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
501
396
  )
502
397
  end
503
398
  end
504
399
 
505
400
  class ModifyCluster
506
401
  def self.build(context)
507
- unless context.config.regional_endpoint
508
- endpoint = context.config.endpoint.to_s
509
- end
510
402
  Aws::EMR::EndpointParameters.new(
511
403
  region: context.config.region,
512
404
  use_dual_stack: context.config.use_dualstack_endpoint,
513
405
  use_fips: context.config.use_fips_endpoint,
514
- endpoint: endpoint,
406
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
515
407
  )
516
408
  end
517
409
  end
518
410
 
519
411
  class ModifyInstanceFleet
520
412
  def self.build(context)
521
- unless context.config.regional_endpoint
522
- endpoint = context.config.endpoint.to_s
523
- end
524
413
  Aws::EMR::EndpointParameters.new(
525
414
  region: context.config.region,
526
415
  use_dual_stack: context.config.use_dualstack_endpoint,
527
416
  use_fips: context.config.use_fips_endpoint,
528
- endpoint: endpoint,
417
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
529
418
  )
530
419
  end
531
420
  end
532
421
 
533
422
  class ModifyInstanceGroups
534
423
  def self.build(context)
535
- unless context.config.regional_endpoint
536
- endpoint = context.config.endpoint.to_s
537
- end
538
424
  Aws::EMR::EndpointParameters.new(
539
425
  region: context.config.region,
540
426
  use_dual_stack: context.config.use_dualstack_endpoint,
541
427
  use_fips: context.config.use_fips_endpoint,
542
- endpoint: endpoint,
428
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
543
429
  )
544
430
  end
545
431
  end
546
432
 
547
433
  class PutAutoScalingPolicy
548
434
  def self.build(context)
549
- unless context.config.regional_endpoint
550
- endpoint = context.config.endpoint.to_s
551
- end
552
435
  Aws::EMR::EndpointParameters.new(
553
436
  region: context.config.region,
554
437
  use_dual_stack: context.config.use_dualstack_endpoint,
555
438
  use_fips: context.config.use_fips_endpoint,
556
- endpoint: endpoint,
439
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
557
440
  )
558
441
  end
559
442
  end
560
443
 
561
444
  class PutAutoTerminationPolicy
562
445
  def self.build(context)
563
- unless context.config.regional_endpoint
564
- endpoint = context.config.endpoint.to_s
565
- end
566
446
  Aws::EMR::EndpointParameters.new(
567
447
  region: context.config.region,
568
448
  use_dual_stack: context.config.use_dualstack_endpoint,
569
449
  use_fips: context.config.use_fips_endpoint,
570
- endpoint: endpoint,
450
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
571
451
  )
572
452
  end
573
453
  end
574
454
 
575
455
  class PutBlockPublicAccessConfiguration
576
456
  def self.build(context)
577
- unless context.config.regional_endpoint
578
- endpoint = context.config.endpoint.to_s
579
- end
580
457
  Aws::EMR::EndpointParameters.new(
581
458
  region: context.config.region,
582
459
  use_dual_stack: context.config.use_dualstack_endpoint,
583
460
  use_fips: context.config.use_fips_endpoint,
584
- endpoint: endpoint,
461
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
585
462
  )
586
463
  end
587
464
  end
588
465
 
589
466
  class PutManagedScalingPolicy
590
467
  def self.build(context)
591
- unless context.config.regional_endpoint
592
- endpoint = context.config.endpoint.to_s
593
- end
594
468
  Aws::EMR::EndpointParameters.new(
595
469
  region: context.config.region,
596
470
  use_dual_stack: context.config.use_dualstack_endpoint,
597
471
  use_fips: context.config.use_fips_endpoint,
598
- endpoint: endpoint,
472
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
599
473
  )
600
474
  end
601
475
  end
602
476
 
603
477
  class RemoveAutoScalingPolicy
604
478
  def self.build(context)
605
- unless context.config.regional_endpoint
606
- endpoint = context.config.endpoint.to_s
607
- end
608
479
  Aws::EMR::EndpointParameters.new(
609
480
  region: context.config.region,
610
481
  use_dual_stack: context.config.use_dualstack_endpoint,
611
482
  use_fips: context.config.use_fips_endpoint,
612
- endpoint: endpoint,
483
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
613
484
  )
614
485
  end
615
486
  end
616
487
 
617
488
  class RemoveAutoTerminationPolicy
618
489
  def self.build(context)
619
- unless context.config.regional_endpoint
620
- endpoint = context.config.endpoint.to_s
621
- end
622
490
  Aws::EMR::EndpointParameters.new(
623
491
  region: context.config.region,
624
492
  use_dual_stack: context.config.use_dualstack_endpoint,
625
493
  use_fips: context.config.use_fips_endpoint,
626
- endpoint: endpoint,
494
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
627
495
  )
628
496
  end
629
497
  end
630
498
 
631
499
  class RemoveManagedScalingPolicy
632
500
  def self.build(context)
633
- unless context.config.regional_endpoint
634
- endpoint = context.config.endpoint.to_s
635
- end
636
501
  Aws::EMR::EndpointParameters.new(
637
502
  region: context.config.region,
638
503
  use_dual_stack: context.config.use_dualstack_endpoint,
639
504
  use_fips: context.config.use_fips_endpoint,
640
- endpoint: endpoint,
505
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
641
506
  )
642
507
  end
643
508
  end
644
509
 
645
510
  class RemoveTags
646
511
  def self.build(context)
647
- unless context.config.regional_endpoint
648
- endpoint = context.config.endpoint.to_s
649
- end
650
512
  Aws::EMR::EndpointParameters.new(
651
513
  region: context.config.region,
652
514
  use_dual_stack: context.config.use_dualstack_endpoint,
653
515
  use_fips: context.config.use_fips_endpoint,
654
- endpoint: endpoint,
516
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
655
517
  )
656
518
  end
657
519
  end
658
520
 
659
521
  class RunJobFlow
660
522
  def self.build(context)
661
- unless context.config.regional_endpoint
662
- endpoint = context.config.endpoint.to_s
663
- end
664
523
  Aws::EMR::EndpointParameters.new(
665
524
  region: context.config.region,
666
525
  use_dual_stack: context.config.use_dualstack_endpoint,
667
526
  use_fips: context.config.use_fips_endpoint,
668
- endpoint: endpoint,
527
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
669
528
  )
670
529
  end
671
530
  end
672
531
 
673
532
  class SetKeepJobFlowAliveWhenNoSteps
674
533
  def self.build(context)
675
- unless context.config.regional_endpoint
676
- endpoint = context.config.endpoint.to_s
677
- end
678
534
  Aws::EMR::EndpointParameters.new(
679
535
  region: context.config.region,
680
536
  use_dual_stack: context.config.use_dualstack_endpoint,
681
537
  use_fips: context.config.use_fips_endpoint,
682
- endpoint: endpoint,
538
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
683
539
  )
684
540
  end
685
541
  end
686
542
 
687
543
  class SetTerminationProtection
688
544
  def self.build(context)
689
- unless context.config.regional_endpoint
690
- endpoint = context.config.endpoint.to_s
691
- end
692
545
  Aws::EMR::EndpointParameters.new(
693
546
  region: context.config.region,
694
547
  use_dual_stack: context.config.use_dualstack_endpoint,
695
548
  use_fips: context.config.use_fips_endpoint,
696
- endpoint: endpoint,
549
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
697
550
  )
698
551
  end
699
552
  end
700
553
 
701
554
  class SetUnhealthyNodeReplacement
702
555
  def self.build(context)
703
- unless context.config.regional_endpoint
704
- endpoint = context.config.endpoint.to_s
705
- end
706
556
  Aws::EMR::EndpointParameters.new(
707
557
  region: context.config.region,
708
558
  use_dual_stack: context.config.use_dualstack_endpoint,
709
559
  use_fips: context.config.use_fips_endpoint,
710
- endpoint: endpoint,
560
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
711
561
  )
712
562
  end
713
563
  end
714
564
 
715
565
  class SetVisibleToAllUsers
716
566
  def self.build(context)
717
- unless context.config.regional_endpoint
718
- endpoint = context.config.endpoint.to_s
719
- end
720
567
  Aws::EMR::EndpointParameters.new(
721
568
  region: context.config.region,
722
569
  use_dual_stack: context.config.use_dualstack_endpoint,
723
570
  use_fips: context.config.use_fips_endpoint,
724
- endpoint: endpoint,
571
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
725
572
  )
726
573
  end
727
574
  end
728
575
 
729
576
  class StartNotebookExecution
730
577
  def self.build(context)
731
- unless context.config.regional_endpoint
732
- endpoint = context.config.endpoint.to_s
733
- end
734
578
  Aws::EMR::EndpointParameters.new(
735
579
  region: context.config.region,
736
580
  use_dual_stack: context.config.use_dualstack_endpoint,
737
581
  use_fips: context.config.use_fips_endpoint,
738
- endpoint: endpoint,
582
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
739
583
  )
740
584
  end
741
585
  end
742
586
 
743
587
  class StopNotebookExecution
744
588
  def self.build(context)
745
- unless context.config.regional_endpoint
746
- endpoint = context.config.endpoint.to_s
747
- end
748
589
  Aws::EMR::EndpointParameters.new(
749
590
  region: context.config.region,
750
591
  use_dual_stack: context.config.use_dualstack_endpoint,
751
592
  use_fips: context.config.use_fips_endpoint,
752
- endpoint: endpoint,
593
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
753
594
  )
754
595
  end
755
596
  end
756
597
 
757
598
  class TerminateJobFlows
758
599
  def self.build(context)
759
- unless context.config.regional_endpoint
760
- endpoint = context.config.endpoint.to_s
761
- end
762
600
  Aws::EMR::EndpointParameters.new(
763
601
  region: context.config.region,
764
602
  use_dual_stack: context.config.use_dualstack_endpoint,
765
603
  use_fips: context.config.use_fips_endpoint,
766
- endpoint: endpoint,
604
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
767
605
  )
768
606
  end
769
607
  end
770
608
 
771
609
  class UpdateStudio
772
610
  def self.build(context)
773
- unless context.config.regional_endpoint
774
- endpoint = context.config.endpoint.to_s
775
- end
776
611
  Aws::EMR::EndpointParameters.new(
777
612
  region: context.config.region,
778
613
  use_dual_stack: context.config.use_dualstack_endpoint,
779
614
  use_fips: context.config.use_fips_endpoint,
780
- endpoint: endpoint,
615
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
781
616
  )
782
617
  end
783
618
  end
784
619
 
785
620
  class UpdateStudioSessionMapping
786
621
  def self.build(context)
787
- unless context.config.regional_endpoint
788
- endpoint = context.config.endpoint.to_s
789
- end
790
622
  Aws::EMR::EndpointParameters.new(
791
623
  region: context.config.region,
792
624
  use_dual_stack: context.config.use_dualstack_endpoint,
793
625
  use_fips: context.config.use_fips_endpoint,
794
- endpoint: endpoint,
626
+ endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
795
627
  )
796
628
  end
797
629
  end
@@ -40,11 +40,20 @@ module Aws::EMR
40
40
  context[:auth_scheme] =
41
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
42
42
 
43
- @handler.call(context)
43
+ with_metrics(context) { @handler.call(context) }
44
44
  end
45
45
 
46
46
  private
47
47
 
48
+ def with_metrics(context, &block)
49
+ metrics = []
50
+ metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint
51
+ if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
+ metrics << 'SIGV4A_SIGNING'
53
+ end
54
+ Aws::Plugins::UserAgent.metric(*metrics, &block)
55
+ end
56
+
48
57
  def apply_endpoint_headers(context, headers)
49
58
  headers.each do |key, values|
50
59
  value = values
@@ -2507,20 +2507,30 @@ module Aws::EMR
2507
2507
  # The resize specification for the instance fleet.
2508
2508
  # @return [Types::InstanceFleetResizingSpecifications]
2509
2509
  #
2510
+ # @!attribute [rw] instance_type_configs
2511
+ # An array of InstanceTypeConfig objects that specify how Amazon EMR
2512
+ # provisions Amazon EC2 instances when it fulfills On-Demand and Spot
2513
+ # capacities. For more information, see [InstanceTypeConfig][1].
2514
+ #
2515
+ #
2516
+ #
2517
+ # [1]: https://docs.aws.amazon.com/emr/latest/APIReference/API_InstanceTypeConfig.html
2518
+ # @return [Array<Types::InstanceTypeConfig>]
2519
+ #
2510
2520
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleetModifyConfig AWS API Documentation
2511
2521
  #
2512
2522
  class InstanceFleetModifyConfig < Struct.new(
2513
2523
  :instance_fleet_id,
2514
2524
  :target_on_demand_capacity,
2515
2525
  :target_spot_capacity,
2516
- :resize_specifications)
2526
+ :resize_specifications,
2527
+ :instance_type_configs)
2517
2528
  SENSITIVE = []
2518
2529
  include Aws::Structure
2519
2530
  end
2520
2531
 
2521
- # The launch specification for Spot Instances in the fleet, which
2522
- # determines the defined duration, provisioning timeout behavior, and
2523
- # allocation strategy.
2532
+ # The launch specification for On-Demand and Spot Instances in the
2533
+ # fleet.
2524
2534
  #
2525
2535
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2526
2536
  # releases 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot
@@ -2531,13 +2541,14 @@ module Aws::EMR
2531
2541
  #
2532
2542
  # @!attribute [rw] spot_specification
2533
2543
  # The launch specification for Spot instances in the fleet, which
2534
- # determines the defined duration, provisioning timeout behavior, and
2535
- # allocation strategy.
2544
+ # determines the allocation strategy, defined duration, and
2545
+ # provisioning timeout behavior.
2536
2546
  # @return [Types::SpotProvisioningSpecification]
2537
2547
  #
2538
2548
  # @!attribute [rw] on_demand_specification
2539
2549
  # The launch specification for On-Demand Instances in the instance
2540
- # fleet, which determines the allocation strategy.
2550
+ # fleet, which determines the allocation strategy and capacity
2551
+ # reservation options.
2541
2552
  #
2542
2553
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2543
2554
  # releases 4.8.0 and later, excluding 5.0.x versions. On-Demand
@@ -2561,12 +2572,14 @@ module Aws::EMR
2561
2572
  #
2562
2573
  # @!attribute [rw] spot_resize_specification
2563
2574
  # The resize specification for Spot Instances in the instance fleet,
2564
- # which contains the resize timeout period.
2575
+ # which contains the allocation strategy and the resize timeout
2576
+ # period.
2565
2577
  # @return [Types::SpotResizingSpecification]
2566
2578
  #
2567
2579
  # @!attribute [rw] on_demand_resize_specification
2568
2580
  # The resize specification for On-Demand Instances in the instance
2569
- # fleet, which contains the resize timeout period.
2581
+ # fleet, which contains the allocation strategy, capacity reservation
2582
+ # options, and the resize timeout period.
2570
2583
  # @return [Types::OnDemandResizingSpecification]
2571
2584
  #
2572
2585
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleetResizingSpecifications AWS API Documentation
@@ -4921,10 +4934,22 @@ module Aws::EMR
4921
4934
  # by Amazon EMR due to Amazon EC2 Spot Reclamation.
4922
4935
  # @return [Integer]
4923
4936
  #
4937
+ # @!attribute [rw] allocation_strategy
4938
+ # Specifies the allocation strategy to use to launch On-Demand
4939
+ # instances during a resize. The default is `lowest-price`.
4940
+ # @return [String]
4941
+ #
4942
+ # @!attribute [rw] capacity_reservation_options
4943
+ # Describes the strategy for using unused Capacity Reservations for
4944
+ # fulfilling On-Demand capacity.
4945
+ # @return [Types::OnDemandCapacityReservationOptions]
4946
+ #
4924
4947
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/OnDemandResizingSpecification AWS API Documentation
4925
4948
  #
4926
4949
  class OnDemandResizingSpecification < Struct.new(
4927
- :timeout_duration_minutes)
4950
+ :timeout_duration_minutes,
4951
+ :allocation_strategy,
4952
+ :capacity_reservation_options)
4928
4953
  SENSITIVE = []
4929
4954
  include Aws::Structure
4930
4955
  end
@@ -6164,10 +6189,18 @@ module Aws::EMR
6164
6189
  # Spot Reclamation.
6165
6190
  # @return [Integer]
6166
6191
  #
6192
+ # @!attribute [rw] allocation_strategy
6193
+ # Specifies the allocation strategy to use to launch Spot instances
6194
+ # during a resize. If you run Amazon EMR releases 6.9.0 or higher, the
6195
+ # default is `price-capacity-optimized`. If you run Amazon EMR
6196
+ # releases 6.8.0 or lower, the default is `capacity-optimized`.
6197
+ # @return [String]
6198
+ #
6167
6199
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SpotResizingSpecification AWS API Documentation
6168
6200
  #
6169
6201
  class SpotResizingSpecification < Struct.new(
6170
- :timeout_duration_minutes)
6202
+ :timeout_duration_minutes,
6203
+ :allocation_strategy)
6171
6204
  SENSITIVE = []
6172
6205
  include Aws::Structure
6173
6206
  end
data/lib/aws-sdk-emr.rb CHANGED
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-emr/customizations'
53
53
  # @!group service
54
54
  module Aws::EMR
55
55
 
56
- GEM_VERSION = '1.94.0'
56
+ GEM_VERSION = '1.96.0'
57
57
 
58
58
  end
data/sig/client.rbs CHANGED
@@ -138,10 +138,17 @@ module Aws
138
138
  }?,
139
139
  resize_specifications: {
140
140
  spot_resize_specification: {
141
- timeout_duration_minutes: ::Integer
141
+ timeout_duration_minutes: ::Integer?,
142
+ allocation_strategy: ("capacity-optimized" | "price-capacity-optimized" | "lowest-price" | "diversified" | "capacity-optimized-prioritized")?
142
143
  }?,
143
144
  on_demand_resize_specification: {
144
- timeout_duration_minutes: ::Integer
145
+ timeout_duration_minutes: ::Integer?,
146
+ allocation_strategy: ("lowest-price" | "prioritized")?,
147
+ capacity_reservation_options: {
148
+ usage_strategy: ("use-capacity-reservations-first")?,
149
+ capacity_reservation_preference: ("open" | "none")?,
150
+ capacity_reservation_resource_group_arn: ::String?
151
+ }?
145
152
  }?
146
153
  }?
147
154
  }
@@ -679,12 +686,50 @@ module Aws
679
686
  target_spot_capacity: ::Integer?,
680
687
  resize_specifications: {
681
688
  spot_resize_specification: {
682
- timeout_duration_minutes: ::Integer
689
+ timeout_duration_minutes: ::Integer?,
690
+ allocation_strategy: ("capacity-optimized" | "price-capacity-optimized" | "lowest-price" | "diversified" | "capacity-optimized-prioritized")?
683
691
  }?,
684
692
  on_demand_resize_specification: {
685
- timeout_duration_minutes: ::Integer
693
+ timeout_duration_minutes: ::Integer?,
694
+ allocation_strategy: ("lowest-price" | "prioritized")?,
695
+ capacity_reservation_options: {
696
+ usage_strategy: ("use-capacity-reservations-first")?,
697
+ capacity_reservation_preference: ("open" | "none")?,
698
+ capacity_reservation_resource_group_arn: ::String?
699
+ }?
686
700
  }?
687
- }?
701
+ }?,
702
+ instance_type_configs: Array[
703
+ {
704
+ instance_type: ::String,
705
+ weighted_capacity: ::Integer?,
706
+ bid_price: ::String?,
707
+ bid_price_as_percentage_of_on_demand_price: ::Float?,
708
+ ebs_configuration: {
709
+ ebs_block_device_configs: Array[
710
+ {
711
+ volume_specification: {
712
+ volume_type: ::String,
713
+ iops: ::Integer?,
714
+ size_in_gb: ::Integer,
715
+ throughput: ::Integer?
716
+ },
717
+ volumes_per_instance: ::Integer?
718
+ },
719
+ ]?,
720
+ ebs_optimized: bool?
721
+ }?,
722
+ configurations: Array[
723
+ {
724
+ classification: ::String?,
725
+ configurations: untyped?,
726
+ properties: Hash[::String, ::String]?
727
+ },
728
+ ]?,
729
+ custom_ami_id: ::String?,
730
+ priority: ::Float?
731
+ },
732
+ ]?
688
733
  }
689
734
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
690
735
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
@@ -997,10 +1042,17 @@ module Aws
997
1042
  }?,
998
1043
  resize_specifications: {
999
1044
  spot_resize_specification: {
1000
- timeout_duration_minutes: ::Integer
1045
+ timeout_duration_minutes: ::Integer?,
1046
+ allocation_strategy: ("capacity-optimized" | "price-capacity-optimized" | "lowest-price" | "diversified" | "capacity-optimized-prioritized")?
1001
1047
  }?,
1002
1048
  on_demand_resize_specification: {
1003
- timeout_duration_minutes: ::Integer
1049
+ timeout_duration_minutes: ::Integer?,
1050
+ allocation_strategy: ("lowest-price" | "prioritized")?,
1051
+ capacity_reservation_options: {
1052
+ usage_strategy: ("use-capacity-reservations-first")?,
1053
+ capacity_reservation_preference: ("open" | "none")?,
1054
+ capacity_reservation_resource_group_arn: ::String?
1055
+ }?
1004
1056
  }?
1005
1057
  }?
1006
1058
  },
data/sig/types.rbs CHANGED
@@ -579,6 +579,7 @@ module Aws::EMR
579
579
  attr_accessor target_on_demand_capacity: ::Integer
580
580
  attr_accessor target_spot_capacity: ::Integer
581
581
  attr_accessor resize_specifications: Types::InstanceFleetResizingSpecifications
582
+ attr_accessor instance_type_configs: ::Array[Types::InstanceTypeConfig]
582
583
  SENSITIVE: []
583
584
  end
584
585
 
@@ -1105,6 +1106,8 @@ module Aws::EMR
1105
1106
 
1106
1107
  class OnDemandResizingSpecification
1107
1108
  attr_accessor timeout_duration_minutes: ::Integer
1109
+ attr_accessor allocation_strategy: ("lowest-price" | "prioritized")
1110
+ attr_accessor capacity_reservation_options: Types::OnDemandCapacityReservationOptions
1108
1111
  SENSITIVE: []
1109
1112
  end
1110
1113
 
@@ -1371,6 +1374,7 @@ module Aws::EMR
1371
1374
 
1372
1375
  class SpotResizingSpecification
1373
1376
  attr_accessor timeout_duration_minutes: ::Integer
1377
+ attr_accessor allocation_strategy: ("capacity-optimized" | "price-capacity-optimized" | "lowest-price" | "diversified" | "capacity-optimized-prioritized")
1374
1378
  SENSITIVE: []
1375
1379
  end
1376
1380
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-emr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.94.0
4
+ version: 1.96.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-10 00:00:00.000000000 Z
11
+ date: 2024-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.203.0
22
+ version: 3.205.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.203.0
32
+ version: 3.205.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement