Skip to content

Commit bae6c59

Browse files
author
awstools
committed
feat(client-nimble): Amazon Nimble Studio adds support for IAM-based access to AWS resources for Nimble Studio components and custom studio components. Studio Component scripts use these roles on Nimble Studio workstation to mount filesystems, access S3 buckets, or other configured resources in the Studio's AWS account
1 parent a22c328 commit bae6c59

File tree

5 files changed

+258
-149
lines changed

5 files changed

+258
-149
lines changed

clients/client-nimble/src/Nimble.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1192,7 +1192,7 @@ export class Nimble extends NimbleClient {
11921192
}
11931193

11941194
/**
1195-
* <p>Lists the streaming image resources in a studio.</p>
1195+
* <p>Lists the streaming sessions in a studio.</p>
11961196
*/
11971197
public listStreamingSessions(
11981198
args: ListStreamingSessionsCommandInput,

clients/client-nimble/src/commands/ListStreamingSessionsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export interface ListStreamingSessionsCommandInput extends ListStreamingSessions
2323
export interface ListStreamingSessionsCommandOutput extends ListStreamingSessionsResponse, __MetadataBearer {}
2424

2525
/**
26-
* <p>Lists the streaming image resources in a studio.</p>
26+
* <p>Lists the streaming sessions in a studio.</p>
2727
* @example
2828
* Use a bare-bones client and the command you need to make an API call.
2929
* ```javascript

clients/client-nimble/src/models/models_0.ts

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -500,12 +500,12 @@ export interface StreamConfigurationCreate {
500500
* <p>If the value is missing or set to 0, your sessions can’t be stopped. If you then call
501501
* <code>StopStreamingSession</code>, the session fails. If the time that a session
502502
* stays in the READY state exceeds the <code>maxSessionLengthInMinutes</code> value, the
503-
* session will automatically be terminated by AWS (instead of stopped).</p>
503+
* session will automatically be terminated (instead of stopped).</p>
504504
* <p>If the value is set to a positive number, the session can be stopped. You can call
505505
* <code>StopStreamingSession</code> to stop sessions in the READY state. If the time
506506
* that a session stays in the READY state exceeds the
507507
* <code>maxSessionLengthInMinutes</code> value, the session will automatically be
508-
* stopped by AWS (instead of terminated).</p>
508+
* stopped (instead of terminated).</p>
509509
*/
510510
maxStoppedSessionLengthInMinutes?: number;
511511

@@ -658,12 +658,12 @@ export interface StreamConfiguration {
658658
* <p>If the value is missing or set to 0, your sessions can’t be stopped. If you then call
659659
* <code>StopStreamingSession</code>, the session fails. If the time that a session
660660
* stays in the READY state exceeds the <code>maxSessionLengthInMinutes</code> value, the
661-
* session will automatically be terminated by AWS (instead of stopped).</p>
661+
* session will automatically be terminated (instead of stopped).</p>
662662
* <p>If the value is set to a positive number, the session can be stopped. You can call
663663
* <code>StopStreamingSession</code> to stop sessions in the READY state. If the time
664664
* that a session stays in the READY state exceeds the
665665
* <code>maxSessionLengthInMinutes</code> value, the session will automatically be
666-
* stopped by AWS (instead of terminated).</p>
666+
* stopped (instead of terminated).</p>
667667
*/
668668
maxStoppedSessionLengthInMinutes?: number;
669669

@@ -1932,6 +1932,16 @@ export interface CreateStudioComponentRequest {
19321932
* <p>The type of the studio component.</p>
19331933
*/
19341934
type: StudioComponentType | string | undefined;
1935+
1936+
/**
1937+
* <p>An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs.</p>
1938+
*/
1939+
secureInitializationRoleArn?: string;
1940+
1941+
/**
1942+
* <p>An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. </p>
1943+
*/
1944+
runtimeRoleArn?: string;
19351945
}
19361946

19371947
export namespace CreateStudioComponentRequest {
@@ -2078,6 +2088,16 @@ export interface StudioComponent {
20782088
* <p>The user ID of the user that most recently updated the resource.</p>
20792089
*/
20802090
updatedBy?: string;
2091+
2092+
/**
2093+
* <p>An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs.</p>
2094+
*/
2095+
secureInitializationRoleArn?: string;
2096+
2097+
/**
2098+
* <p>An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. </p>
2099+
*/
2100+
runtimeRoleArn?: string;
20812101
}
20822102

20832103
export namespace StudioComponent {
@@ -2840,6 +2860,16 @@ export interface LaunchProfileInitializationScript {
28402860
* <p>The name for the studio component.</p>
28412861
*/
28422862
studioComponentName?: string;
2863+
2864+
/**
2865+
* <p>An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs.</p>
2866+
*/
2867+
secureInitializationRoleArn?: string;
2868+
2869+
/**
2870+
* <p>An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. </p>
2871+
*/
2872+
runtimeRoleArn?: string;
28432873
}
28442874

28452875
export namespace LaunchProfileInitializationScript {
@@ -4163,6 +4193,16 @@ export interface UpdateStudioComponentRequest {
41634193
* <p>The type of the studio component.</p>
41644194
*/
41654195
type?: StudioComponentType | string;
4196+
4197+
/**
4198+
* <p>An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs.</p>
4199+
*/
4200+
secureInitializationRoleArn?: string;
4201+
4202+
/**
4203+
* <p>An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. </p>
4204+
*/
4205+
runtimeRoleArn?: string;
41664206
}
41674207

41684208
export namespace UpdateStudioComponentRequest {

clients/client-nimble/src/protocols/Aws_restJson1.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,12 +479,16 @@ export const serializeAws_restJson1CreateStudioComponentCommand = async (
479479
),
480480
}),
481481
...(input.name != null && { name: input.name }),
482+
...(input.runtimeRoleArn != null && { runtimeRoleArn: input.runtimeRoleArn }),
482483
...(input.scriptParameters != null && {
483484
scriptParameters: serializeAws_restJson1StudioComponentScriptParameterKeyValueList(
484485
input.scriptParameters,
485486
context
486487
),
487488
}),
489+
...(input.secureInitializationRoleArn != null && {
490+
secureInitializationRoleArn: input.secureInitializationRoleArn,
491+
}),
488492
...(input.subtype != null && { subtype: input.subtype }),
489493
...(input.tags != null && { tags: serializeAws_restJson1Tags(input.tags, context) }),
490494
...(input.type != null && { type: input.type }),
@@ -2060,12 +2064,16 @@ export const serializeAws_restJson1UpdateStudioComponentCommand = async (
20602064
),
20612065
}),
20622066
...(input.name != null && { name: input.name }),
2067+
...(input.runtimeRoleArn != null && { runtimeRoleArn: input.runtimeRoleArn }),
20632068
...(input.scriptParameters != null && {
20642069
scriptParameters: serializeAws_restJson1StudioComponentScriptParameterKeyValueList(
20652070
input.scriptParameters,
20662071
context
20672072
),
20682073
}),
2074+
...(input.secureInitializationRoleArn != null && {
2075+
secureInitializationRoleArn: input.secureInitializationRoleArn,
2076+
}),
20692077
...(input.subtype != null && { subtype: input.subtype }),
20702078
...(input.type != null && { type: input.type }),
20712079
});
@@ -5801,7 +5809,9 @@ const deserializeAws_restJson1LaunchProfileInitializationScript = (
58015809
context: __SerdeContext
58025810
): LaunchProfileInitializationScript => {
58035811
return {
5812+
runtimeRoleArn: __expectString(output.runtimeRoleArn),
58045813
script: __expectString(output.script),
5814+
secureInitializationRoleArn: __expectString(output.secureInitializationRoleArn),
58055815
studioComponentId: __expectString(output.studioComponentId),
58065816
studioComponentName: __expectString(output.studioComponentName),
58075817
} as any;
@@ -6151,10 +6161,12 @@ const deserializeAws_restJson1StudioComponent = (output: any, context: __SerdeCo
61516161
? deserializeAws_restJson1StudioComponentInitializationScriptList(output.initializationScripts, context)
61526162
: undefined,
61536163
name: __expectString(output.name),
6164+
runtimeRoleArn: __expectString(output.runtimeRoleArn),
61546165
scriptParameters:
61556166
output.scriptParameters != null
61566167
? deserializeAws_restJson1StudioComponentScriptParameterKeyValueList(output.scriptParameters, context)
61576168
: undefined,
6169+
secureInitializationRoleArn: __expectString(output.secureInitializationRoleArn),
61586170
state: __expectString(output.state),
61596171
statusCode: __expectString(output.statusCode),
61606172
statusMessage: __expectString(output.statusMessage),

0 commit comments

Comments
 (0)