aws-sdk-emrcontainers 1.31.0 → 1.33.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: e6bb644e186e1897a09eb4ed334e5b3cbc33ab07670fbd7657da70c8adfba2ec
4
- data.tar.gz: 360ac06f14d3a17e9122ab9470cce92d53508bdb207793a26c69f956eb00ad41
3
+ metadata.gz: 38a25b77fe75ad14506eba32f857df5b8a3f0991b0671c8c69516d8788c38445
4
+ data.tar.gz: e9c1d0a20872c9fcfe24f706cd3238e8185652761a8c5e8a012b0f4fbebb8874
5
5
  SHA512:
6
- metadata.gz: e8951bf208a45f8412a96bc75dbe93fa1df9fc22174fa31e13339eea40efa8ff80510e5cd032f2fd9d4d1765995fcdf903c99de84b053c358dbabfc13584c514
7
- data.tar.gz: 4e361faa93ad2233b90615b00efb5f4f8de84631f71e474b5509f8711506042aecd59544826f958deba0068a4af5f36ce0d203c4d7e2e39d8e8165d97d8d377b
6
+ metadata.gz: 79bed2da7ed497e1e947d2ef9eaaa4979d93668bc03729848d38b7e9b34c7b4e17f44f84fcf91b0cb9d44065228b4023bf8537fb8b91359be248f85a178f695d
7
+ data.tar.gz: 40b94b0cb5e147f14be68037fad82a99ff9223f3c7edea9ec89c980eb3de20b7d6fe1f659dfdaae433b8bee6daedfaa241d928a0722f5471cf0e8b99a072b03f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.33.0 (2024-04-24)
5
+ ------------------
6
+
7
+ * Feature - EMRonEKS Service support for SecurityConfiguration enforcement for Spark Jobs.
8
+
9
+ 1.32.0 (2024-04-04)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for integration with EKS AccessEntry APIs to enable automatic Cluster Access for EMR on EKS.
13
+
4
14
  1.31.0 (2024-03-25)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.31.0
1
+ 1.33.0
@@ -629,6 +629,80 @@ module Aws::EMRContainers
629
629
  req.send_request(options)
630
630
  end
631
631
 
