aws-sdk-emr 1.65.0 → 1.67.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: eaf39c07378851adae15288fd886add00651fecee4c6d0c4c5c3e23283cefc24
4
- data.tar.gz: b94977ad5e357a20c7b82d2fc0e6658c413e7d1f06b8f85f8020a812b7565521
3
+ metadata.gz: 527e4bd9d121c4c39c78a9be66157163db50ce75a26754eecf6210c196ac4de8
4
+ data.tar.gz: 67225ee91759f8ed7f1c33d7e3368a73fa81a2a7ee3137e7c2205288f417dbf0
5
5
  SHA512:
6
- metadata.gz: 4c6ca1a23bf45aae90f5969543f4588b341c7c5a40771ac7dd4adfca07255b871efa0da5fe60c6a957b49cdd53d74cd353bafca32d6237ff0a65d81173db207f
7
- data.tar.gz: 666e2d65d592cef9d6e5f71ba9be279420e25aceb458234df4e73782e4934f78cbeb923a845c55ad1baa010dd2769cf4561071ff6da1844122e75808abf101e2
6
+ metadata.gz: 2ecd51a847e82f8c2854d873deb9f923d1c98b39d57b5ce2a3cf28536a199372c4e16e655e9c07fc5f5c1c306996dc2951402a328c4070dd796c016c06a088f7
7
+ data.tar.gz: c687331c51b2c2160096816aea94ccd248843a477263fa66cd24f2e874bd10c2118d6ab362396f2be584fbdf218f61bd1db59e8af0af433bba9c3ffb5f5fbddb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.67.0 (2023-03-30)
5
+ ------------------
6
+
7
+ * Feature - Updated DescribeCluster and ListClusters API responses to include ErrorDetail that specifies error code, programmatically accessible error data,and an error message. ErrorDetail provides the underlying reason for cluster failure and recommends actions to simplify troubleshooting of EMR clusters.
8
+
9
+ 1.66.0 (2023-02-16)
10
+ ------------------
11
+
12
+ * Feature - This release provides customers the ability to define a timeout period for procuring capacity during a resize operation for Instance Fleet clusters. Customers can specify this timeout using the ResizeSpecifications parameter supported by RunJobFlow, ModifyInstanceFleet and AddInstanceFleet APIs.
13
+
4
14
  1.65.0 (2023-01-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.65.0
1
+ 1.67.0
@@ -456,6 +456,14 @@ module Aws::EMR
456
456
  # },
457
457
  # },
458
458
  # },
459
+ # resize_specifications: {
460
+ # spot_resize_specification: {
461
+ # timeout_duration_minutes: 1, # required
462
+ # },
463
+ # on_demand_resize_specification: {
464
+ # timeout_duration_minutes: 1, # required
465
+ # },
466
+ # },
459
467
  # },
460
468
  # })
461
469
  #
@@ -1109,6 +1117,12 @@ module Aws::EMR
1109
1117
  # resp.cluster.status.timeline.creation_date_time #=> Time
1110
1118
  # resp.cluster.status.timeline.ready_date_time #=> Time
1111
1119
  # resp.cluster.status.timeline.end_date_time #=> Time
1120
+ # resp.cluster.status.error_details #=> Array
1121
+ # resp.cluster.status.error_details[0].error_code #=> String
1122
+ # resp.cluster.status.error_details[0].error_data #=> Array
1123
+ # resp.cluster.status.error_details[0].error_data[0] #=> Hash
1124
+ # resp.cluster.status.error_details[0].error_data[0]["String"] #=> String
1125
+ # resp.cluster.status.error_details[0].error_message #=> String
1112
1126
  # resp.cluster.ec2_instance_attributes.ec2_key_name #=> String
1113
1127
  # resp.cluster.ec2_instance_attributes.ec2_subnet_id #=> String
1114
1128
  # resp.cluster.ec2_instance_attributes.requested_ec2_subnet_ids #=> Array
@@ -1602,11 +1616,10 @@ module Aws::EMR
1602
1616
  req.send_request(options)
1603
1617
  end
1604
1618
 
1605
- # Provides Temporary, basic HTTP credentials that are associated with a
1619
+ # Provides temporary, HTTP basic credentials that are associated with a
1606
1620
  # given runtime IAM role and used by a cluster with fine-grained access
1607
1621
  # control activated. You can use these credentials to connect to cluster
1608
- # endpoints that support username-based and password-based
1609
- # authentication.
1622
+ # endpoints that support username and password authentication.
1610
1623
  #
1611
1624
  # @option params [required, String] :cluster_id
1612
1625
  # The unique identifier of the cluster.
@@ -1833,6 +1846,12 @@ module Aws::EMR
1833
1846
  # resp.clusters[0].status.timeline.creation_date_time #=> Time
1834
1847
  # resp.clusters[0].status.timeline.ready_date_time #=> Time
1835
1848
  # resp.clusters[0].status.timeline.end_date_time #=> Time
1849
+ # resp.clusters[0].status.error_details #=> Array
1850
+ # resp.clusters[0].status.error_details[0].error_code #=> String
1851
+ # resp.clusters[0].status.error_details[0].error_data #=> Array
1852
+ # resp.clusters[0].status.error_details[0].error_data[0] #=> Hash
1853
+ # resp.clusters[0].status.error_details[0].error_data[0]["String"] #=> String
1854
+ # resp.clusters[0].status.error_details[0].error_message #=> String
1836
1855
  # resp.clusters[0].normalized_instance_hours #=> Integer
1837
1856
  # resp.clusters[0].cluster_arn #=> String
1838
1857
  # resp.clusters[0].outpost_arn #=> String
@@ -1917,6 +1936,8 @@ module Aws::EMR
1917
1936
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.usage_strategy #=> String, one of "use-capacity-reservations-first"
1918
1937
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.capacity_reservation_preference #=> String, one of "open", "none"
1919
1938
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.capacity_reservation_resource_group_arn #=> String
1939
+ # resp.instance_fleets[0].resize_specifications.spot_resize_specification.timeout_duration_minutes #=> Integer
1940
+ # resp.instance_fleets[0].resize_specifications.on_demand_resize_specification.timeout_duration_minutes #=> Integer
1920
1941
  # resp.marker #=> String
1921
1942
  #
1922
1943
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets AWS API Documentation
@@ -2515,6 +2536,14 @@ module Aws::EMR
2515
2536
  # instance_fleet_id: "InstanceFleetId", # required
2516
2537
  # target_on_demand_capacity: 1,
2517
2538
  # target_spot_capacity: 1,
2539
+ # resize_specifications: {
2540
+ # spot_resize_specification: {
2541
+ # timeout_duration_minutes: 1, # required
2542
+ # },
2543
+ # on_demand_resize_specification: {
2544
+ # timeout_duration_minutes: 1, # required
2545
+ # },
2546
+ # },
2518
2547
  # },
2519
2548
  # })
2520
2549
  #
@@ -3363,6 +3392,14 @@ module Aws::EMR
3363
3392
  # },
3364
3393
  # },
3365
3394
  # },
3395
+ # resize_specifications: {
3396
+ # spot_resize_specification: {
3397
+ # timeout_duration_minutes: 1, # required
3398
+ # },
3399
+ # on_demand_resize_specification: {
3400
+ # timeout_duration_minutes: 1, # required
3401
+ # },
3402
+ # },
3366
3403
  # },
3367
3404
  # ],
3368
3405
  # ec2_key_name: "XmlStringMaxLen256",
@@ -3845,7 +3882,7 @@ module Aws::EMR
3845
3882
  params: params,
3846
3883
  config: config)
