Skip to content

Commit 60a7e91

Browse files
author
awstools
committed
feat(client-emr-serverless): This release adds the capability to enable IAM IdentityCenter Trusted Identity Propagation for users running Interactive Sessions on EMR Serverless Applications.
1 parent 49f6cc2 commit 60a7e91

File tree

6 files changed

+138
-0
lines changed

6 files changed

+138
-0
lines changed

clients/client-emr-serverless/src/commands/CreateApplicationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@ export interface CreateApplicationCommandOutput extends CreateApplicationRespons
138138
* queueTimeoutMinutes: Number("int"),
139139
* maxConcurrentRuns: Number("int"),
140140
* },
141+
* identityCenterConfiguration: { // IdentityCenterConfigurationInput
142+
* identityCenterInstanceArn: "STRING_VALUE",
143+
* },
141144
* };
142145
* const command = new CreateApplicationCommand(input);
143146
* const response = await client.send(command);

clients/client-emr-serverless/src/commands/GetApplicationCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ export interface GetApplicationCommandOutput extends GetApplicationResponse, __M
151151
* // queueTimeoutMinutes: Number("int"),
152152
* // maxConcurrentRuns: Number("int"),
153153
* // },
154+
* // identityCenterConfiguration: { // IdentityCenterConfiguration
155+
* // identityCenterInstanceArn: "STRING_VALUE",
156+
* // identityCenterApplicationArn: "STRING_VALUE",
157+
* // },
154158
* // },
155159
* // };
156160
*

clients/client-emr-serverless/src/commands/UpdateApplicationCommand.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationRespons
135135
* queueTimeoutMinutes: Number("int"),
136136
* maxConcurrentRuns: Number("int"),
137137
* },
138+
* identityCenterConfiguration: { // IdentityCenterConfigurationInput
139+
* identityCenterInstanceArn: "STRING_VALUE",
140+
* },
138141
* };
139142
* const command = new UpdateApplicationCommand(input);
140143
* const response = await client.send(command);
@@ -245,6 +248,10 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationRespons
245248
* // queueTimeoutMinutes: Number("int"),
246249
* // maxConcurrentRuns: Number("int"),
247250
* // },
251+
* // identityCenterConfiguration: { // IdentityCenterConfiguration
252+
* // identityCenterInstanceArn: "STRING_VALUE",
253+
* // identityCenterApplicationArn: "STRING_VALUE",
254+
* // },
248255
* // },
249256
* // };
250257
*

clients/client-emr-serverless/src/models/models_0.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,24 @@ export interface AutoStopConfig {
4747
idleTimeoutMinutes?: number | undefined;
4848
}
4949

50+
/**
51+
* <p>The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.</p>
52+
* @public
53+
*/
54+
export interface IdentityCenterConfiguration {
55+
/**
56+
* <p>The ARN of the IAM Identity Center instance.</p>
57+
* @public
58+
*/
59+
identityCenterInstanceArn?: string | undefined;
60+
61+
/**
62+
* <p>The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.</p>
63+
* @public
64+
*/
65+
identityCenterApplicationArn?: string | undefined;
66+
}
67+
5068
/**
5169
* <p>The applied image configuration.</p>
5270
* @public
@@ -422,6 +440,18 @@ export class ConflictException extends __BaseException {
422440
}
423441
}
424442

443+
/**
444+
* <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
445+
* @public
446+
*/
447+
export interface IdentityCenterConfigurationInput {
448+
/**
449+
* <p>The ARN of the IAM Identity Center instance.</p>
450+
* @public
451+
*/
452+
identityCenterInstanceArn?: string | undefined;
453+
}
454+
425455
/**
426456
* <p>The image configuration.</p>
427457
* @public
@@ -1527,6 +1557,12 @@ export interface Application {
15271557
* @public
15281558
*/
15291559
schedulerConfiguration?: SchedulerConfiguration | undefined;
1560+
1561+
/**
1562+
* <p>The IAM Identity Center configuration applied to enable trusted identity propagation. </p>
1563+
* @public
1564+
*/
1565+
identityCenterConfiguration?: IdentityCenterConfiguration | undefined;
15301566
}
15311567

15321568
/**
@@ -1652,6 +1688,12 @@ export interface CreateApplicationRequest {
16521688
* @public
16531689
*/
16541690
schedulerConfiguration?: SchedulerConfiguration | undefined;
1691+
1692+
/**
1693+
* <p>The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.</p>
1694+
* @public
1695+
*/
1696+
identityCenterConfiguration?: IdentityCenterConfigurationInput | undefined;
16551697
}
16561698

16571699
/**
@@ -1747,6 +1789,12 @@ export interface UpdateApplicationRequest {
17471789
* @public
17481790
*/
17491791
schedulerConfiguration?: SchedulerConfiguration | undefined;
1792+
1793+
/**
1794+
* <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
1795+
* @public
1796+
*/
1797+
identityCenterConfiguration?: IdentityCenterConfigurationInput | undefined;
17501798
}
17511799