632
+ # Creates a security configuration. Security configurations in Amazon
633
+ # EMR on EKS are templates for different security setups. You can use
634
+ # security configurations to configure the Lake Formation integration
635
+ # setup. You can also create a security configuration to re-use a
636
+ # security setup each time you create a virtual cluster.
637
+ #
638
+ # @option params [required, String] :client_token
639
+ # The client idempotency token to use when creating the security
640
+ # configuration.
641
+ #
642
+ # **A suitable default value is auto-generated.** You should normally
643
+ # not need to pass this option.**
644
+ #
645
+ # @option params [required, String] :name
646
+ # The name of the security configuration.
647
+ #
648
+ # @option params [required, Types::SecurityConfigurationData] :security_configuration_data
649
+ # Security configuration input for the request.
650
+ #
651
+ # @option params [Hash<String,String>] :tags
652
+ # The tags to add to the security configuration.
653
+ #
654
+ # @return [Types::CreateSecurityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
655
+ #
656
+ # * {Types::CreateSecurityConfigurationResponse#id #id} => String
657
+ # * {Types::CreateSecurityConfigurationResponse#name #name} => String
658
+ # * {Types::CreateSecurityConfigurationResponse#arn #arn} => String
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.create_security_configuration({
663
+ # client_token: "ClientToken", # required
664
+ # name: "ResourceNameString", # required
665
+ # security_configuration_data: { # required
666
+ # authorization_configuration: {
667
+ # lake_formation_configuration: {
668
+ # authorized_session_tag_value: "SessionTagValue",
669
+ # secure_namespace_info: {
670
+ # cluster_id: "ClusterId",
671
+ # namespace: "KubernetesNamespace",
672
+ # },
673
+ # query_engine_role_arn: "IAMRoleArn",
674
+ # },
675
+ # encryption_configuration: {
676
+ # in_transit_encryption_configuration: {
677
+ # tls_certificate_configuration: {
678
+ # certificate_provider_type: "PEM", # accepts PEM
679
+ # public_certificate_secret_arn: "SecretsManagerArn",
680
+ # private_certificate_secret_arn: "SecretsManagerArn",
681
+ # },
682
+ # },
683
+ # },
684
+ # },
685
+ # },
686
+ # tags: {
687
+ # "String128" => "StringEmpty256",
688
+ # },
689
+ # })
690
+ #
691
+ # @example Response structure
692
+ #
693
+ # resp.id #=> String
694
+ # resp.name #=> String
695
+ # resp.arn #=> String
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateSecurityConfiguration AWS API Documentation
698
+ #
699
+ # @overload create_security_configuration(params = {})
700
+ # @param [Hash] params ({})
701
+ def create_security_configuration(params = {}, options = {})
702
+ req = build_request(:create_security_configuration, params)
703
+ req.send_request(options)
704
+ end
705
+
632
706
  # Creates a virtual cluster. Virtual cluster is a managed entity on
633
707
  # Amazon EMR on EKS. You can create, describe, list and delete virtual
634
708
  # clusters. They do not consume any additional resource in your system.
@@ -651,6 +725,9 @@ module Aws::EMRContainers
651
725
  # @option params [Hash<String,String>] :tags
652
726
  # The tags assigned to the virtual cluster.
653
727
  #
728
+ # @option params [String] :security_configuration_id
729
+ # The ID of the security configuration.
730
+ #
654
731
  # @return [Types::CreateVirtualClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
655
732
  #
656
733
  # * {Types::CreateVirtualClusterResponse#id #id} => String
@@ -674,6 +751,7 @@ module Aws::EMRContainers
674
751
  # tags: {
675
752
  # "String128" => "StringEmpty256",
676
753
  # },
754
+ # security_configuration_id: "ResourceIdString",
677
755
  # })
678
756
  #
679
757
  # @example Response structure
@@ -985,6 +1063,52 @@ module Aws::EMRContainers
985
1063
  req.send_request(options)
986
1064
  end
987
1065
 
1066
+ # Displays detailed information about a specified security
1067
+ # configuration. Security configurations in Amazon EMR on EKS are
1068
+ # templates for different security setups. You can use security
1069
+ # configurations to configure the Lake Formation integration setup. You
1070
+ # can also create a security configuration to re-use a security setup
1071
+ # each time you create a virtual cluster.
1072
+ #
1073
+ # @option params [required, String] :id
1074
+ # The ID of the security configuration.
1075
+ #
1076
+ # @return [Types::DescribeSecurityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1077
+ #
1078
+ # * {Types::DescribeSecurityConfigurationResponse#security_configuration #security_configuration} => Types::SecurityConfiguration
1079
+ #
1080
+ # @example Request syntax with placeholder values
1081
+ #
1082
+ # resp = client.describe_security_configuration({
1083
+ # id: "ResourceIdString", # required
1084
+ # })
1085
+ #
1086
+ # @example Response structure
1087
+ #
1088
+ # resp.security_configuration.id #=> String
1089
+ # resp.security_configuration.name #=> String
1090
+ # resp.security_configuration.arn #=> String
1091
+ # resp.security_configuration.created_at #=> Time
1092
+ # resp.security_configuration.created_by #=> String
1093
+ # resp.security_configuration.security_configuration_data.authorization_configuration.lake_formation_configuration.authorized_session_tag_value #=> String
1094
+ # resp.security_configuration.security_configuration_data.authorization_configuration.lake_formation_configuration.secure_namespace_info.cluster_id #=> String
1095
+ # resp.security_configuration.security_configuration_data.authorization_configuration.lake_formation_configuration.secure_namespace_info.namespace #=> String
1096
+ # resp.security_configuration.security_configuration_data.authorization_configuration.lake_formation_configuration.query_engine_role_arn #=> String
1097
+ # resp.security_configuration.security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.certificate_provider_type #=> String, one of "PEM"
1098
+ # resp.security_configuration.security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.public_certificate_secret_arn #=> String
1099
+ # resp.security_configuration.security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.private_certificate_secret_arn #=> String
1100
+ # resp.security_configuration.tags #=> Hash
1101
+ # resp.security_configuration.tags["String128"] #=> String
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeSecurityConfiguration AWS API Documentation
1104
+ #
1105
+ # @overload describe_security_configuration(params = {})
1106
+ # @param [Hash] params ({})
1107
+ def describe_security_configuration(params = {}, options = {})
1108
+ req = build_request(:describe_security_configuration, params)
1109
+ req.send_request(options)
1110
+ end
1111
+
988
1112
  # Displays detailed information about a specified virtual cluster.
989
1113
  # Virtual cluster is a managed entity on Amazon EMR on EKS. You can
990
1114
  # create, describe, list and delete virtual clusters. They do not
@@ -1018,6 +1142,7 @@ module Aws::EMRContainers
1018
1142
  # resp.virtual_cluster.created_at #=> Time
1019
1143
  # resp.virtual_cluster.tags #=> Hash
1020
1144
  # resp.virtual_cluster.tags["String128"] #=> String
1145
+ # resp.virtual_cluster.security_configuration_id #=> String
1021
1146
  #
1022
1147
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeVirtualCluster AWS API Documentation
1023
1148
  #
@@ -1351,6 +1476,69 @@ module Aws::EMRContainers
1351
1476
  req.send_request(options)
1352
1477
  end
1353
1478
 
1479
+ # Lists security configurations based on a set of parameters. Security
1480
+ # configurations in Amazon EMR on EKS are templates for different
1481
+ # security setups. You can use security configurations to configure the
1482
+ # Lake Formation integration setup. You can also create a security
1483
+ # configuration to re-use a security setup each time you create a
1484
+ # virtual cluster.
1485
+ #
1486
+ # @option params [Time,DateTime,Date,Integer,String] :created_after
1487
+ # The date and time after which the security configuration was created.
1488
+ #
1489
+ # @option params [Time,DateTime,Date,Integer,String] :created_before
1490
+ # The date and time before which the security configuration was created.
1491
+ #
1492
+ # @option params [Integer] :max_results
1493
+ # The maximum number of security configurations the operation can list.
1494
+ #
1495
+ # @option params [String] :next_token
1496
+ # The token for the next set of security configurations to return.
1497
+ #
1498
+ # @return [Types::ListSecurityConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
+ #
1500
+ # * {Types::ListSecurityConfigurationsResponse#security_configurations #security_configurations} => Array&lt;Types::SecurityConfiguration&gt;
1501
+ # * {Types::ListSecurityConfigurationsResponse#next_token #next_token} => String
1502
+ #
1503
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1504
+ #
1505
+ # @example Request syntax with placeholder values
1506
+ #
1507
+ # resp = client.list_security_configurations({
1508
+ # created_after: Time.now,
1509
+ # created_before: Time.now,
1510
+ # max_results: 1,
1511
+ # next_token: "NextToken",
1512
+ # })
1513
+ #
1514
+ # @example Response structure
1515
+ #
1516
+ # resp.security_configurations #=> Array
1517
+ # resp.security_configurations[0].id #=> String
1518
+ # resp.security_configurations[0].name #=> String
1519
+ # resp.security_configurations[0].arn #=> String
1520
+ # resp.security_configurations[0].created_at #=> Time
1521
+ # resp.security_configurations[0].created_by #=> String
1522
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.lake_formation_configuration.authorized_session_tag_value #=> String
1523
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.lake_formation_configuration.secure_namespace_info.cluster_id #=> String
1524
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.lake_formation_configuration.secure_namespace_info.namespace #=> String
1525
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.lake_formation_configuration.query_engine_role_arn #=> String
1526
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.certificate_provider_type #=> String, one of "PEM"
1527
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.public_certificate_secret_arn #=> String
1528
+ # resp.security_configurations[0].security_configuration_data.authorization_configuration.encryption_configuration.in_transit_encryption_configuration.tls_certificate_configuration.private_certificate_secret_arn #=> String
1529
+ # resp.security_configurations[0].tags #=> Hash
1530
+ # resp.security_configurations[0].tags["String128"] #=> String
1531
+ # resp.next_token #=> String
1532
+ #
1533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListSecurityConfigurations AWS API Documentation
1534
+ #
1535
+ # @overload list_security_configurations(params = {})
1536
+ # @param [Hash] params ({})
1537
+ def list_security_configurations(params = {}, options = {})
1538
+ req = build_request(:list_security_configurations, params)
1539
+ req.send_request(options)
1540
+ end
1541
+
1354
1542
  # Lists the tags assigned to the resources.
1355
1543
  #
1356
1544
  # @option params [required, String] :resource_arn
@@ -1410,6 +1598,12 @@ module Aws::EMRContainers
1410
1598
  # @option params [String] :next_token
1411
1599
  # The token for the next set of virtual clusters to return.
1412
1600
  #
1601
+ # @option params [Boolean] :eks_access_entry_integrated
1602
+ # Optional Boolean that specifies whether the operation should return
1603
+ # the virtual clusters that have the access entry integration enabled or
1604
+ # disabled. If not specified, the operation returns all applicable
1605
+ # virtual clusters.
1606
+ #
1413
1607
  # @return [Types::ListVirtualClustersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1414
1608
  #
1415
1609
  # * {Types::ListVirtualClustersResponse#virtual_clusters #virtual_clusters} => Array&lt;Types::VirtualCluster&gt;
@@ -1427,6 +1621,7 @@ module Aws::EMRContainers
1427
1621
  # states: ["RUNNING"], # accepts RUNNING, TERMINATING, TERMINATED, ARRESTED
1428
1622
  # max_results: 1,
1429
1623
  # next_token: "NextToken",
1624
+ # eks_access_entry_integrated: false,
1430
1625
  # })
1431
1626
  #
1432
1627
  # @example Response structure
@@ -1442,6 +1637,7 @@ module Aws::EMRContainers
1442
1637
  # resp.virtual_clusters[0].created_at #=> Time
1443
1638
  # resp.virtual_clusters[0].tags #=> Hash
1444
1639
  # resp.virtual_clusters[0].tags["String128"] #=> String
1640
+ # resp.virtual_clusters[0].security_configuration_id #=> String
1445
1641
  # resp.next_token #=> String
1446
1642
  #
1447
1643
  # @see http://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListVirtualClusters AWS API Documentation
@@ -1651,7 +1847,7 @@ module Aws::EMRContainers
1651
1847
  params: params,
1652
1848
  config: config)
1653
1849
  context[:gem_name] = 'aws-sdk-emrcontainers'
1654
- context[:gem_version] = '1.31.0'
1850
+ context[:gem_version] = '1.33.0'
1655
1851
  Seahorse::Client::Request.new(handlers, context)
1656
1852
  end
1657
1853
 
@@ -14,10 +14,13 @@ module Aws::EMRContainers
14
14
  include Seahorse::Model
15
15
 
16
16
  ACMCertArn = Shapes::StringShape.new(name: 'ACMCertArn')
17
+ AuthorizationConfiguration = Shapes::StructureShape.new(name: 'AuthorizationConfiguration')
17
18
  Base64Encoded = Shapes::StringShape.new(name: 'Base64Encoded')
19
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
18
20
  CancelJobRunRequest = Shapes::StructureShape.new(name: 'CancelJobRunRequest')
19
21
  CancelJobRunResponse = Shapes::StructureShape.new(name: 'CancelJobRunResponse')
20
22
  Certificate = Shapes::StructureShape.new(name: 'Certificate')
23
+ CertificateProviderType = Shapes::StringShape.new(name: 'CertificateProviderType')
21
24
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
22
25
  CloudWatchMonitoringConfiguration = Shapes::StructureShape.new(name: 'CloudWatchMonitoringConfiguration')
23
26
  ClusterId = Shapes::StringShape.new(name: 'ClusterId')
@@ -32,6 +35,8 @@ module Aws::EMRContainers
32
35
  CreateJobTemplateResponse = Shapes::StructureShape.new(name: 'CreateJobTemplateResponse')
33
36
  CreateManagedEndpointRequest = Shapes::StructureShape.new(name: 'CreateManagedEndpointRequest')
34
37
  CreateManagedEndpointResponse = Shapes::StructureShape.new(name: 'CreateManagedEndpointResponse')
38
+ CreateSecurityConfigurationRequest = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationRequest')
39
+ CreateSecurityConfigurationResponse = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationResponse')
35
40
  CreateVirtualClusterRequest = Shapes::StructureShape.new(name: 'CreateVirtualClusterRequest')
36
41
  CreateVirtualClusterResponse = Shapes::StructureShape.new(name: 'CreateVirtualClusterResponse')
37
42
  CredentialType = Shapes::StringShape.new(name: 'CredentialType')
@@ -49,9 +54,13 @@ module Aws::EMRContainers
49
54
  DescribeJobTemplateResponse = Shapes::StructureShape.new(name: 'DescribeJobTemplateResponse')
50
55
  DescribeManagedEndpointRequest = Shapes::StructureShape.new(name: 'DescribeManagedEndpointRequest')
51
56
  DescribeManagedEndpointResponse = Shapes::StructureShape.new(name: 'DescribeManagedEndpointResponse')
57
+ DescribeSecurityConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeSecurityConfigurationRequest')
58
+ DescribeSecurityConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeSecurityConfigurationResponse')
52
59
  DescribeVirtualClusterRequest = Shapes::StructureShape.new(name: 'DescribeVirtualClusterRequest')
53
60
  DescribeVirtualClusterResponse = Shapes::StructureShape.new(name: 'DescribeVirtualClusterResponse')
61
+ EKSRequestThrottledException = Shapes::StructureShape.new(name: 'EKSRequestThrottledException')
54
62
  EksInfo = Shapes::StructureShape.new(name: 'EksInfo')
63
+ EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
55
64
  Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
56
65
  EndpointArn = Shapes::StringShape.new(name: 'EndpointArn')
57
66
  EndpointState = Shapes::StringShape.new(name: 'EndpointState')
@@ -66,6 +75,7 @@ module Aws::EMRContainers
66
75
  GetManagedEndpointSessionCredentialsRequest = Shapes::StructureShape.new(name: 'GetManagedEndpointSessionCredentialsRequest')
67
76
  GetManagedEndpointSessionCredentialsResponse = Shapes::StructureShape.new(name: 'GetManagedEndpointSessionCredentialsResponse')
68
77
  IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
78
+ InTransitEncryptionConfiguration = Shapes::StructureShape.new(name: 'InTransitEncryptionConfiguration')
69
79
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
70
80
  JavaInteger = Shapes::IntegerShape.new(name: 'JavaInteger')
71
81
  JobArn = Shapes::StringShape.new(name: 'JobArn')
@@ -80,12 +90,15 @@ module Aws::EMRContainers
80
90
  JobTemplates = Shapes::ListShape.new(name: 'JobTemplates')
81
91
  KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
82
92
  KubernetesNamespace = Shapes::StringShape.new(name: 'KubernetesNamespace')
93
+ LakeFormationConfiguration = Shapes::StructureShape.new(name: 'LakeFormationConfiguration')
83
94
  ListJobRunsRequest = Shapes::StructureShape.new(name: 'ListJobRunsRequest')
84
95
  ListJobRunsResponse = Shapes::StructureShape.new(name: 'ListJobRunsResponse')
85
96
  ListJobTemplatesRequest = Shapes::StructureShape.new(name: 'ListJobTemplatesRequest')
86
97
  ListJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListJobTemplatesResponse')
87
98
  ListManagedEndpointsRequest = Shapes::StructureShape.new(name: 'ListManagedEndpointsRequest')
88
99
  ListManagedEndpointsResponse = Shapes::StructureShape.new(name: 'ListManagedEndpointsResponse')
100
+ ListSecurityConfigurationsRequest = Shapes::StructureShape.new(name: 'ListSecurityConfigurationsRequest')
101
+ ListSecurityConfigurationsResponse = Shapes::StructureShape.new(name: 'ListSecurityConfigurationsResponse')
89
102
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
90
103
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
91
104
  ListVirtualClustersRequest = Shapes::StructureShape.new(name: 'ListVirtualClustersRequest')
@@ -113,7 +126,14 @@ module Aws::EMRContainers
113
126
  RotationSize = Shapes::StringShape.new(name: 'RotationSize')
114
127
  RsiArn = Shapes::StringShape.new(name: 'RsiArn')
115
128
  S3MonitoringConfiguration = Shapes::StructureShape.new(name: 'S3MonitoringConfiguration')
129
+ SecretsManagerArn = Shapes::StringShape.new(name: 'SecretsManagerArn')
130
+ SecureNamespaceInfo = Shapes::StructureShape.new(name: 'SecureNamespaceInfo')
131
+ SecurityConfiguration = Shapes::StructureShape.new(name: 'SecurityConfiguration')
132
+ SecurityConfigurationArn = Shapes::StringShape.new(name: 'SecurityConfigurationArn')
133
+ SecurityConfigurationData = Shapes::StructureShape.new(name: 'SecurityConfigurationData')
134
+ SecurityConfigurations = Shapes::ListShape.new(name: 'SecurityConfigurations')
116
135
  SensitivePropertiesMap = Shapes::MapShape.new(name: 'SensitivePropertiesMap')
136
+ SessionTagValue = Shapes::StringShape.new(name: 'SessionTagValue')
117
137
  SparkSqlJobDriver = Shapes::StructureShape.new(name: 'SparkSqlJobDriver')
118
138
  SparkSqlParameters = Shapes::StringShape.new(name: 'SparkSqlParameters')
119
139
  SparkSubmitJobDriver = Shapes::StructureShape.new(name: 'SparkSubmitJobDriver')
@@ -126,6 +146,7 @@ module Aws::EMRContainers
126
146
  String256 = Shapes::StringShape.new(name: 'String256')
127
147
  StringEmpty256 = Shapes::StringShape.new(name: 'StringEmpty256')
128
148
  SubnetIds = Shapes::ListShape.new(name: 'SubnetIds')
149
+ TLSCertificateConfiguration = Shapes::StructureShape.new(name: 'TLSCertificateConfiguration')
129
150
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
130
151
  TagMap = Shapes::MapShape.new(name: 'TagMap')
131
152
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
@@ -147,6 +168,10 @@ module Aws::EMRContainers
147
168
  VirtualClusterStates = Shapes::ListShape.new(name: 'VirtualClusterStates')
148
169
  VirtualClusters = Shapes::ListShape.new(name: 'VirtualClusters')
149
170
 
171
+ AuthorizationConfiguration.add_member(:lake_formation_configuration, Shapes::ShapeRef.new(shape: LakeFormationConfiguration, location_name: "lakeFormationConfiguration"))
172
+ AuthorizationConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "encryptionConfiguration"))
173
+ AuthorizationConfiguration.struct_class = Types::AuthorizationConfiguration
174
+
150
175
  CancelJobRunRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "jobRunId"))