3847
3884
  context[:gem_name] = 'aws-sdk-emr'
3848
- context[:gem_version] = '1.65.0'
3885
+ context[:gem_version] = '1.67.0'
3849
3886
  Seahorse::Client::Request.new(handlers, context)
3850
3887
  end
3851
3888
 
@@ -101,6 +101,9 @@ module Aws::EMR
101
101
  EbsVolumeList = Shapes::ListShape.new(name: 'EbsVolumeList')
102
102
  Ec2InstanceAttributes = Shapes::StructureShape.new(name: 'Ec2InstanceAttributes')
103
103
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
104
+ ErrorData = Shapes::ListShape.new(name: 'ErrorData')
105
+ ErrorDetail = Shapes::StructureShape.new(name: 'ErrorDetail')
106
+ ErrorDetailList = Shapes::ListShape.new(name: 'ErrorDetailList')
104
107
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
105
108
  ExecutionEngineConfig = Shapes::StructureShape.new(name: 'ExecutionEngineConfig')
106
109
  ExecutionEngineType = Shapes::StringShape.new(name: 'ExecutionEngineType')
@@ -127,6 +130,7 @@ module Aws::EMR
127
130
  InstanceFleetList = Shapes::ListShape.new(name: 'InstanceFleetList')
128
131
  InstanceFleetModifyConfig = Shapes::StructureShape.new(name: 'InstanceFleetModifyConfig')