17521800
/**

clients/client-emr-serverless/src/protocols/Aws_restJson1.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import {
6666
ConfigurationOverrides,
6767
ConflictException,
6868
Hive,
69+
IdentityCenterConfigurationInput,
6970
ImageConfigurationInput,
7071
InitialCapacityConfig,
7172
InteractiveConfiguration,
@@ -132,6 +133,7 @@ export const se_CreateApplicationCommand = async (
132133
autoStartConfiguration: (_) => _json(_),
133134
autoStopConfiguration: (_) => _json(_),
134135
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
136+
identityCenterConfiguration: (_) => _json(_),
135137
imageConfiguration: (_) => _json(_),
136138
initialCapacity: (_) => _json(_),
137139
interactiveConfiguration: (_) => _json(_),
@@ -431,6 +433,7 @@ export const se_UpdateApplicationCommand = async (
431433
autoStartConfiguration: (_) => _json(_),
432434
autoStopConfiguration: (_) => _json(_),
433435
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
436+
identityCenterConfiguration: (_) => _json(_),
434437
imageConfiguration: (_) => _json(_),
435438
initialCapacity: (_) => _json(_),
436439
interactiveConfiguration: (_) => _json(_),
@@ -943,6 +946,8 @@ const se_ConfigurationOverrides = (input: ConfigurationOverrides, context: __Ser
943946

944947
// se_Hive omitted.
945948

949+
// se_IdentityCenterConfigurationInput omitted.
950+
946951
// se_ImageConfigurationInput omitted.
947952

948953
// se_InitialCapacityConfig omitted.
@@ -1004,6 +1009,7 @@ const de_Application = (output: any, context: __SerdeContext): Application => {
10041009
autoStartConfiguration: _json,
10051010
autoStopConfiguration: _json,
10061011
createdAt: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1012+
identityCenterConfiguration: _json,
10071013
imageConfiguration: _json,
10081014
initialCapacity: _json,
10091015
interactiveConfiguration: _json,
@@ -1096,6 +1102,8 @@ const de_ConfigurationOverrides = (output: any, context: __SerdeContext): Config
10961102

10971103
// de_Hive omitted.
10981104

1105+
// de_IdentityCenterConfiguration omitted.
1106+
10991107
// de_ImageConfiguration omitted.
11001108

11011109
// de_InitialCapacityConfig omitted.

codegen/sdk-codegen/aws-models/emr-serverless.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,12 @@
140140
"traits": {
141141
"smithy.api#documentation": "<p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>"
142142
}
143+
},
144+
"identityCenterConfiguration": {
145+
"target": "com.amazonaws.emrserverless#IdentityCenterConfiguration",
146+
"traits": {
147+
"smithy.api#documentation": "<p>The IAM Identity Center configuration applied to enable trusted identity propagation. </p>"
148+
}
143149
}
144150
},
145151
"traits": {
@@ -1519,6 +1525,12 @@
15191525
"traits": {
15201526
"smithy.api#documentation": "<p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>"
15211527
}
1528+
},
1529+
"identityCenterConfiguration": {
1530+
"target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput",
1531+
"traits": {
1532+
"smithy.api#documentation": "<p>The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.</p>"
1533+
}
15221534
}
15231535
}
15241536
},
@@ -1926,6 +1938,56 @@
19261938
"smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$"
19271939
}
19281940
},
1941+
"com.amazonaws.emrserverless#IdentityCenterApplicationArn": {
1942+
"type": "string",
1943+
"traits": {
1944+
"smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$"
1945+
}
1946+
},
1947+
"com.amazonaws.emrserverless#IdentityCenterConfiguration": {
1948+
"type": "structure",
1949+
"members": {
1950+
"identityCenterInstanceArn": {
1951+
"target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn",
1952+
"traits": {
1953+
"smithy.api#documentation": "<p>The ARN of the IAM Identity Center instance.</p>"
1954+
}
1955+
},
1956+
"identityCenterApplicationArn": {
1957+
"target": "com.amazonaws.emrserverless#IdentityCenterApplicationArn",
1958+
"traits": {
1959+
"smithy.api#documentation": "<p>The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.</p>"
1960+
}
1961+
}
1962+
},
1963+
"traits": {
1964+
"smithy.api#documentation": "<p>The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.</p>"
1965+
}
1966+
},
1967+
"com.amazonaws.emrserverless#IdentityCenterConfigurationInput": {
1968+
"type": "structure",
1969+
"members": {
1970+
"identityCenterInstanceArn": {
1971+
"target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn",
1972+
"traits": {
1973+
"smithy.api#documentation": "<p>The ARN of the IAM Identity Center instance.</p>"
1974+
}
1975+
}
1976+
},
1977+
"traits": {
1978+
"smithy.api#documentation": "<p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>"
1979+
}
1980+
},
1981+
"com.amazonaws.emrserverless#IdentityCenterInstanceArn": {
1982+
"type": "string",
1983+
"traits": {
1984+
"smithy.api#length": {
1985+
"min": 10,
1986+
"max": 1024
1987+
},
1988+
"smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$"
1989+
}
1990+
},
19291991
"com.amazonaws.emrserverless#ImageConfiguration": {
19301992
"type": "structure",
19311993
"members": {
@@ -4030,6 +4092,12 @@
40304092
"traits": {
40314093
"smithy.api#documentation": "<p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>"
40324094
}
4095+
},
4096+
"identityCenterConfiguration": {
4097+
"target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput",
4098+
"traits": {
4099+
"smithy.api#documentation": "<p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>"
4100+
}
40334101
}
40344102
}
40354103
},

0 commit comments

Comments
 (0)