Skip to content

Commit 53b4ad0

Browse files
This release adds the capability to enable IAM IdentityCenter Trusted Identity Propagation for users running Interactive Sessions on EMR Serverless Applications.
1 parent 7691ea5 commit 53b4ad0

14 files changed

+500
-3
lines changed

generator/ServiceModels/emr-serverless/emr-serverless-2021-07-13.api.json

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,8 @@
296296
"runtimeConfiguration":{"shape":"ConfigurationList"},
297297
"monitoringConfiguration":{"shape":"MonitoringConfiguration"},
298298
"interactiveConfiguration":{"shape":"InteractiveConfiguration"},
299-
"schedulerConfiguration":{"shape":"SchedulerConfiguration"}
299+
"schedulerConfiguration":{"shape":"SchedulerConfiguration"},
300+
"identityCenterConfiguration":{"shape":"IdentityCenterConfiguration"}
300301
}
301302
},
302303
"ApplicationArn":{
@@ -535,7 +536,8 @@
535536
"runtimeConfiguration":{"shape":"ConfigurationList"},
536537
"monitoringConfiguration":{"shape":"MonitoringConfiguration"},
537538
"interactiveConfiguration":{"shape":"InteractiveConfiguration"},
538-
"schedulerConfiguration":{"shape":"SchedulerConfiguration"}
539+
"schedulerConfiguration":{"shape":"SchedulerConfiguration"},
540+
"identityCenterConfiguration":{"shape":"IdentityCenterConfigurationInput"}
539541
}
540542
},
541543
"CreateApplicationResponse":{
@@ -722,6 +724,29 @@
722724
"min":20,
723725
"pattern":"arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)"
724726
},
727+
"IdentityCenterApplicationArn":{
728+
"type":"string",
729+
"pattern":"arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}"
730+
},
731+
"IdentityCenterConfiguration":{
732+
"type":"structure",
733+
"members":{
734+
"identityCenterInstanceArn":{"shape":"IdentityCenterInstanceArn"},
735+
"identityCenterApplicationArn":{"shape":"IdentityCenterApplicationArn"}
736+
}
737+
},
738+
"IdentityCenterConfigurationInput":{
739+
"type":"structure",
740+
"members":{
741+
"identityCenterInstanceArn":{"shape":"IdentityCenterInstanceArn"}
742+
}
743+
},
744+
"IdentityCenterInstanceArn":{
745+
"type":"string",
746+
"max":1024,
747+
"min":10,
748+
"pattern":"arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}"
749+
},
725750
"ImageConfiguration":{
726751
"type":"structure",
727752
"required":["imageUri"],
@@ -1550,7 +1575,8 @@
15501575
"releaseLabel":{"shape":"ReleaseLabel"},
15511576
"runtimeConfiguration":{"shape":"ConfigurationList"},
15521577
"monitoringConfiguration":{"shape":"MonitoringConfiguration"},
1553-
"schedulerConfiguration":{"shape":"SchedulerConfiguration"}
1578+
"schedulerConfiguration":{"shape":"SchedulerConfiguration"},
1579+
"identityCenterConfiguration":{"shape":"IdentityCenterConfigurationInput"}
15541580
}
15551581
},
15561582
"UpdateApplicationResponse":{

generator/ServiceModels/emr-serverless/emr-serverless-2021-07-13.docs.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,32 @@
385385
"StartJobRunRequest$executionRoleArn": "<p>The execution role ARN for the job run.</p>"
386386
}
387387
},
388+
"IdentityCenterApplicationArn": {
389+
"base": null,
390+
"refs": {
391+
"IdentityCenterConfiguration$identityCenterApplicationArn": "<p>The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.</p>"
392+
}
393+
},
394+
"IdentityCenterConfiguration": {
395+
"base": "<p>The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.</p>",
396+
"refs": {
397+
"Application$identityCenterConfiguration": "<p>The IAM Identity Center configuration applied to enable trusted identity propagation. </p>"
398+
}
399+
},
400+
"IdentityCenterConfigurationInput": {
401+
"base": "<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>",
402+
"refs": {
403+
"CreateApplicationRequest$identityCenterConfiguration": "<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>",
404+
"UpdateApplicationRequest$identityCenterConfiguration": "<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>"
405+
}
406+
},
407+
"IdentityCenterInstanceArn": {
408+
"base": null,
409+
"refs": {
410+
"IdentityCenterConfiguration$identityCenterInstanceArn": "<p>The ARN of the IAM Identity Center instance.</p>",
411+
"IdentityCenterConfigurationInput$identityCenterInstanceArn": "<p>The ARN of the IAM Identity Center instance.</p>"
412+
}
413+
},
388414
"ImageConfiguration": {
389415
"base": "<p>The applied image configuration.</p>",
390416
"refs": {

generator/ServiceModels/emr-serverless/emr-serverless-2021-07-13.normal.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,10 @@
375375
"schedulerConfiguration":{
376376
"shape":"SchedulerConfiguration",
377377
"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>"
378+
},
379+
"identityCenterConfiguration":{
380+
"shape":"IdentityCenterConfiguration",
381+
"documentation":"<p>The IAM Identity Center configuration applied to enable trusted identity propagation. </p>"
378382
}
379383
},
380384
"documentation":"<p>Information about an application. Amazon EMR Serverless uses applications to run jobs.</p>"
@@ -749,6 +753,10 @@
749753
"schedulerConfiguration":{
750754
"shape":"SchedulerConfiguration",
751755
"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>"
756+
},
757+
"identityCenterConfiguration":{
758+
"shape":"IdentityCenterConfigurationInput",
759+
"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>"
752760
}
753761
}
754762
},
@@ -973,6 +981,40 @@
973981
"min":20,
974982
"pattern":"arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)"
975983
},
984+
"IdentityCenterApplicationArn":{
985+
"type":"string",
986+
"pattern":"arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}"
987+
},
988+
"IdentityCenterConfiguration":{
989+
"type":"structure",
990+
"members":{
991+
"identityCenterInstanceArn":{
992+
"shape":"IdentityCenterInstanceArn",
993+
"documentation":"<p>The ARN of the IAM Identity Center instance.</p>"
994+
},
995+
"identityCenterApplicationArn":{
996+
"shape":"IdentityCenterApplicationArn",
997+
"documentation":"<p>The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.</p>"
998+
}
999+
},
1000+
"documentation":"<p>The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.</p>"
1001+
},
1002+
"IdentityCenterConfigurationInput":{
1003+
"type":"structure",
1004+
"members":{
1005+
"identityCenterInstanceArn":{
1006+
"shape":"IdentityCenterInstanceArn",
1007+
"documentation":"<p>The ARN of the IAM Identity Center instance.</p>"
1008+
}
1009+
},
1010+
"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>"
1011+
},
1012+
"IdentityCenterInstanceArn":{
1013+
"type":"string",
1014+
"max":1024,
1015+
"min":10,
1016+
"pattern":"arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}"
1017+
},
9761018
"ImageConfiguration":{
9771019
"type":"structure",
9781020
"required":["imageUri"],
@@ -2226,6 +2268,10 @@
22262268
"schedulerConfiguration":{
22272269
"shape":"SchedulerConfiguration",
22282270
"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>"
2271+
},
2272+
"identityCenterConfiguration":{
2273+
"shape":"IdentityCenterConfigurationInput",
2274+
"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>"
22292275
}
22302276
}
22312277
},