129
132
  InstanceFleetProvisioningSpecifications = Shapes::StructureShape.new(name: 'InstanceFleetProvisioningSpecifications')
133
+ InstanceFleetResizingSpecifications = Shapes::StructureShape.new(name: 'InstanceFleetResizingSpecifications')
130
134
  InstanceFleetState = Shapes::StringShape.new(name: 'InstanceFleetState')
131
135
  InstanceFleetStateChangeReason = Shapes::StructureShape.new(name: 'InstanceFleetStateChangeReason')
132
136
  InstanceFleetStateChangeReasonCode = Shapes::StringShape.new(name: 'InstanceFleetStateChangeReasonCode')
@@ -225,6 +229,7 @@ module Aws::EMR
225
229
  OnDemandCapacityReservationUsageStrategy = Shapes::StringShape.new(name: 'OnDemandCapacityReservationUsageStrategy')
226
230
  OnDemandProvisioningAllocationStrategy = Shapes::StringShape.new(name: 'OnDemandProvisioningAllocationStrategy')
227
231
  OnDemandProvisioningSpecification = Shapes::StructureShape.new(name: 'OnDemandProvisioningSpecification')
232
+ OnDemandResizingSpecification = Shapes::StructureShape.new(name: 'OnDemandResizingSpecification')
228
233
  OptionalArnType = Shapes::StringShape.new(name: 'OptionalArnType')
229
234
  PlacementGroupConfig = Shapes::StructureShape.new(name: 'PlacementGroupConfig')
230
235
  PlacementGroupConfigList = Shapes::ListShape.new(name: 'PlacementGroupConfigList')
@@ -277,6 +282,7 @@ module Aws::EMR
277
282
  SpotProvisioningAllocationStrategy = Shapes::StringShape.new(name: 'SpotProvisioningAllocationStrategy')
278
283
  SpotProvisioningSpecification = Shapes::StructureShape.new(name: 'SpotProvisioningSpecification')
279
284
  SpotProvisioningTimeoutAction = Shapes::StringShape.new(name: 'SpotProvisioningTimeoutAction')
285
+ SpotResizingSpecification = Shapes::StructureShape.new(name: 'SpotResizingSpecification')
280
286
  StartNotebookExecutionInput = Shapes::StructureShape.new(name: 'StartNotebookExecutionInput')
281
287
  StartNotebookExecutionOutput = Shapes::StructureShape.new(name: 'StartNotebookExecutionOutput')
282
288
  Statistic = Shapes::StringShape.new(name: 'Statistic')
@@ -470,6 +476,7 @@ module Aws::EMR
470
476
  ClusterStatus.add_member(:state, Shapes::ShapeRef.new(shape: ClusterState, location_name: "State"))
