aws-sdk-emrcontainers 1.18.0 → 1.20.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05610d3640609f7c639706fb2da50b6095a15c05b8cdc314104bed98830465ae
4
- data.tar.gz: 2922a0dbb1ea2a4d251ac9a03ace43e191d33078885e86503dc374bdc041fc71
3
+ metadata.gz: 5108549d8320b5b22cb6a704863373806a2780e9f76cf1d04de5999f1fd6c02c
4
+ data.tar.gz: 151f3462af5a16506f2183ca6039d978e82568168102c2ccb970dccb386895b9
5
5
  SHA512:
6
- metadata.gz: 54551f0a325da2bc5717ff4eb1d8715a0a8b6d3a12b8db7d58c0257dc666a74df70f3d4389316e2ede69ef74f2f10822ed61763e633a656fe186e800d7338187
7
- data.tar.gz: c017686399cf638b3992599e4381c1e231373ecf6d322c6469c65ff0d96409dc6b67ecb8b2e77934398abf814f89617fe56893b3c9fbaff58226ef43003f54d9
6
+ metadata.gz: f2302b5822e6744dfb34c5681bd09fe8b7f285fa118cd57102d343c956e739c825e250f70440b750940357dfdb0e95afd9db0a941a7d0ce3c30ae12868a16d93
7
+ data.tar.gz: 16c8be96d7aa870a44c968972afc1bdbda3d84c479bc159501ac4297306229d17cce1e938cbd094616d503fc07ec008d456621b9d02f03060ec786f13f2cb165
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.20.0 (2023-04-27)
5
+ ------------------
6
+
7
+ * Feature - This release adds GetManagedEndpointSessionCredentials, a new API that allows customers to generate an auth token to connect to a managed endpoint, enabling features such as self-hosted Jupyter notebooks for EMR on EKS.
8
+
9
+ 1.19.0 (2023-02-09)
10
+ ------------------
11
+
12
+ * Feature - EMR on EKS allows configuring retry policies for job runs through the StartJobRun API. Using retry policies, a job cause a driver pod to be restarted automatically if it fails or is deleted. The job's status can be seen in the DescribeJobRun and ListJobRun APIs and monitored using CloudWatch events.
13
+
4
14
  1.18.0 (2023-01-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.20.0
@@ -509,8 +509,8 @@ module Aws::EMRContainers
509
509
  end
510
510
 
511
511
  # Creates a managed endpoint. A managed endpoint is a gateway that
512
- # connects EMR Studio to Amazon EMR on EKS so that EMR Studio can
513
- # communicate with your virtual cluster.
512
+ # connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR
513
+ # Studio can communicate with your virtual cluster.
514
514
  #
515
515
  # @option params [required, String] :name
516
516
  # The name of the managed endpoint.
@@ -699,8 +699,8 @@ module Aws::EMRContainers
699
699
  end
700
700
 
701
701
  # Deletes a managed endpoint. A managed endpoint is a gateway that
702
- # connects EMR Studio to Amazon EMR on EKS so that EMR Studio can
703
- # communicate with your virtual cluster.
702
+ # connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR
703
+ # Studio can communicate with your virtual cluster.
704
704
  #
705
705
  # @option params [required, String] :id
706
706
  # The ID of the managed endpoint.
@@ -820,6 +820,8 @@ module Aws::EMRContainers
820
820
  # resp.job_run.failure_reason #=> String, one of "INTERNAL_ERROR", "USER_ERROR", "VALIDATION_ERROR", "CLUSTER_UNAVAILABLE"
821
821
  # resp.job_run.tags #=> Hash
822
822
  # resp.job_run.tags["String128"] #=> String
823
+ # resp.job_run.retry_policy_configuration.max_attempts #=> Integer
824
+ # resp.job_run.retry_policy_execution.current_attempt_count #=> Integer
823
825
  #
824
826
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeJobRun AWS API Documentation
825
827
  #
@@ -893,8 +895,9 @@ module Aws::EMRContainers
893
895
  end
894
896
 
895
897
  # Displays detailed information about a managed endpoint. A managed
896
- # endpoint is a gateway that connects EMR Studio to Amazon EMR on EKS so
897
- # that EMR Studio can communicate with your virtual cluster.
898
+ # endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on
899
+ # EKS so that Amazon EMR Studio can communicate with your virtual
900
+ # cluster.
898
901
  #
899
902
  # @option params [required, String] :id
900
903
  # This output displays ID of the managed endpoint.
@@ -997,6 +1000,68 @@ module Aws::EMRContainers
997
1000
  req.send_request(options)
998
1001
  end
999
1002
 
1003
+ # Generate a session token to connect to a managed endpoint.
1004
+ #
1005
+ # @option params [required, String] :endpoint_identifier
1006
+ # The ARN of the managed endpoint for which the request is submitted.
1007
+ #
1008
+ # @option params [required, String] :virtual_cluster_identifier
1009
+ # The ARN of the Virtual Cluster which the Managed Endpoint belongs to.
1010
+ #
1011
+ # @option params [required, String] :execution_role_arn
1012
+ # The IAM Execution Role ARN that will be used by the job run.
1013
+ #
1014
+ # @option params [required, String] :credential_type
1015
+ # Type of the token requested. Currently supported and default value of
1016
+ # this field is “TOKEN.”
1017
+ #
1018
+ # @option params [Integer] :duration_in_seconds
1019
+ # Duration in seconds for which the session token is valid. The default
1020
+ # duration is 15 minutes and the maximum is 12 hours.
1021
+ #
1022
+ # @option params [String] :log_context
1023
+ # String identifier used to separate sections of the execution logs
1024
+ # uploaded to S3.
1025
+ #
1026
+ # @option params [String] :client_token
1027
+ # The client idempotency token of the job run request.
1028
+ #
1029
+ # **A suitable default value is auto-generated.** You should normally
1030
+ # not need to pass this option.**
1031
+ #
1032
+ # @return [Types::GetManagedEndpointSessionCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1033
+ #
1034
+ # * {Types::GetManagedEndpointSessionCredentialsResponse#id #id} => String
1035
+ # * {Types::GetManagedEndpointSessionCredentialsResponse#credentials #credentials} => Types::Credentials
1036
+ # * {Types::GetManagedEndpointSessionCredentialsResponse#expires_at #expires_at} => Time
1037
+ #
1038
+ # @example Request syntax with placeholder values
1039
+ #
1040
+ # resp = client.get_managed_endpoint_session_credentials({
1041
+ # endpoint_identifier: "String2048", # required
1042
+ # virtual_cluster_identifier: "String2048", # required
1043
+ # execution_role_arn: "IAMRoleArn", # required
1044
+ # credential_type: "CredentialType", # required
1045
+ # duration_in_seconds: 1,
1046
+ # log_context: "LogContext",
1047
+ # client_token: "ClientToken",
1048
+ # })
1049
+ #
1050
+ # @example Response structure
1051
+ #
1052
+ # resp.id #=> String
1053
+ # resp.credentials.token #=> String
1054
+ # resp.expires_at #=> Time
1055
+ #
1056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/GetManagedEndpointSessionCredentials AWS API Documentation
1057
+ #
1058
+ # @overload get_managed_endpoint_session_credentials(params = {})
1059
+ # @param [Hash] params ({})
1060
+ def get_managed_endpoint_session_credentials(params = {}, options = {})
1061
+ req = build_request(:get_managed_endpoint_session_credentials, params)
1062
+ req.send_request(options)
1063
+ end
1064
+
1000
1065
  # Lists job runs based on a set of parameters. A job run is a unit of
1001
1066
  # work, such as a Spark jar, PySpark script, or SparkSQL query, that you
1002
1067
  # submit to Amazon EMR on EKS.
@@ -1074,6 +1139,8 @@ module Aws::EMRContainers
1074
1139
  # resp.job_runs[0].failure_reason #=> String, one of "INTERNAL_ERROR", "USER_ERROR", "VALIDATION_ERROR", "CLUSTER_UNAVAILABLE"
1075
1140
  # resp.job_runs[0].tags #=> Hash
1076
1141
  # resp.job_runs[0].tags["String128"] #=> String
1142
+ # resp.job_runs[0].retry_policy_configuration.max_attempts #=> Integer
1143
+ # resp.job_runs[0].retry_policy_execution.current_attempt_count #=> Integer
1077
1144
  # resp.next_token #=> String
1078
1145
  #
1079
1146
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListJobRuns AWS API Documentation
@@ -1165,8 +1232,9 @@ module Aws::EMRContainers
1165
1232
  end
1166
1233
 
1167
1234
  # Lists managed endpoints based on a set of parameters. A managed
1168
- # endpoint is a gateway that connects EMR Studio to Amazon EMR on EKS so
1169
- # that EMR Studio can communicate with your virtual cluster.
1235
+ # endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on
1236
+ # EKS so that Amazon EMR Studio can communicate with your virtual
1237
+ # cluster.
1170
1238
  #
1171
1239
  # @option params [required, String] :virtual_cluster_id
1172
1240
  # The ID of the virtual cluster.
@@ -1292,8 +1360,8 @@ module Aws::EMRContainers
1292
1360
  # The container provider ID of the virtual cluster.
1293
1361
  #
1294
1362
  # @option params [String] :container_provider_type
1295
- # The container provider type of the virtual cluster. EKS is the only
1296
- # supported type as of now.
1363
+ # The container provider type of the virtual cluster. Amazon EKS is the
1364
+ # only supported type as of now.
1297
1365
  #
1298
1366
  # @option params [Time,DateTime,Date,Integer,String] :created_after
1299
1367
  # The date and time after which the virtual clusters are created.
@@ -1390,6 +1458,9 @@ module Aws::EMRContainers
1390
1458
  # @option params [Hash<String,String>] :job_template_parameters
1391
1459
  # The values of job template parameters to start a job run.
1392
1460
  #
1461
+ # @option params [Types::RetryPolicyConfiguration] :retry_policy_configuration
1462
+ # The retry policy configuration for the job run.
1463
+ #
1393
1464
  # @return [Types::StartJobRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1394
1465
  #
1395
1466
  # * {Types::StartJobRunResponse#id #id} => String
@@ -1446,6 +1517,9 @@ module Aws::EMRContainers
1446
1517
  # job_template_parameters: {
1447
1518
  # "TemplateParameterName" => "String1024",
1448
1519
  # },
1520
+ # retry_policy_configuration: {
1521
+ # max_attempts: 1, # required
1522
+ # },
1449
1523
  # })
1450
1524
  #
1451
1525
  # @example Response structure
@@ -1464,16 +1538,17 @@ module Aws::EMRContainers
1464
1538
  req.send_request(options)
1465
1539
  end
1466
1540
 
1467
- # Assigns tags to resources. A tag is a label that you assign to an AWS
1468
- # resource. Each tag consists of a key and an optional value, both of
1469
- # which you define. Tags enable you to categorize your AWS resources by
1470
- # attributes such as purpose, owner, or environment. When you have many
1471
- # resources of the same type, you can quickly identify a specific
1472
- # resource based on the tags you've assigned to it. For example, you
1473
- # can define a set of tags for your Amazon EMR on EKS clusters to help
1474
- # you track each cluster's owner and stack level. We recommend that you
1475
- # devise a consistent set of tag keys for each resource type. You can
1476
- # then search and filter the resources based on the tags that you add.
1541
+ # Assigns tags to resources. A tag is a label that you assign to an
1542
+ # Amazon Web Services resource. Each tag consists of a key and an
1543
+ # optional value, both of which you define. Tags enable you to
1544
+ # categorize your Amazon Web Services resources by attributes such as
1545
+ # purpose, owner, or environment. When you have many resources of the
1546
+ # same type, you can quickly identify a specific resource based on the
1547
+ # tags you've assigned to it. For example, you can define a set of tags
1548
+ # for your Amazon EMR on EKS clusters to help you track each cluster's
1549
+ # owner and stack level. We recommend that you devise a consistent set
1550
+ # of tag keys for each resource type. You can then search and filter the
1551
+ # resources based on the tags that you add.
1477
1552
  #
1478
1553
  # @option params [required, String] :resource_arn
1479
1554
  # The ARN of resources.
@@ -1540,7 +1615,7 @@ module Aws::EMRContainers
1540
1615
  params: params,
1541
1616
  config: config)