151
176
  CancelJobRunRequest.add_member(:virtual_cluster_id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "virtualClusterId"))
152
177
  CancelJobRunRequest.struct_class = Types::CancelJobRunRequest
@@ -219,10 +244,22 @@ module Aws::EMRContainers
219
244
  CreateManagedEndpointResponse.add_member(:virtual_cluster_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "virtualClusterId"))
220
245
  CreateManagedEndpointResponse.struct_class = Types::CreateManagedEndpointResponse
221
246
 
247
+ CreateSecurityConfigurationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
248
+ CreateSecurityConfigurationRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceNameString, required: true, location_name: "name"))
249
+ CreateSecurityConfigurationRequest.add_member(:security_configuration_data, Shapes::ShapeRef.new(shape: SecurityConfigurationData, required: true, location_name: "securityConfigurationData"))
250
+ CreateSecurityConfigurationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
251
+ CreateSecurityConfigurationRequest.struct_class = Types::CreateSecurityConfigurationRequest
252
+
253
+ CreateSecurityConfigurationResponse.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
254
+ CreateSecurityConfigurationResponse.add_member(:name, Shapes::ShapeRef.new(shape: ResourceNameString, location_name: "name"))
255
+ CreateSecurityConfigurationResponse.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityConfigurationArn, location_name: "arn"))
256
+ CreateSecurityConfigurationResponse.struct_class = Types::CreateSecurityConfigurationResponse
257
+
222
258
  CreateVirtualClusterRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceNameString, required: true, location_name: "name"))