471
477
  ClusterStatus.add_member(:state_change_reason, Shapes::ShapeRef.new(shape: ClusterStateChangeReason, location_name: "StateChangeReason"))
472
478
  ClusterStatus.add_member(:timeline, Shapes::ShapeRef.new(shape: ClusterTimeline, location_name: "Timeline"))
479
+ ClusterStatus.add_member(:error_details, Shapes::ShapeRef.new(shape: ErrorDetailList, location_name: "ErrorDetails"))
473
480
  ClusterStatus.struct_class = Types::ClusterStatus
474
481
 
475
482
  ClusterSummary.add_member(:id, Shapes::ShapeRef.new(shape: ClusterId, location_name: "Id"))
@@ -654,6 +661,15 @@ module Aws::EMR
654
661
  Ec2InstanceAttributes.add_member(:additional_slave_security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "AdditionalSlaveSecurityGroups"))
655
662
  Ec2InstanceAttributes.struct_class = Types::Ec2InstanceAttributes
656
663
 
664
+ ErrorData.member = Shapes::ShapeRef.new(shape: StringMap)
665
+
666
+ ErrorDetail.add_member(:error_code, Shapes::ShapeRef.new(shape: String, location_name: "ErrorCode"))
667
+ ErrorDetail.add_member(:error_data, Shapes::ShapeRef.new(shape: ErrorData, location_name: "ErrorData"))
668
+ ErrorDetail.add_member(:error_message, Shapes::ShapeRef.new(shape: String, location_name: "ErrorMessage"))
669
+ ErrorDetail.struct_class = Types::ErrorDetail
670
+
671
+ ErrorDetailList.member = Shapes::ShapeRef.new(shape: ErrorDetail)
672
+
657
673
  ExecutionEngineConfig.add_member(:id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Id"))
658
674
  ExecutionEngineConfig.add_member(:type, Shapes::ShapeRef.new(shape: ExecutionEngineType, location_name: "Type"))
659
675
  ExecutionEngineConfig.add_member(:master_instance_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "MasterInstanceSecurityGroupId"))
@@ -735,6 +751,7 @@ module Aws::EMR
735
751
  InstanceFleet.add_member(:provisioned_spot_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "ProvisionedSpotCapacity"))
736
752
  InstanceFleet.add_member(:instance_type_specifications, Shapes::ShapeRef.new(shape: InstanceTypeSpecificationList, location_name: "InstanceTypeSpecifications"))
737
753
  InstanceFleet.add_member(:launch_specifications, Shapes::ShapeRef.new(shape: InstanceFleetProvisioningSpecifications, location_name: "LaunchSpecifications"))
754
+ InstanceFleet.add_member(:resize_specifications, Shapes::ShapeRef.new(shape: InstanceFleetResizingSpecifications, location_name: "ResizeSpecifications"))
738
755
  InstanceFleet.struct_class = Types::InstanceFleet
739
756
 
740
757
  InstanceFleetConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