1542
1617
  context[:gem_name] = 'aws-sdk-emrcontainers'
1543
- context[:gem_version] = '1.18.0'
1618
+ context[:gem_version] = '1.20.0'
1544
1619
  Seahorse::Client::Request.new(handlers, context)
1545
1620
  end
1546
1621
 
@@ -33,6 +33,8 @@ module Aws::EMRContainers
33
33
  CreateManagedEndpointResponse = Shapes::StructureShape.new(name: 'CreateManagedEndpointResponse')
34
34
  CreateVirtualClusterRequest = Shapes::StructureShape.new(name: 'CreateVirtualClusterRequest')
35
35
  CreateVirtualClusterResponse = Shapes::StructureShape.new(name: 'CreateVirtualClusterResponse')
36
+ CredentialType = Shapes::StringShape.new(name: 'CredentialType')
37
+ Credentials = Shapes::UnionShape.new(name: 'Credentials')
36
38
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
37
39
  DeleteJobTemplateRequest = Shapes::StructureShape.new(name: 'DeleteJobTemplateRequest')
38
40
  DeleteJobTemplateResponse = Shapes::StructureShape.new(name: 'DeleteJobTemplateResponse')
@@ -60,6 +62,8 @@ module Aws::EMRContainers
60
62
  EntryPointArguments = Shapes::ListShape.new(name: 'EntryPointArguments')