223
259
  CreateVirtualClusterRequest.add_member(:container_provider, Shapes::ShapeRef.new(shape: ContainerProvider, required: true, location_name: "containerProvider"))
224
260
  CreateVirtualClusterRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
225
261
  CreateVirtualClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
262
+ CreateVirtualClusterRequest.add_member(:security_configuration_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "securityConfigurationId"))
226
263
  CreateVirtualClusterRequest.struct_class = Types::CreateVirtualClusterRequest
227
264
 
228
265
  CreateVirtualClusterResponse.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
@@ -276,15 +313,27 @@ module Aws::EMRContainers
276
313
  DescribeManagedEndpointResponse.add_member(:endpoint, Shapes::ShapeRef.new(shape: Endpoint, location_name: "endpoint"))
277
314
  DescribeManagedEndpointResponse.struct_class = Types::DescribeManagedEndpointResponse
278
315
 
316
+ DescribeSecurityConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "securityConfigurationId"))
317
+ DescribeSecurityConfigurationRequest.struct_class = Types::DescribeSecurityConfigurationRequest
318
+
319
+ DescribeSecurityConfigurationResponse.add_member(:security_configuration, Shapes::ShapeRef.new(shape: SecurityConfiguration, location_name: "securityConfiguration"))
320
+ DescribeSecurityConfigurationResponse.struct_class = Types::DescribeSecurityConfigurationResponse
321
+
279
322
  DescribeVirtualClusterRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "virtualClusterId"))