@@ -743,6 +760,7 @@ module Aws::EMR
743
760
  InstanceFleetConfig.add_member(:target_spot_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TargetSpotCapacity"))
744
761
  InstanceFleetConfig.add_member(:instance_type_configs, Shapes::ShapeRef.new(shape: InstanceTypeConfigList, location_name: "InstanceTypeConfigs"))
745
762
  InstanceFleetConfig.add_member(:launch_specifications, Shapes::ShapeRef.new(shape: InstanceFleetProvisioningSpecifications, location_name: "LaunchSpecifications"))
763
+ InstanceFleetConfig.add_member(:resize_specifications, Shapes::ShapeRef.new(shape: InstanceFleetResizingSpecifications, location_name: "ResizeSpecifications"))
746
764
  InstanceFleetConfig.struct_class = Types::InstanceFleetConfig
747
765
 
748
766
  InstanceFleetConfigList.member = Shapes::ShapeRef.new(shape: InstanceFleetConfig)
@@ -752,12 +770,17 @@ module Aws::EMR
752
770
  InstanceFleetModifyConfig.add_member(:instance_fleet_id, Shapes::ShapeRef.new(shape: InstanceFleetId, required: true, location_name: "InstanceFleetId"))
753
771
  InstanceFleetModifyConfig.add_member(:target_on_demand_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TargetOnDemandCapacity"))
754
772
  InstanceFleetModifyConfig.add_member(:target_spot_capacity, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TargetSpotCapacity"))
773
+ InstanceFleetModifyConfig.add_member(:resize_specifications, Shapes::ShapeRef.new(shape: InstanceFleetResizingSpecifications, location_name: "ResizeSpecifications"))
755
774
  InstanceFleetModifyConfig.struct_class = Types::InstanceFleetModifyConfig
756
775
 
757
776
  InstanceFleetProvisioningSpecifications.add_member(:spot_specification, Shapes::ShapeRef.new(shape: SpotProvisioningSpecification, location_name: "SpotSpecification"))
758
777
  InstanceFleetProvisioningSpecifications.add_member(:on_demand_specification, Shapes::ShapeRef.new(shape: OnDemandProvisioningSpecification, location_name: "OnDemandSpecification"))
759
778
  InstanceFleetProvisioningSpecifications.struct_class = Types::InstanceFleetProvisioningSpecifications
760
779
 
780
+ InstanceFleetResizingSpecifications.add_member(:spot_resize_specification, Shapes::ShapeRef.new(shape: SpotResizingSpecification, location_name: "SpotResizeSpecification"))
781
+ InstanceFleetResizingSpecifications.add_member(:on_demand_resize_specification, Shapes::ShapeRef.new(shape: OnDemandResizingSpecification, location_name: "OnDemandResizeSpecification"))
782
+ InstanceFleetResizingSpecifications.struct_class = Types::InstanceFleetResizingSpecifications
783
+
761
784
  InstanceFleetStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: InstanceFleetStateChangeReasonCode, location_name: "Code"))
762
785
  InstanceFleetStateChangeReason.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
763
786
  InstanceFleetStateChangeReason.struct_class = Types::InstanceFleetStateChangeReason
@@ -1151,6 +1174,9 @@ module Aws::EMR
1151
1174
  OnDemandProvisioningSpecification.add_member(:capacity_reservation_options, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationOptions, location_name: "CapacityReservationOptions"))
1152
1175
  OnDemandProvisioningSpecification.struct_class = Types::OnDemandProvisioningSpecification
1153
1176
 
1177
+ OnDemandResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, required: true, location_name: "TimeoutDurationMinutes"))
1178
+ OnDemandResizingSpecification.struct_class = Types::OnDemandResizingSpecification
1179
+
1154
1180
  PlacementGroupConfig.add_member(:instance_role, Shapes::ShapeRef.new(shape: InstanceRoleType, required: true, location_name: "InstanceRole"))
1155
1181
  PlacementGroupConfig.add_member(:placement_strategy, Shapes::ShapeRef.new(shape: PlacementGroupStrategy, location_name: "PlacementStrategy"))
1156
1182
  PlacementGroupConfig.struct_class = Types::PlacementGroupConfig
@@ -1335,6 +1361,9 @@ module Aws::EMR
1335
1361
  SpotProvisioningSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: SpotProvisioningAllocationStrategy, location_name: "AllocationStrategy"))
1336
1362
  SpotProvisioningSpecification.struct_class = Types::SpotProvisioningSpecification
1337
1363
 
1364
+ SpotResizingSpecification.add_member(:timeout_duration_minutes, Shapes::ShapeRef.new(shape: WholeNumber, required: true, location_name: "TimeoutDurationMinutes"))
1365
+ SpotResizingSpecification.struct_class = Types::SpotResizingSpecification
1366
+
1338
1367
  StartNotebookExecutionInput.add_member(:editor_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EditorId"))
1339
1368
  StartNotebookExecutionInput.add_member(:relative_path, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "RelativePath"))