61
63
  EntryPointPath = Shapes::StringShape.new(name: 'EntryPointPath')
62
64
  FailureReason = Shapes::StringShape.new(name: 'FailureReason')
65
+ GetManagedEndpointSessionCredentialsRequest = Shapes::StructureShape.new(name: 'GetManagedEndpointSessionCredentialsRequest')
66
+ GetManagedEndpointSessionCredentialsResponse = Shapes::StructureShape.new(name: 'GetManagedEndpointSessionCredentialsResponse')
63
67
  IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
64
68
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
65
69
  JavaInteger = Shapes::IntegerShape.new(name: 'JavaInteger')
@@ -85,6 +89,7 @@ module Aws::EMRContainers
85
89
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
86
90
  ListVirtualClustersRequest = Shapes::StructureShape.new(name: 'ListVirtualClustersRequest')
87
91
  ListVirtualClustersResponse = Shapes::StructureShape.new(name: 'ListVirtualClustersResponse')
92
+ LogContext = Shapes::StringShape.new(name: 'LogContext')
88
93
  LogGroupName = Shapes::StringShape.new(name: 'LogGroupName')
89
94
  MonitoringConfiguration = Shapes::StructureShape.new(name: 'MonitoringConfiguration')
90
95
  NextToken = Shapes::StringShape.new(name: 'NextToken')