280
323
  DescribeVirtualClusterRequest.struct_class = Types::DescribeVirtualClusterRequest
281
324
 
282
325
  DescribeVirtualClusterResponse.add_member(:virtual_cluster, Shapes::ShapeRef.new(shape: VirtualCluster, location_name: "virtualCluster"))
283
326
  DescribeVirtualClusterResponse.struct_class = Types::DescribeVirtualClusterResponse
284
327
 
328
+ EKSRequestThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: String1024, location_name: "message"))
329
+ EKSRequestThrottledException.struct_class = Types::EKSRequestThrottledException
330
+
285
331
  EksInfo.add_member(:namespace, Shapes::ShapeRef.new(shape: KubernetesNamespace, location_name: "namespace"))
286
332
  EksInfo.struct_class = Types::EksInfo
287
333
 
334
+ EncryptionConfiguration.add_member(:in_transit_encryption_configuration, Shapes::ShapeRef.new(shape: InTransitEncryptionConfiguration, location_name: "inTransitEncryptionConfiguration"))
335
+ EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
336
+
288
337
  Endpoint.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
289
338
  Endpoint.add_member(:name, Shapes::ShapeRef.new(shape: ResourceNameString, location_name: "name"))
290
339
  Endpoint.add_member(:arn, Shapes::ShapeRef.new(shape: EndpointArn, location_name: "arn"))