1340
1369
  StartNotebookExecutionInput.add_member(:notebook_execution_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "NotebookExecutionName"))
@@ -50,9 +50,6 @@ module Aws::EMR
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,39 +14,42 @@ module Aws::EMR
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
26
20
  end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
32
23
  end
33
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
36
- return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
37
31
  end
38
- return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
39
33
  end
40
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
41
- end
42
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
43
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
44
- return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
37
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.amazonaws.com", headers: {}, properties: {})
38
+ end
39
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
+ end
41
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
42
+ end
43
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
44
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
45
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
+ end
47
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
48
  end
46
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
49
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
50
  end
48
- return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
49
51
  end
52
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
53
  raise ArgumentError, 'No endpoint could be resolved'
51
54
 
52
55
  end
@@ -847,12 +847,19 @@ module Aws::EMR
847
847
  # of the cluster.
848
848
  # @return [Types::ClusterTimeline]
849
849
  #
850
+ # @!attribute [rw] error_details
851
+ # A list of tuples that provide information about the errors that
852
+ # caused a cluster termination. This structure may have up to 10
853
+ # different `ErrorDetail` tuples.
854
+ # @return [Array<Types::ErrorDetail>]
855
+ #
850
856
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ClusterStatus AWS API Documentation
851
857
  #
852
858
  class ClusterStatus < Struct.new(
853
859
  :state,
854
860
  :state_change_reason,
855
- :timeline)
861
+ :timeline,
862
+ :error_details)
856
863
  SENSITIVE = []
857
864
  include Aws::Structure
858
865
  end
@@ -1780,6 +1787,32 @@ module Aws::EMR
1780
1787
  include Aws::Structure
1781
1788
  end
1782
1789
 
1790
+ # A tuple that provides information about an error that caused a cluster
1791
+ # to terminate.
1792
+ #
1793
+ # @!attribute [rw] error_code
1794
+ # The name or code that's associated with the error.
1795
+ # @return [String]
1796
+ #
1797
+ # @!attribute [rw] error_data
1798
+ # A list of key value pairs that provide contextual information to
1799
+ # explain why the error may have occured.
1800
+ # @return [Array<Hash<String,String>>]
1801
+ #
1802
+ # @!attribute [rw] error_message
1803
+ # A message describing the error that occured.
1804
+ # @return [String]
1805
+ #
1806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ErrorDetail AWS API Documentation
1807
+ #
1808
+ class ErrorDetail < Struct.new(
1809
+ :error_code,
1810
+ :error_data,
1811
+ :error_message)
1812
+ SENSITIVE = []
1813
+ include Aws::Structure
1814
+ end
1815
+
1783
1816
  # Specifies the execution engine (cluster) to run the notebook and
1784
1817
  # perform the notebook execution, for example, an EMR cluster.
1785
1818
  #
@@ -1940,7 +1973,7 @@ module Aws::EMR
1940
1973
 
1941
1974
  # @!attribute [rw] credentials
1942
1975
  # The credentials that you can use to connect to cluster endpoints
1943
- # that support username-based and password-based authentication.
1976
+ # that support username and password authentication.
1944
1977
  # @return [Types::Credentials]
1945
1978
  #
1946
1979
  # @!attribute [rw] expires_at
@@ -2282,6 +2315,10 @@ module Aws::EMR
2282
2315
  # Describes the launch specification for an instance fleet.
2283
2316
  # @return [Types::InstanceFleetProvisioningSpecifications]
2284
2317
  #
2318
+ # @!attribute [rw] resize_specifications
2319
+ # The resize specification for the instance fleet.
2320
+ # @return [Types::InstanceFleetResizingSpecifications]
2321
+ #
2285
2322
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleet AWS API Documentation
2286
2323
  #