@@ -97,9 +102,12 @@ module Aws::EMRContainers
97
102
  PersistentAppUI = Shapes::StringShape.new(name: 'PersistentAppUI')
98
103
  ReleaseLabel = Shapes::StringShape.new(name: 'ReleaseLabel')
99
104
  RequestIdentityUserArn = Shapes::StringShape.new(name: 'RequestIdentityUserArn')
105
+ RequestThrottledException = Shapes::StructureShape.new(name: 'RequestThrottledException')
100
106
  ResourceIdString = Shapes::StringShape.new(name: 'ResourceIdString')
101
107
  ResourceNameString = Shapes::StringShape.new(name: 'ResourceNameString')
102
108
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
109
+ RetryPolicyConfiguration = Shapes::StructureShape.new(name: 'RetryPolicyConfiguration')
110
+ RetryPolicyExecution = Shapes::StructureShape.new(name: 'RetryPolicyExecution')
103
111
  RsiArn = Shapes::StringShape.new(name: 'RsiArn')
104
112
  S3MonitoringConfiguration = Shapes::StructureShape.new(name: 'S3MonitoringConfiguration')
105
113
  SensitivePropertiesMap = Shapes::MapShape.new(name: 'SensitivePropertiesMap')
@@ -125,6 +133,7 @@ module Aws::EMRContainers
125
133
  TemplateParameterDataType = Shapes::StringShape.new(name: 'TemplateParameterDataType')
126
134
  TemplateParameterInputMap = Shapes::MapShape.new(name: 'TemplateParameterInputMap')
127
135
  TemplateParameterName = Shapes::StringShape.new(name: 'TemplateParameterName')
136
+ Token = Shapes::StringShape.new(name: 'Token')
128
137
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
129
138
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
130
139
  UriString = Shapes::StringShape.new(name: 'UriString')
@@ -214,6 +223,12 @@ module Aws::EMRContainers
214
223
  CreateVirtualClusterResponse.add_member(:arn, Shapes::ShapeRef.new(shape: VirtualClusterArn, location_name: "arn"))
215
224
  CreateVirtualClusterResponse.struct_class = Types::CreateVirtualClusterResponse
216
225
 
226
+ Credentials.add_member(:token, Shapes::ShapeRef.new(shape: Token, location_name: "token"))
227
+ Credentials.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
228
+ Credentials.add_member_subclass(:token, Types::Credentials::Token)
229
+ Credentials.add_member_subclass(:unknown, Types::Credentials::Unknown)
230
+ Credentials.struct_class = Types::Credentials
231
+
217
232
  DeleteJobTemplateRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "templateId"))
218
233
  DeleteJobTemplateRequest.struct_class = Types::DeleteJobTemplateRequest
219
234
 
@@ -291,6 +306,20 @@ module Aws::EMRContainers
291
306
 
292
307
  EntryPointArguments.member = Shapes::ShapeRef.new(shape: EntryPointArgument)
293
308
 