@@ -327,6 +376,9 @@ module Aws::EMRContainers
327
376
  GetManagedEndpointSessionCredentialsResponse.add_member(:expires_at, Shapes::ShapeRef.new(shape: Date, location_name: "expiresAt"))
328
377
  GetManagedEndpointSessionCredentialsResponse.struct_class = Types::GetManagedEndpointSessionCredentialsResponse
329
378
 
379
+ InTransitEncryptionConfiguration.add_member(:tls_certificate_configuration, Shapes::ShapeRef.new(shape: TLSCertificateConfiguration, location_name: "tlsCertificateConfiguration"))
380
+ InTransitEncryptionConfiguration.struct_class = Types::InTransitEncryptionConfiguration
381
+
330
382
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String1024, location_name: "message"))
331
383
  InternalServerException.struct_class = Types::InternalServerException
332
384
 
@@ -379,6 +431,11 @@ module Aws::EMRContainers
379
431
 
380
432
  JobTemplates.member = Shapes::ShapeRef.new(shape: JobTemplate)
381
433
 
434
+ LakeFormationConfiguration.add_member(:authorized_session_tag_value, Shapes::ShapeRef.new(shape: SessionTagValue, location_name: "authorizedSessionTagValue"))
435
+ LakeFormationConfiguration.add_member(:secure_namespace_info, Shapes::ShapeRef.new(shape: SecureNamespaceInfo, location_name: "secureNamespaceInfo"))
436
+ LakeFormationConfiguration.add_member(:query_engine_role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "queryEngineRoleArn"))
437
+ LakeFormationConfiguration.struct_class = Types::LakeFormationConfiguration
438
+
382
439
  ListJobRunsRequest.add_member(:virtual_cluster_id, Shapes::ShapeRef.new(shape: ResourceIdString, required: true, location: "uri", location_name: "virtualClusterId"))