sdk/code-analysis/ServiceAnalysis/EMRServerless/Generated/PropertyValueRules.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,22 @@
395395
<max>10280</max>
396396
<pattern>.*\S.*</pattern>
397397
</property-value-rule>
398+
<property-value-rule>
399+
<property>Amazon.EMRServerless.Model.IdentityCenterConfiguration.IdentityCenterApplicationArn</property>
400+
<pattern>arn:(aws[a-zA-Z0-9-]*):sso::\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}</pattern>
401+
</property-value-rule>
402+
<property-value-rule>
403+
<property>Amazon.EMRServerless.Model.IdentityCenterConfiguration.IdentityCenterInstanceArn</property>
404+
<min>10</min>
405+
<max>1024</max>
406+
<pattern>arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}</pattern>
407+
</property-value-rule>
408+
<property-value-rule>
409+
<property>Amazon.EMRServerless.Model.IdentityCenterConfigurationInput.IdentityCenterInstanceArn</property>
410+
<min>10</min>
411+
<max>1024</max>
412+
<pattern>arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}</pattern>
413+
</property-value-rule>
398414
<property-value-rule>
399415
<property>Amazon.EMRServerless.Model.ImageConfiguration.ImageUri</property>
400416
<min>1</min>

sdk/src/Services/EMRServerless/Generated/Model/Application.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public partial class Application
4040
private AutoStartConfig _autoStartConfiguration;
4141
private AutoStopConfig _autoStopConfiguration;
4242
private DateTime? _createdAt;
43+
private IdentityCenterConfiguration _identityCenterConfiguration;
4344
private ImageConfiguration _imageConfiguration;
4445
private Dictionary<string, InitialCapacityConfig> _initialCapacity = AWSConfigs.InitializeCollections ? new Dictionary<string, InitialCapacityConfig>() : null;
4546
private InteractiveConfiguration _interactiveConfiguration;
@@ -169,6 +170,25 @@ internal bool IsSetCreatedAt()
169170
return this._createdAt.HasValue;
170171
}
171172