309
+ GetManagedEndpointSessionCredentialsRequest.add_member(:endpoint_identifier, Shapes::ShapeRef.new(shape: String2048, required: true, location: "uri", location_name: "endpointId"))
310
+ GetManagedEndpointSessionCredentialsRequest.add_member(:virtual_cluster_identifier, Shapes::ShapeRef.new(shape: String2048, required: true, location: "uri", location_name: "virtualClusterId"))
311
+ GetManagedEndpointSessionCredentialsRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "executionRoleArn"))
312
+ GetManagedEndpointSessionCredentialsRequest.add_member(:credential_type, Shapes::ShapeRef.new(shape: CredentialType, required: true, location_name: "credentialType"))
313
+ GetManagedEndpointSessionCredentialsRequest.add_member(:duration_in_seconds, Shapes::ShapeRef.new(shape: JavaInteger, location_name: "durationInSeconds"))
314
+ GetManagedEndpointSessionCredentialsRequest.add_member(:log_context, Shapes::ShapeRef.new(shape: LogContext, location_name: "logContext"))
315
+ GetManagedEndpointSessionCredentialsRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
316
+ GetManagedEndpointSessionCredentialsRequest.struct_class = Types::GetManagedEndpointSessionCredentialsRequest
317
+
318
+ GetManagedEndpointSessionCredentialsResponse.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
319
+ GetManagedEndpointSessionCredentialsResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "credentials"))
320
+ GetManagedEndpointSessionCredentialsResponse.add_member(:expires_at, Shapes::ShapeRef.new(shape: Date, location_name: "expiresAt"))
321
+ GetManagedEndpointSessionCredentialsResponse.struct_class = Types::GetManagedEndpointSessionCredentialsResponse
322
+
294
323
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String1024, location_name: "message"))
295
324
  InternalServerException.struct_class = Types::InternalServerException
296
325
 
@@ -314,6 +343,8 @@ module Aws::EMRContainers
314
343
  JobRun.add_member(:state_details, Shapes::ShapeRef.new(shape: String256, location_name: "stateDetails"))
315
344
  JobRun.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "failureReason"))
316
345
  JobRun.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
346
+ JobRun.add_member(:retry_policy_configuration, Shapes::ShapeRef.new(shape: RetryPolicyConfiguration, location_name: "retryPolicyConfiguration"))
347
+ JobRun.add_member(:retry_policy_execution, Shapes::ShapeRef.new(shape: RetryPolicyExecution, location_name: "retryPolicyExecution"))
317
348
  JobRun.struct_class = Types::JobRun
318
349
 
319
350
  JobRunStates.member = Shapes::ShapeRef.new(shape: JobRunState)
@@ -417,9 +448,18 @@ module Aws::EMRContainers
417
448
  ParametricS3MonitoringConfiguration.add_member(:log_uri, Shapes::ShapeRef.new(shape: UriString, location_name: "logUri"))
418
449
  ParametricS3MonitoringConfiguration.struct_class = Types::ParametricS3MonitoringConfiguration
419
450
 
451
+ RequestThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: String1024, location_name: "message"))
452
+ RequestThrottledException.struct_class = Types::RequestThrottledException
453
+
420
454
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String1024, location_name: "message"))
421
455
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
422
456
 
457
+ RetryPolicyConfiguration.add_member(:max_attempts, Shapes::ShapeRef.new(shape: JavaInteger, required: true, location_name: "maxAttempts"))
458
+ RetryPolicyConfiguration.struct_class = Types::RetryPolicyConfiguration
459
+
460
+ RetryPolicyExecution.add_member(:current_attempt_count, Shapes::ShapeRef.new(shape: JavaInteger, required: true, location_name: "currentAttemptCount"))
461
+ RetryPolicyExecution.struct_class = Types::RetryPolicyExecution
462
+
423
463
  S3MonitoringConfiguration.add_member(:log_uri, Shapes::ShapeRef.new(shape: UriString, required: true, location_name: "logUri"))
424
464
  S3MonitoringConfiguration.struct_class = Types::S3MonitoringConfiguration
425
465
 
@@ -445,6 +485,7 @@ module Aws::EMRContainers
445
485
  StartJobRunRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
446
486
  StartJobRunRequest.add_member(:job_template_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "jobTemplateId"))
447
487
  StartJobRunRequest.add_member(:job_template_parameters, Shapes::ShapeRef.new(shape: TemplateParameterInputMap, location_name: "jobTemplateParameters"))
488
+ StartJobRunRequest.add_member(:retry_policy_configuration, Shapes::ShapeRef.new(shape: RetryPolicyConfiguration, location_name: "retryPolicyConfiguration"))
448
489
  StartJobRunRequest.struct_class = Types::StartJobRunRequest
449
490
 
450
491
  StartJobRunResponse.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
@@ -633,6 +674,18 @@ module Aws::EMRContainers
633
674
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
634
675
  end)
635
676
 
