Skip to content

Commit 349915b

Browse files
author
awstools
committed
feat(client-emr-containers): EMRonEKS Service support for SecurityConfiguration enforcement for Spark Jobs.
1 parent 02eab1f commit 349915b

15 files changed

+1533
-0
lines changed

clients/client-emr-containers/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,14 @@ CreateManagedEndpoint
249249

250250
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/CreateManagedEndpointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/CreateManagedEndpointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/CreateManagedEndpointCommandOutput/)
251251

252+
</details>
253+
<details>
254+
<summary>
255+
CreateSecurityConfiguration
256+
</summary>
257+
258+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/CreateSecurityConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/CreateSecurityConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/CreateSecurityConfigurationCommandOutput/)
259+
252260
</details>
253261
<details>
254262
<summary>
@@ -305,6 +313,14 @@ DescribeManagedEndpoint
305313

306314
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/DescribeManagedEndpointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/DescribeManagedEndpointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/DescribeManagedEndpointCommandOutput/)
307315

316+
</details>
317+
<details>
318+
<summary>
319+
DescribeSecurityConfiguration
320+
</summary>
321+
322+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/DescribeSecurityConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/DescribeSecurityConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/DescribeSecurityConfigurationCommandOutput/)
323+
308324
</details>
309325
<details>
310326
<summary>
@@ -345,6 +361,14 @@ ListManagedEndpoints
345361

346362
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/ListManagedEndpointsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/ListManagedEndpointsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/ListManagedEndpointsCommandOutput/)
347363

364+
</details>
365+
<details>
366+
<summary>
367+
ListSecurityConfigurations
368+
</summary>
369+
370+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/emr-containers/command/ListSecurityConfigurationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/ListSecurityConfigurationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-emr-containers/Interface/ListSecurityConfigurationsCommandOutput/)
371+
348372
</details>
349373
<details>
350374
<summary>