383
440
  ListJobRunsRequest.add_member(:created_before, Shapes::ShapeRef.new(shape: Date, location: "querystring", location_name: "createdBefore"))
384
441
  ListJobRunsRequest.add_member(:created_after, Shapes::ShapeRef.new(shape: Date, location: "querystring", location_name: "createdAfter"))
@@ -415,6 +472,16 @@ module Aws::EMRContainers
415
472
  ListManagedEndpointsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
416
473
  ListManagedEndpointsResponse.struct_class = Types::ListManagedEndpointsResponse
417
474
 
475
+ ListSecurityConfigurationsRequest.add_member(:created_after, Shapes::ShapeRef.new(shape: Date, location: "querystring", location_name: "createdAfter"))
476
+ ListSecurityConfigurationsRequest.add_member(:created_before, Shapes::ShapeRef.new(shape: Date, location: "querystring", location_name: "createdBefore"))
477
+ ListSecurityConfigurationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: JavaInteger, location: "querystring", location_name: "maxResults"))
478
+ ListSecurityConfigurationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
479
+ ListSecurityConfigurationsRequest.struct_class = Types::ListSecurityConfigurationsRequest
480
+
481
+ ListSecurityConfigurationsResponse.add_member(:security_configurations, Shapes::ShapeRef.new(shape: SecurityConfigurations, location_name: "securityConfigurations"))
482
+ ListSecurityConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
483
+ ListSecurityConfigurationsResponse.struct_class = Types::ListSecurityConfigurationsResponse
484
+
418
485
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: RsiArn, required: true, location: "uri", location_name: "resourceArn"))
419
486
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
420
487
 
@@ -428,6 +495,7 @@ module Aws::EMRContainers
428
495
  ListVirtualClustersRequest.add_member(:states, Shapes::ShapeRef.new(shape: VirtualClusterStates, location: "querystring", location_name: "states"))
429
496
  ListVirtualClustersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: JavaInteger, location: "querystring", location_name: "maxResults"))
430
497
  ListVirtualClustersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
498
+ ListVirtualClustersRequest.add_member(:eks_access_entry_integrated, Shapes::ShapeRef.new(shape: Boolean, location: "querystring", location_name: "eksAccessEntryIntegrated"))
431
499
  ListVirtualClustersRequest.struct_class = Types::ListVirtualClustersRequest
432
500
 
433
501
  ListVirtualClustersResponse.add_member(:virtual_clusters, Shapes::ShapeRef.new(shape: VirtualClusters, location_name: "virtualClusters"))
@@ -471,6 +539,24 @@ module Aws::EMRContainers
471
539
  S3MonitoringConfiguration.add_member(:log_uri, Shapes::ShapeRef.new(shape: UriString, required: true, location_name: "logUri"))
472
540
  S3MonitoringConfiguration.struct_class = Types::S3MonitoringConfiguration
473
541
 
542
+ SecureNamespaceInfo.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, location_name: "clusterId"))
543
+ SecureNamespaceInfo.add_member(:namespace, Shapes::ShapeRef.new(shape: KubernetesNamespace, location_name: "namespace"))
544
+ SecureNamespaceInfo.struct_class = Types::SecureNamespaceInfo
545
+
546
+ SecurityConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "id"))
547
+ SecurityConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceNameString, location_name: "name"))
548
+ SecurityConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityConfigurationArn, location_name: "arn"))
549
+ SecurityConfiguration.add_member(:created_at, Shapes::ShapeRef.new(shape: Date, location_name: "createdAt"))
550
+ SecurityConfiguration.add_member(:created_by, Shapes::ShapeRef.new(shape: RequestIdentityUserArn, location_name: "createdBy"))
551
+ SecurityConfiguration.add_member(:security_configuration_data, Shapes::ShapeRef.new(shape: SecurityConfigurationData, location_name: "securityConfigurationData"))
552
+ SecurityConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
553
+ SecurityConfiguration.struct_class = Types::SecurityConfiguration
554
+
555
+ SecurityConfigurationData.add_member(:authorization_configuration, Shapes::ShapeRef.new(shape: AuthorizationConfiguration, location_name: "authorizationConfiguration"))
556
+ SecurityConfigurationData.struct_class = Types::SecurityConfigurationData
557
+
558
+ SecurityConfigurations.member = Shapes::ShapeRef.new(shape: SecurityConfiguration)
559
+
474
560
  SensitivePropertiesMap.key = Shapes::ShapeRef.new(shape: String1024)