173+
/// <summary>
174+
/// Gets and sets the property IdentityCenterConfiguration.
175+
/// <para>
176+
/// The IAM Identity Center configuration applied to enable trusted identity propagation.
177+
///
178+
/// </para>
179+
/// </summary>
180+
public IdentityCenterConfiguration IdentityCenterConfiguration
181+
{
182+
get { return this._identityCenterConfiguration; }
183+
set { this._identityCenterConfiguration = value; }
184+
}
185+
186+
// Check to see if IdentityCenterConfiguration property is set
187+
internal bool IsSetIdentityCenterConfiguration()
188+
{
189+
return this._identityCenterConfiguration != null;
190+
}
191+
172192
/// <summary>
173193
/// Gets and sets the property ImageConfiguration.
174194
/// <para>

sdk/src/Services/EMRServerless/Generated/Model/CreateApplicationRequest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public partial class CreateApplicationRequest : AmazonEMRServerlessRequest
3939
private AutoStartConfig _autoStartConfiguration;
4040
private AutoStopConfig _autoStopConfiguration;
4141
private string _clientToken;
42+
private IdentityCenterConfigurationInput _identityCenterConfiguration;
4243
private ImageConfigurationInput _imageConfiguration;
4344
private Dictionary<string, InitialCapacityConfig> _initialCapacity = AWSConfigs.InitializeCollections ? new Dictionary<string, InitialCapacityConfig>() : null;
4445
private InteractiveConfiguration _interactiveConfiguration;
@@ -128,6 +129,26 @@ internal bool IsSetClientToken()
128129
return this._clientToken != null;
129130
}
130131

132+
/// <summary>
133+
/// Gets and sets the property IdentityCenterConfiguration.
134+
/// <para>
135+
/// The IAM Identity Center Configuration accepts the Identity Center instance parameter
136+
/// required to enable trusted identity propagation. This configuration allows identity
137+
/// propagation between integrated services and the Identity Center instance.
138+
/// </para>
139+
/// </summary>
140+
public IdentityCenterConfigurationInput IdentityCenterConfiguration
141+
{
142+
get { return this._identityCenterConfiguration; }
143+
set { this._identityCenterConfiguration = value; }
144+
}
145+
146+
// Check to see if IdentityCenterConfiguration property is set
147+
internal bool IsSetIdentityCenterConfiguration()
148+
{
149+
return this._identityCenterConfiguration != null;
150+
}
151+
131152
/// <summary>
132153
/// Gets and sets the property ImageConfiguration.
133154
/// <para>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the emr-serverless-2021-07-13.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.EMRServerless.Model
31+
{
32+
/// <summary>
33+
/// The IAM Identity Center Configuration that includes the Identify Center instance and
34+
/// application ARNs that provide trusted-identity propagation.
35+
/// </summary>
36+
public partial class IdentityCenterConfiguration
37+
{
38+
private string _identityCenterApplicationArn;
39+
private string _identityCenterInstanceArn;
40+
41+
/// <summary>
42+
/// Gets and sets the property IdentityCenterApplicationArn.
43+
/// <para>
44+
/// The ARN of the EMR Serverless created IAM Identity Center Application that provides
45+
/// trusted-identity propagation.
46+
/// </para>
47+
/// </summary>
48+
public string IdentityCenterApplicationArn
49+
{
50+
get { return this._identityCenterApplicationArn; }
51+
set { this._identityCenterApplicationArn = value; }
52+
}
53+
54+
// Check to see if IdentityCenterApplicationArn property is set
55+
internal bool IsSetIdentityCenterApplicationArn()
56+
{
57+
return this._identityCenterApplicationArn != null;
58+
}
59+
60+
/// <summary>
61+
/// Gets and sets the property IdentityCenterInstanceArn.
62+
/// <para>
63+
/// The ARN of the IAM Identity Center instance.
64+
/// </para>
65+
/// </summary>
66+
[AWSProperty(Min=10, Max=1024)]
67+
public string IdentityCenterInstanceArn
68+
{
69+
get { return this._identityCenterInstanceArn; }
70+
set { this._identityCenterInstanceArn = value; }
71+
}
72+
73+
// Check to see if IdentityCenterInstanceArn property is set
74+
internal bool IsSetIdentityCenterInstanceArn()
75+
{
76+
return this._identityCenterInstanceArn != null;
77+
}
78+
79+
}
80+
}

0 commit comments

Comments
 (0)