2287
2324
  class InstanceFleet < Struct.new(
@@ -2294,7 +2331,8 @@ module Aws::EMR
2294
2331
  :provisioned_on_demand_capacity,
2295
2332
  :provisioned_spot_capacity,
2296
2333
  :instance_type_specifications,
2297
- :launch_specifications)
2334
+ :launch_specifications,
2335
+ :resize_specifications)
2298
2336
  SENSITIVE = []
2299
2337
  include Aws::Structure
2300
2338
  end
@@ -2372,6 +2410,10 @@ module Aws::EMR
2372
2410
  # The launch specification for the instance fleet.
2373
2411
  # @return [Types::InstanceFleetProvisioningSpecifications]
2374
2412
  #
2413
+ # @!attribute [rw] resize_specifications
2414
+ # The resize specification for the instance fleet.
2415
+ # @return [Types::InstanceFleetResizingSpecifications]
2416
+ #
2375
2417
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleetConfig AWS API Documentation
2376
2418
  #
2377
2419
  class InstanceFleetConfig < Struct.new(
@@ -2380,7 +2422,8 @@ module Aws::EMR
2380
2422
  :target_on_demand_capacity,
2381
2423
  :target_spot_capacity,
2382
2424
  :instance_type_configs,
2383
- :launch_specifications)
2425
+ :launch_specifications,
2426
+ :resize_specifications)
2384
2427
  SENSITIVE = []
2385
2428
  include Aws::Structure
2386
2429
  end
@@ -2406,12 +2449,17 @@ module Aws::EMR
2406
2449
  # information, see InstanceFleetConfig$TargetSpotCapacity.
2407
2450
  # @return [Integer]
2408
2451
  #
2452
+ # @!attribute [rw] resize_specifications
2453
+ # The resize specification for the instance fleet.
2454
+ # @return [Types::InstanceFleetResizingSpecifications]
2455
+ #
2409
2456
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleetModifyConfig AWS API Documentation
2410
2457
  #
2411
2458
  class InstanceFleetModifyConfig < Struct.new(
2412
2459
  :instance_fleet_id,
2413
2460
  :target_on_demand_capacity,
2414
- :target_spot_capacity)
2461
+ :target_spot_capacity,
2462
+ :resize_specifications)
2415
2463
  SENSITIVE = []
2416
2464
  include Aws::Structure
2417
2465
  end
@@ -2422,13 +2470,13 @@ module Aws::EMR
2422
2470
  #
2423
2471
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2424
2472
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot
2425
- # Instance allocation strategies are available in Amazon EMR version
2473
+ # instance allocation strategies are available in Amazon EMR version
2426
2474
  # 5.12.1 and later.
2427
2475
  #
2428
2476
  # </note>
2429
2477
  #
2430
2478
  # @!attribute [rw] spot_specification
2431
- # The launch specification for Spot Instances in the fleet, which
2479
+ # The launch specification for Spot instances in the fleet, which
2432
2480
  # determines the defined duration, provisioning timeout behavior, and
2433
2481
  # allocation strategy.
2434
2482
  # @return [Types::SpotProvisioningSpecification]
@@ -2454,6 +2502,28 @@ module Aws::EMR
2454
2502
  include Aws::Structure
2455
2503
  end
2456
2504
 
2505
+ # The resize specification for On-Demand and Spot Instances in the
2506
+ # fleet.
2507
+ #
2508
+ # @!attribute [rw] spot_resize_specification
2509
+ # The resize specification for Spot Instances in the instance fleet,
2510
+ # which contains the resize timeout period.
2511
+ # @return [Types::SpotResizingSpecification]
2512
+ #
2513
+ # @!attribute [rw] on_demand_resize_specification
2514
+ # The resize specification for On-Demand Instances in the instance
2515
+ # fleet, which contains the resize timeout period.
2516
+ # @return [Types::OnDemandResizingSpecification]
2517
+ #
2518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceFleetResizingSpecifications AWS API Documentation
2519
+ #
2520
+ class InstanceFleetResizingSpecifications < Struct.new(
2521
+ :spot_resize_specification,
2522
+ :on_demand_resize_specification)
2523
+ SENSITIVE = []
2524
+ include Aws::Structure
2525
+ end
2526
+
2457
2527
  # Provides status change reason details for the instance fleet.