677
+ api.add_operation(:get_managed_endpoint_session_credentials, Seahorse::Model::Operation.new.tap do |o|
678
+ o.name = "GetManagedEndpointSessionCredentials"
679
+ o.http_method = "POST"
680
+ o.http_request_uri = "/virtualclusters/{virtualClusterId}/endpoints/{endpointId}/credentials"
681
+ o.input = Shapes::ShapeRef.new(shape: GetManagedEndpointSessionCredentialsRequest)
682
+ o.output = Shapes::ShapeRef.new(shape: GetManagedEndpointSessionCredentialsResponse)
683
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
684
+ o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
685
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
686
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
687
+ end)
688
+
636
689
  api.add_operation(:list_job_runs, Seahorse::Model::Operation.new.tap do |o|
637
690
  o.name = "ListJobRuns"
638
691
  o.http_method = "GET"
@@ -14,36 +14,39 @@ module Aws::EMRContainers
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) && (url = Aws::Endpoints::Matchers.parse_url(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: {})
26
- 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://emr-containers-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"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  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
- return Aws::Endpoints::Endpoint.new(url: "https://emr-containers-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://emr-containers.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
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://emr-containers-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
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
+ return Aws::Endpoints::Endpoint.new(url: "https://emr-containers-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://emr-containers.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://emr-containers.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://emr-containers.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -165,6 +165,20 @@ module Aws::EMRContainers
165
165
  end
166
166
  end
167
167
 
168
+ class GetManagedEndpointSessionCredentials
169
+ def self.build(context)
170
+ unless context.config.regional_endpoint
171
+ endpoint = context.config.endpoint.to_s
172
+ end
173
+ Aws::EMRContainers::EndpointParameters.new(
174
+ region: context.config.region,
175
+ use_dual_stack: context.config.use_dualstack_endpoint,
176
+ use_fips: context.config.use_fips_endpoint,
177
+ endpoint: endpoint,
178
+ )
179
+ end
180
+ end
181
+
168
182
  class ListJobRuns
169
183
  def self.build(context)
170
184
  unless context.config.regional_endpoint
@@ -28,6 +28,7 @@ module Aws::EMRContainers
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {InternalServerException}
31
+ # * {RequestThrottledException}
31
32
  # * {ResourceNotFoundException}
32
33
  # * {ValidationException}
33
34
  #
@@ -52,6 +53,21 @@ module Aws::EMRContainers
52
53
  end
53
54
  end
54
55
 
56
+ class RequestThrottledException < ServiceError
57
+
58
+ # @param [Seahorse::Client::RequestContext] context
59
+ # @param [String] message
60
+ # @param [Aws::EMRContainers::Types::RequestThrottledException] data
61
+ def initialize(context, message, data = Aws::EmptyStructure.new)
62
+ super(context, message, data)
63
+ end
64
+
65
+ # @return [String]
66
+ def message
67
+ @message || @data[:message]
68
+ end
69
+ end
70
+
55
71
  class ResourceNotFoundException < ServiceError
56
72
 
57
73
  # @param [Seahorse::Client::RequestContext] context
@@ -78,6 +78,8 @@ module Aws::EMRContainers
78
78
  Aws::EMRContainers::Endpoints::DescribeManagedEndpoint.build(context)
79
79
  when :describe_virtual_cluster
80
80
  Aws::EMRContainers::Endpoints::DescribeVirtualCluster.build(context)
81
+ when :get_managed_endpoint_session_credentials
82
+ Aws::EMRContainers::Endpoints::GetManagedEndpointSessionCredentials.build(context)
81
83
  when :list_job_runs
82
84
  Aws::EMRContainers::Endpoints::ListJobRuns.build(context)
83
85
  when :list_job_templates
@@ -145,7 +145,7 @@ module Aws::EMRContainers
145
145
  # @note ContainerInfo is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ContainerInfo corresponding to the set member.
146
146
  #
147
147
  # @!attribute [rw] eks_info
148
- # The information about the EKS cluster.
148
+ # The information about the Amazon EKS cluster.
149
149
  # @return [Types::EksInfo]
150
150
  #
151
151
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ContainerInfo AWS API Documentation
@@ -164,8 +164,8 @@ module Aws::EMRContainers
164
164
  # The information about the container provider.
165
165
  #
166
166
  # @!attribute [rw] type
167
- # The type of the container provider. EKS is the only supported type
168
- # as of now.
167
+ # The type of the container provider. Amazon EKS is the only supported
168
+ # type as of now.
169
169
  # @return [String]
170
170
  #
171
171
  # @!attribute [rw] id
@@ -386,6 +386,27 @@ module Aws::EMRContainers
386
386
  include Aws::Structure
387
387
  end
388
388
 
389
+ # The structure containing the session token being returned.
390
+ #
391
+ # @note Credentials is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Credentials corresponding to the set member.
392
+ #
393
+ # @!attribute [rw] token
394
+ # The actual session token being returned.
395
+ # @return [String]
396
+ #
397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/Credentials AWS API Documentation
398
+ #
399
+ class Credentials < Struct.new(
400
+ :token,
401
+ :unknown)
402
+ SENSITIVE = [:token]
403
+ include Aws::Structure
404
+ include Aws::Structure::Union
405
+
406
+ class Token < Credentials; end
407
+ class Unknown < Credentials; end
408
+ end
409
+
389
410
  # @!attribute [rw] id
390
411
  # The ID of the job template that will be deleted.
391
412
  # @return [String]
@@ -576,10 +597,10 @@ module Aws::EMRContainers
576
597
  include Aws::Structure
577
598
  end
578
599
 
579
- # The information about the EKS cluster.
600
+ # The information about the Amazon EKS cluster.
580
601
  #
581
602
  # @!attribute [rw] namespace
582
- # The namespaces of the EKS cluster.
603
+ # The namespaces of the Amazon EKS cluster.
583
604
  # @return [String]
584
605
  #
585
606
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/EksInfo AWS API Documentation
@@ -693,6 +714,77 @@ module Aws::EMRContainers
693
714
  include Aws::Structure
694
715
  end
695
716
 
717
+ # @!attribute [rw] endpoint_identifier
718
+ # The ARN of the managed endpoint for which the request is submitted.
719
+ # @return [String]
720
+ #
721
+ # @!attribute [rw] virtual_cluster_identifier
722
+ # The ARN of the Virtual Cluster which the Managed Endpoint belongs
723
+ # to.
724
+ # @return [String]
725
+ #
726
+ # @!attribute [rw] execution_role_arn
727
+ # The IAM Execution Role ARN that will be used by the job run.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] credential_type
731
+ # Type of the token requested. Currently supported and default value
732
+ # of this field is “TOKEN.”
733
+ # @return [String]
734
+ #
735
+ # @!attribute [rw] duration_in_seconds
736
+ # Duration in seconds for which the session token is valid. The
737
+ # default duration is 15 minutes and the maximum is 12 hours.
738
+ # @return [Integer]
739
+ #
740
+ # @!attribute [rw] log_context
741
+ # String identifier used to separate sections of the execution logs
742
+ # uploaded to S3.
743
+ # @return [String]
744
+ #
745
+ # @!attribute [rw] client_token
746
+ # The client idempotency token of the job run request.
747
+ #
748
+ # **A suitable default value is auto-generated.** You should normally
749
+ # not need to pass this option.
750
+ # @return [String]
751
+ #
752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/GetManagedEndpointSessionCredentialsRequest AWS API Documentation
753
+ #
754
+ class GetManagedEndpointSessionCredentialsRequest < Struct.new(
755
+ :endpoint_identifier,
756
+ :virtual_cluster_identifier,
757
+ :execution_role_arn,
758
+ :credential_type,
759
+ :duration_in_seconds,
760
+ :log_context,
761
+ :client_token)
762
+ SENSITIVE = []
763
+ include Aws::Structure
764
+ end
765
+
766
+ # @!attribute [rw] id
767
+ # The identifier of the session token returned.
768
+ # @return [String]
769
+ #
770
+ # @!attribute [rw] credentials
771
+ # The structure containing the session credentials.
772
+ # @return [Types::Credentials]
773
+ #
774
+ # @!attribute [rw] expires_at
775
+ # The date and time when the session token will expire.
776
+ # @return [Time]
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/GetManagedEndpointSessionCredentialsResponse AWS API Documentation
779
+ #
780
+ class GetManagedEndpointSessionCredentialsResponse < Struct.new(
781
+ :id,
782
+ :credentials,
783
+ :expires_at)
784
+ SENSITIVE = []
785
+ include Aws::Structure
786
+ end
787
+
696
788
  # This is an internal server exception.
697
789
  #
698
790
  # @!attribute [rw] message
@@ -796,6 +888,14 @@ module Aws::EMRContainers
796
888
  # The assigned tags of the job run.
797
889
  # @return [Hash<String,String>]
798
890
  #
891
+ # @!attribute [rw] retry_policy_configuration
892
+ # The configuration of the retry policy that the job runs on.
893
+ # @return [Types::RetryPolicyConfiguration]
894
+ #
895
+ # @!attribute [rw] retry_policy_execution
896
+ # The current status of the retry policy executed on the job.
897
+ # @return [Types::RetryPolicyExecution]
898
+ #
799
899
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/JobRun AWS API Documentation
800
900
  #
801
901
  class JobRun < Struct.new(
@@ -814,7 +914,9 @@ module Aws::EMRContainers
814
914
  :finished_at,
815
915
  :state_details,
816
916
  :failure_reason,
817
- :tags)
917
+ :tags,
918
+ :retry_policy_configuration,
919
+ :retry_policy_execution)
818
920
  SENSITIVE = []
819
921
  include Aws::Structure
820
922
  end
@@ -1111,8 +1213,8 @@ module Aws::EMRContainers
1111
1213
  # @return [String]
1112
1214
  #
1113
1215
  # @!attribute [rw] container_provider_type
1114
- # The container provider type of the virtual cluster. EKS is the only
1115
- # supported type as of now.
1216
+ # The container provider type of the virtual cluster. Amazon EKS is
1217
+ # the only supported type as of now.
1116
1218
  # @return [String]
1117
1219
  #
1118
1220
  # @!attribute [rw] created_after
@@ -1273,6 +1375,19 @@ module Aws::EMRContainers
1273
1375
  include Aws::Structure
1274
1376
  end
1275
1377
 
1378
+ # The request throttled.
1379
+ #
1380
+ # @!attribute [rw] message
1381
+ # @return [String]
1382
+ #
1383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/RequestThrottledException AWS API Documentation
1384
+ #
1385
+ class RequestThrottledException < Struct.new(
1386
+ :message)
1387
+ SENSITIVE = []
1388
+ include Aws::Structure
1389
+ end
1390
+
1276
1391
  # The specified resource was not found.
1277
1392
  #
1278
1393
  # @!attribute [rw] message
@@ -1286,6 +1401,34 @@ module Aws::EMRContainers
1286
1401
  include Aws::Structure
1287
1402
  end
1288
1403
 
1404
+ # The configuration of the retry policy that the job runs on.
1405
+ #
1406
+ # @!attribute [rw] max_attempts
1407
+ # The maximum number of attempts on the job's driver.
1408
+ # @return [Integer]
1409
+ #
1410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/RetryPolicyConfiguration AWS API Documentation
1411
+ #
1412
+ class RetryPolicyConfiguration < Struct.new(
1413
+ :max_attempts)
1414
+ SENSITIVE = []
1415
+ include Aws::Structure
1416
+ end
1417
+
1418
+ # The current status of the retry policy executed on the job.
1419
+ #
1420
+ # @!attribute [rw] current_attempt_count
1421
+ # The current number of attempts made on the driver of the job.
1422
+ # @return [Integer]
1423
+ #
1424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/RetryPolicyExecution AWS API Documentation
1425
+ #
1426
+ class RetryPolicyExecution < Struct.new(
1427
+ :current_attempt_count)
1428
+ SENSITIVE = []
1429
+ include Aws::Structure
1430
+ end
1431
+
1289
1432
  # Amazon S3 configuration for monitoring log publishing. You can
1290
1433
  # configure your jobs to send log information to Amazon S3.
1291
1434
  #
@@ -1387,6 +1530,10 @@ module Aws::EMRContainers
1387
1530
  # The values of job template parameters to start a job run.
1388
1531
  # @return [Hash<String,String>]
1389
1532
  #
1533
+ # @!attribute [rw] retry_policy_configuration
1534
+ # The retry policy configuration for the job run.
1535
+ # @return [Types::RetryPolicyConfiguration]
1536
+ #
1390
1537
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/StartJobRunRequest AWS API Documentation
1391
1538
  #
1392
1539
  class StartJobRunRequest < Struct.new(
@@ -1399,7 +1546,8 @@ module Aws::EMRContainers
1399
1546
  :configuration_overrides,
1400
1547
  :tags,
1401
1548
  :job_template_id,
1402
- :job_template_parameters)
1549
+ :job_template_parameters,
1550
+ :retry_policy_configuration)
1403
1551
  SENSITIVE = []
1404
1552
  include Aws::Structure
1405
1553
  end
@@ -1457,7 +1605,7 @@ module Aws::EMRContainers
1457
1605
  #
1458
1606
  # @!attribute [rw] type
1459
1607
  # The type of the job template parameter. Allowed values are:
1460
- # ‘String’, ‘Number’.
1608
+ # ‘STRING’, ‘NUMBER’.
1461
1609
  # @return [String]
1462
1610
  #
1463
1611
  # @!attribute [rw] default_value
@@ -1511,9 +1659,9 @@ module Aws::EMRContainers
1511
1659
  # Kubernetes namespace that Amazon EMR is registered with. Amazon EMR
1512
1660
  # uses virtual clusters to run jobs and host endpoints. Multiple virtual
1513
1661
  # clusters can be backed by the same physical cluster. However, each
1514
- # virtual cluster maps to one namespace on an EKS cluster. Virtual
1515
- # clusters do not create any active resources that contribute to your
1516
- # bill or that require lifecycle management outside the service.
1662
+ # virtual cluster maps to one namespace on an Amazon EKS cluster.
1663
+ # Virtual clusters do not create any active resources that contribute to
1664
+ # your bill or that require lifecycle management outside the service.
1517
1665
  #
1518
1666
  # @!attribute [rw] id
1519
1667
  # The ID of the virtual cluster.
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-emrcontainers/customizations'
52
52
  # @!group service
53
53
  module Aws::EMRContainers
54
54
 
55
- GEM_VERSION = '1.18.0'
55
+ GEM_VERSION = '1.20.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-emrcontainers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.20.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-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core