clients/client-emr-containers/src/EMRContainers.ts

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ import {
1717
CreateManagedEndpointCommandInput,
1818
CreateManagedEndpointCommandOutput,
1919
} from "./commands/CreateManagedEndpointCommand";
20+
import {
21+
CreateSecurityConfigurationCommand,
22+
CreateSecurityConfigurationCommandInput,
23+
CreateSecurityConfigurationCommandOutput,
24+
} from "./commands/CreateSecurityConfigurationCommand";
2025
import {
2126
CreateVirtualClusterCommand,
2227
CreateVirtualClusterCommandInput,
@@ -52,6 +57,11 @@ import {
5257
DescribeManagedEndpointCommandInput,
5358
DescribeManagedEndpointCommandOutput,
5459
} from "./commands/DescribeManagedEndpointCommand";
60+
import {
61+
DescribeSecurityConfigurationCommand,
62+
DescribeSecurityConfigurationCommandInput,
63+
DescribeSecurityConfigurationCommandOutput,
64+
} from "./commands/DescribeSecurityConfigurationCommand";
5565
import {
5666
DescribeVirtualClusterCommand,
5767
DescribeVirtualClusterCommandInput,
@@ -73,6 +83,11 @@ import {
7383
ListManagedEndpointsCommandInput,
7484
ListManagedEndpointsCommandOutput,
7585
} from "./commands/ListManagedEndpointsCommand";
86+
import {
87+
ListSecurityConfigurationsCommand,
88+
ListSecurityConfigurationsCommandInput,
89+
ListSecurityConfigurationsCommandOutput,
90+
} from "./commands/ListSecurityConfigurationsCommand";
7691
import {
7792
ListTagsForResourceCommand,
7893
ListTagsForResourceCommandInput,
@@ -96,18 +111,21 @@ const commands = {
96111
CancelJobRunCommand,
97112
CreateJobTemplateCommand,
98113
CreateManagedEndpointCommand,
114+
CreateSecurityConfigurationCommand,
99115
CreateVirtualClusterCommand,
100116
DeleteJobTemplateCommand,
101117
DeleteManagedEndpointCommand,
102118
DeleteVirtualClusterCommand,
103119
DescribeJobRunCommand,
104120
DescribeJobTemplateCommand,
105121
DescribeManagedEndpointCommand,
122+
DescribeSecurityConfigurationCommand,
106123
DescribeVirtualClusterCommand,
107124
GetManagedEndpointSessionCredentialsCommand,
108125
ListJobRunsCommand,
109126
ListJobTemplatesCommand,
110127
ListManagedEndpointsCommand,
128+
ListSecurityConfigurationsCommand,
111129
ListTagsForResourceCommand,
112130
ListVirtualClustersCommand,
113131
StartJobRunCommand,
@@ -161,6 +179,23 @@ export interface EMRContainers {
161179
cb: (err: any, data?: CreateManagedEndpointCommandOutput) => void
162180
): void;
163181

182+
/**
183+
* @see {@link CreateSecurityConfigurationCommand}
184+
*/
185+
createSecurityConfiguration(
186+
args: CreateSecurityConfigurationCommandInput,
187+
options?: __HttpHandlerOptions
188+
): Promise<CreateSecurityConfigurationCommandOutput>;
189+
createSecurityConfiguration(
190+
args: CreateSecurityConfigurationCommandInput,
191+
cb: (err: any, data?: CreateSecurityConfigurationCommandOutput) => void
192+
): void;
193+
createSecurityConfiguration(
194+
args: CreateSecurityConfigurationCommandInput,
195+
options: __HttpHandlerOptions,
196+
cb: (err: any, data?: CreateSecurityConfigurationCommandOutput) => void
197+
): void;
198+
164199
/**
165200
* @see {@link CreateVirtualClusterCommand}
166201
*/
@@ -277,6 +312,23 @@ export interface EMRContainers {
277312
cb: (err: any, data?: DescribeManagedEndpointCommandOutput) => void
278313
): void;
279314

315+
/**
316+
* @see {@link DescribeSecurityConfigurationCommand}
317+
*/
318+
describeSecurityConfiguration(
319+
args: DescribeSecurityConfigurationCommandInput,
320+
options?: __HttpHandlerOptions
321+
): Promise<DescribeSecurityConfigurationCommandOutput>;
322+
describeSecurityConfiguration(
323+
args: DescribeSecurityConfigurationCommandInput,
324+
cb: (err: any, data?: DescribeSecurityConfigurationCommandOutput) => void
325+
): void;
326+
describeSecurityConfiguration(
327+
args: DescribeSecurityConfigurationCommandInput,
328+
options: __HttpHandlerOptions,
329+
cb: (err: any, data?: DescribeSecurityConfigurationCommandOutput) => void
330+
): void;
331+
280332
/**
281333
* @see {@link DescribeVirtualClusterCommand}
282334
*/
@@ -357,6 +409,24 @@ export interface EMRContainers {
357409
cb: (err: any, data?: ListManagedEndpointsCommandOutput) => void
358410
): void;
359411

412+
/**
413+
* @see {@link ListSecurityConfigurationsCommand}
414+
*/
415+
listSecurityConfigurations(): Promise<ListSecurityConfigurationsCommandOutput>;
416+
listSecurityConfigurations(
417+
args: ListSecurityConfigurationsCommandInput,
418+
options?: __HttpHandlerOptions
419+
): Promise<ListSecurityConfigurationsCommandOutput>;
420+
listSecurityConfigurations(
421+
args: ListSecurityConfigurationsCommandInput,
422+
cb: (err: any, data?: ListSecurityConfigurationsCommandOutput) => void
423+
): void;
424+
listSecurityConfigurations(
425+
args: ListSecurityConfigurationsCommandInput,
426+
options: __HttpHandlerOptions,
427+
cb: (err: any, data?: ListSecurityConfigurationsCommandOutput) => void
428+
): void;
429+
360430
/**
361431
* @see {@link ListTagsForResourceCommand}
362432
*/

clients/client-emr-containers/src/EMRContainersClient.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ import {
5959
CreateManagedEndpointCommandInput,
6060
CreateManagedEndpointCommandOutput,
6161
} from "./commands/CreateManagedEndpointCommand";
62+
import {
63+
CreateSecurityConfigurationCommandInput,
64+
CreateSecurityConfigurationCommandOutput,
65+
} from "./commands/CreateSecurityConfigurationCommand";
6266
import {
6367
CreateVirtualClusterCommandInput,
6468
CreateVirtualClusterCommandOutput,
@@ -81,6 +85,10 @@ import {
8185
DescribeManagedEndpointCommandInput,
8286
DescribeManagedEndpointCommandOutput,
8387
} from "./commands/DescribeManagedEndpointCommand";
88+
import {
89+
DescribeSecurityConfigurationCommandInput,
90+
DescribeSecurityConfigurationCommandOutput,
91+
} from "./commands/DescribeSecurityConfigurationCommand";
8492
import {
8593
DescribeVirtualClusterCommandInput,
8694
DescribeVirtualClusterCommandOutput,
@@ -95,6 +103,10 @@ import {
95103
ListManagedEndpointsCommandInput,
96104
ListManagedEndpointsCommandOutput,
97105
} from "./commands/ListManagedEndpointsCommand";
106+
import {
107+
ListSecurityConfigurationsCommandInput,
108+
ListSecurityConfigurationsCommandOutput,
109+
} from "./commands/ListSecurityConfigurationsCommand";
98110
import {
99111
ListTagsForResourceCommandInput,
100112
ListTagsForResourceCommandOutput,
@@ -124,18 +136,21 @@ export type ServiceInputTypes =
124136
| CancelJobRunCommandInput
125137
| CreateJobTemplateCommandInput
126138
| CreateManagedEndpointCommandInput
139+
| CreateSecurityConfigurationCommandInput
127140
| CreateVirtualClusterCommandInput
128141
| DeleteJobTemplateCommandInput
129142
| DeleteManagedEndpointCommandInput
130143
| DeleteVirtualClusterCommandInput
131144
| DescribeJobRunCommandInput
132145
| DescribeJobTemplateCommandInput
133146
| DescribeManagedEndpointCommandInput
147+
| DescribeSecurityConfigurationCommandInput
134148
| DescribeVirtualClusterCommandInput
135149
| GetManagedEndpointSessionCredentialsCommandInput
136150
| ListJobRunsCommandInput
137151
| ListJobTemplatesCommandInput
138152
| ListManagedEndpointsCommandInput
153+
| ListSecurityConfigurationsCommandInput
139154
| ListTagsForResourceCommandInput
140155
| ListVirtualClustersCommandInput
141156
| StartJobRunCommandInput
@@ -149,18 +164,21 @@ export type ServiceOutputTypes =
149164
| CancelJobRunCommandOutput
150165
| CreateJobTemplateCommandOutput
151166
| CreateManagedEndpointCommandOutput
167+
| CreateSecurityConfigurationCommandOutput
152168
| CreateVirtualClusterCommandOutput
153169
| DeleteJobTemplateCommandOutput
154170
| DeleteManagedEndpointCommandOutput
155171
| DeleteVirtualClusterCommandOutput
156172
| DescribeJobRunCommandOutput
157173
| DescribeJobTemplateCommandOutput
158174
| DescribeManagedEndpointCommandOutput
175+
| DescribeSecurityConfigurationCommandOutput
159176
| DescribeVirtualClusterCommandOutput
160177
| GetManagedEndpointSessionCredentialsCommandOutput
161178
| ListJobRunsCommandOutput
162179
| ListJobTemplatesCommandOutput
163180
| ListManagedEndpointsCommandOutput
181+
| ListSecurityConfigurationsCommandOutput
164182
| ListTagsForResourceCommandOutput
165183
| ListVirtualClustersCommandOutput
166184
| StartJobRunCommandOutput
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { EMRContainersClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRContainersClient";
8+
import { commonParams } from "../endpoint/EndpointParameters";
9+
import { CreateSecurityConfigurationRequest, CreateSecurityConfigurationResponse } from "../models/models_0";
10+
import {
11+
de_CreateSecurityConfigurationCommand,
12+
se_CreateSecurityConfigurationCommand,
13+
} from "../protocols/Aws_restJson1";
14+
15+
/**
16+
* @public
17+
*/
18+
export { __MetadataBearer, $Command };
19+
/**
20+
* @public
21+
*
22+
* The input for {@link CreateSecurityConfigurationCommand}.
23+
*/
24+
export interface CreateSecurityConfigurationCommandInput extends CreateSecurityConfigurationRequest {}
25+
/**
26+
* @public
27+
*
28+
* The output of {@link CreateSecurityConfigurationCommand}.
29+
*/
30+
export interface CreateSecurityConfigurationCommandOutput
31+
extends CreateSecurityConfigurationResponse,
32+
__MetadataBearer {}
33+
34+
/**
35+
* <p>Creates a security configuration. Security configurations in Amazon EMR on EKS are
36+
* templates for different security setups. You can use security configurations to configure
37+
* the Lake Formation integration setup. You can also create a security configuration
38+
* to re-use a security setup each time you create a virtual cluster.</p>
39+
* @example
40+
* Use a bare-bones client and the command you need to make an API call.
41+
* ```javascript
42+
* import { EMRContainersClient, CreateSecurityConfigurationCommand } from "@aws-sdk/client-emr-containers"; // ES Modules import
43+
* // const { EMRContainersClient, CreateSecurityConfigurationCommand } = require("@aws-sdk/client-emr-containers"); // CommonJS import
44+
* const client = new EMRContainersClient(config);
45+
* const input = { // CreateSecurityConfigurationRequest
46+
* clientToken: "STRING_VALUE", // required
47+
* name: "STRING_VALUE", // required
48+
* securityConfigurationData: { // SecurityConfigurationData
49+
* authorizationConfiguration: { // AuthorizationConfiguration
50+
* lakeFormationConfiguration: { // LakeFormationConfiguration
51+
* authorizedSessionTagValue: "STRING_VALUE",
52+
* secureNamespaceInfo: { // SecureNamespaceInfo
53+
* clusterId: "STRING_VALUE",
54+
* namespace: "STRING_VALUE",
55+
* },
56+
* queryEngineRoleArn: "STRING_VALUE",
57+
* },
58+
* encryptionConfiguration: { // EncryptionConfiguration
59+
* inTransitEncryptionConfiguration: { // InTransitEncryptionConfiguration
60+
* tlsCertificateConfiguration: { // TLSCertificateConfiguration
61+
* certificateProviderType: "PEM",
62+
* publicCertificateSecretArn: "STRING_VALUE",
63+
* privateCertificateSecretArn: "STRING_VALUE",
64+
* },
65+
* },
66+
* },
67+
* },
68+
* },
69+
* tags: { // TagMap
70+
* "<keys>": "STRING_VALUE",
71+
* },
72+
* };
73+
* const command = new CreateSecurityConfigurationCommand(input);
74+
* const response = await client.send(command);
75+
* // { // CreateSecurityConfigurationResponse
76+
* // id: "STRING_VALUE",
77+
* // name: "STRING_VALUE",
78+
* // arn: "STRING_VALUE",
79+
* // };
80+
*
81+
* ```
82+
*
83+
* @param CreateSecurityConfigurationCommandInput - {@link CreateSecurityConfigurationCommandInput}
84+
* @returns {@link CreateSecurityConfigurationCommandOutput}
85+
* @see {@link CreateSecurityConfigurationCommandInput} for command's `input` shape.
86+
* @see {@link CreateSecurityConfigurationCommandOutput} for command's `response` shape.
87+
* @see {@link EMRContainersClientResolvedConfig | config} for EMRContainersClient's `config` shape.
88+
*
89+
* @throws {@link InternalServerException} (server fault)
90+
* <p>This is an internal server exception.</p>
91+
*
92+
* @throws {@link ValidationException} (client fault)
93+
* <p>There are invalid parameters in the client request.</p>
94+
*
95+
* @throws {@link EMRContainersServiceException}
96+
* <p>Base exception class for all service exceptions from EMRContainers service.</p>
97+
*
98+
* @public
99+
*/
100+
export class CreateSecurityConfigurationCommand extends $Command
101+
.classBuilder<
102+
CreateSecurityConfigurationCommandInput,
103+
CreateSecurityConfigurationCommandOutput,
104+
EMRContainersClientResolvedConfig,
105+
ServiceInputTypes,
106+
ServiceOutputTypes
107+
>()
108+
.ep({
109+
...commonParams,
110+
})
111+
.m(function (this: any, Command: any, cs: any, config: EMRContainersClientResolvedConfig, o: any) {
112+
return [
113+
getSerdePlugin(config, this.serialize, this.deserialize),
114+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
115+
];
116+
})
117+
.s("AwsChicagoWebService", "CreateSecurityConfiguration", {})
118+
.n("EMRContainersClient", "CreateSecurityConfigurationCommand")
119+
.f(void 0, void 0)
120+
.ser(se_CreateSecurityConfigurationCommand)
121+
.de(de_CreateSecurityConfigurationCommand)
122+
.build() {}

clients/client-emr-containers/src/commands/CreateVirtualClusterCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export interface CreateVirtualClusterCommandOutput extends CreateVirtualClusterR
5252
* tags: { // TagMap
5353
* "<keys>": "STRING_VALUE",
5454
* },
55+
* securityConfigurationId: "STRING_VALUE",
5556
* };
5657
* const command = new CreateVirtualClusterCommand(input);
5758
* const response = await client.send(command);

0 commit comments

Comments
 (0)