475
561
  SensitivePropertiesMap.value = Shapes::ShapeRef.new(shape: String1024)
476
562
 
@@ -504,6 +590,11 @@ module Aws::EMRContainers
504
590
 
505
591
  SubnetIds.member = Shapes::ShapeRef.new(shape: String256)
506
592
 
593
+ TLSCertificateConfiguration.add_member(:certificate_provider_type, Shapes::ShapeRef.new(shape: CertificateProviderType, location_name: "certificateProviderType"))
594
+ TLSCertificateConfiguration.add_member(:public_certificate_secret_arn, Shapes::ShapeRef.new(shape: SecretsManagerArn, location_name: "publicCertificateSecretArn"))
595
+ TLSCertificateConfiguration.add_member(:private_certificate_secret_arn, Shapes::ShapeRef.new(shape: SecretsManagerArn, location_name: "privateCertificateSecretArn"))
596
+ TLSCertificateConfiguration.struct_class = Types::TLSCertificateConfiguration
597
+
507
598
  TagKeyList.member = Shapes::ShapeRef.new(shape: String128)
508
599
 
509
600
  TagMap.key = Shapes::ShapeRef.new(shape: String128)
@@ -541,6 +632,7 @@ module Aws::EMRContainers
541
632
  VirtualCluster.add_member(:container_provider, Shapes::ShapeRef.new(shape: ContainerProvider, location_name: "containerProvider"))
542
633
  VirtualCluster.add_member(:created_at, Shapes::ShapeRef.new(shape: Date, location_name: "createdAt"))
543
634
  VirtualCluster.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
635
+ VirtualCluster.add_member(:security_configuration_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "securityConfigurationId"))
544
636
  VirtualCluster.struct_class = Types::VirtualCluster
545
637
 
546
638
  VirtualClusterStates.member = Shapes::ShapeRef.new(shape: VirtualClusterState)
@@ -597,6 +689,16 @@ module Aws::EMRContainers
597
689
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
598
690
  end)
599
691
 
692
+ api.add_operation(:create_security_configuration, Seahorse::Model::Operation.new.tap do |o|
693
+ o.name = "CreateSecurityConfiguration"
694
+ o.http_method = "POST"
695
+ o.http_request_uri = "/securityconfigurations"
696
+ o.input = Shapes::ShapeRef.new(shape: CreateSecurityConfigurationRequest)
697
+ o.output = Shapes::ShapeRef.new(shape: CreateSecurityConfigurationResponse)
698
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
699
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
700
+ end)
701
+
600
702
  api.add_operation(:create_virtual_cluster, Seahorse::Model::Operation.new.tap do |o|
601
703
  o.name = "CreateVirtualCluster"
602
704
  o.http_method = "POST"
@@ -606,6 +708,7 @@ module Aws::EMRContainers
606
708
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
607
709
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
608
710
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
711
+ o.errors << Shapes::ShapeRef.new(shape: EKSRequestThrottledException)
609
712
  end)
610
713
 
611
714
  api.add_operation(:delete_job_template, Seahorse::Model::Operation.new.tap do |o|
@@ -671,6 +774,17 @@ module Aws::EMRContainers
671
774
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
672
775
  end)
673
776
 
777
+ api.add_operation(:describe_security_configuration, Seahorse::Model::Operation.new.tap do |o|
778
+ o.name = "DescribeSecurityConfiguration"
779
+ o.http_method = "GET"
780
+ o.http_request_uri = "/securityconfigurations/{securityConfigurationId}"
781
+ o.input = Shapes::ShapeRef.new(shape: DescribeSecurityConfigurationRequest)
782
+ o.output = Shapes::ShapeRef.new(shape: DescribeSecurityConfigurationResponse)
783
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
784
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
785
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
786
+ end)
787
+
674
788
  api.add_operation(:describe_virtual_cluster, Seahorse::Model::Operation.new.tap do |o|
675
789
  o.name = "DescribeVirtualCluster"
676
790
  o.http_method = "GET"
@@ -742,6 +856,22 @@ module Aws::EMRContainers
742
856
  )
743
857
  end)
744
858
 
859
+ api.add_operation(:list_security_configurations, Seahorse::Model::Operation.new.tap do |o|
860
+ o.name = "ListSecurityConfigurations"
861
+ o.http_method = "GET"
862
+ o.http_request_uri = "/securityconfigurations"
863
+ o.input = Shapes::ShapeRef.new(shape: ListSecurityConfigurationsRequest)
864
+ o.output = Shapes::ShapeRef.new(shape: ListSecurityConfigurationsResponse)
865
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
866
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
867
+ o[:pager] = Aws::Pager.new(
868
+ limit_key: "max_results",
869
+ tokens: {
870
+ "next_token" => "next_token"
871
+ }
872
+ )
873
+ end)
874
+
745
875
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
746
876
  o.name = "ListTagsForResource"
747
877
  o.http_method = "GET"