2458
2528
  #
2459
2529
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
@@ -4624,6 +4694,28 @@ module Aws::EMR
4624
4694
  include Aws::Structure
4625
4695
  end
4626
4696
 
4697
+ # The resize specification for On-Demand Instances in the instance
4698
+ # fleet, which contains the resize timeout period.
4699
+ #
4700
+ # @!attribute [rw] timeout_duration_minutes
4701
+ # On-Demand resize timeout in minutes. If On-Demand Instances are not
4702
+ # provisioned within this time, the resize workflow stops. The minimum
4703
+ # value is 5 minutes, and the maximum value is 10,080 minutes (7
4704
+ # days). The timeout applies to all resize workflows on the Instance
4705
+ # Fleet. The resize could be triggered by Amazon EMR Managed Scaling
4706
+ # or by the customer (via Amazon EMR Console, Amazon EMR CLI
4707
+ # modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or
4708
+ # by Amazon EMR due to Amazon EC2 Spot Reclamation.
4709
+ # @return [Integer]
4710
+ #
4711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/OnDemandResizingSpecification AWS API Documentation
4712
+ #
4713
+ class OnDemandResizingSpecification < Struct.new(
4714
+ :timeout_duration_minutes)
4715
+ SENSITIVE = []
4716
+ include Aws::Structure
4717
+ end
4718
+
4627
4719
  # Placement group configuration for an Amazon EMR cluster. The
4628
4720
  # configuration specifies the placement strategy that can be applied to
4629
4721
  # instance roles during cluster creation.
@@ -5675,7 +5767,7 @@ module Aws::EMR
5675
5767
  # </note>
5676
5768
  #
5677
5769
  # @!attribute [rw] timeout_duration_minutes
5678
- # The spot provisioning timeout period in minutes. If Spot Instances
5770
+ # The Spot provisioning timeout period in minutes. If Spot Instances
5679
5771
  # are not provisioned within this time period, the `TimeOutAction` is
5680
5772
  # taken. Minimum value is 5 and maximum value is 1440. The timeout
5681
5773
  # applies only during initial provisioning, when the cluster is first
@@ -5730,6 +5822,29 @@ module Aws::EMR
5730
5822
  include Aws::Structure
5731
5823
  end
5732
5824
 
5825
+ # The resize specification for Spot Instances in the instance fleet,
5826
+ # which contains the resize timeout period.
5827
+ #
5828
+ # @!attribute [rw] timeout_duration_minutes
5829
+ # Spot resize timeout in minutes. If Spot Instances are not
5830
+ # provisioned within this time, the resize workflow will stop
5831
+ # provisioning of Spot instances. Minimum value is 5 minutes and
5832
+ # maximum value is 10,080 minutes (7 days). The timeout applies to all
5833
+ # resize workflows on the Instance Fleet. The resize could be
5834
+ # triggered by Amazon EMR Managed Scaling or by the customer (via
5835
+ # Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon
5836
+ # EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2
5837
+ # Spot Reclamation.
5838
+ # @return [Integer]
5839
+ #
5840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SpotResizingSpecification AWS API Documentation
5841
+ #
5842
+ class SpotResizingSpecification < Struct.new(
5843
+ :timeout_duration_minutes)
5844
+ SENSITIVE = []
5845
+ include Aws::Structure
5846
+ end
5847
+
5733
5848
  # @!attribute [rw] editor_id
5734
5849
  # The unique identifier of the EMR Notebook to use for notebook
5735
5850
  # execution.
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.65.0'
56
+ GEM_VERSION = '1.67.0'
57
57
 
58
58
  end
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.65.0
4
+ version: 1.67.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: 2023-01-18 00:00:00.000000000 Z
11
+ date: 2023-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core