From bae6c592854d1e806e074a214bc833b5cbe4c939 Mon Sep 17 00:00:00 2001
From: awstools Lists the streaming image resources in a studio. Lists the streaming sessions in a studio. Lists the streaming image resources in a studio. Lists the streaming sessions in a studio. If the value is missing or set to 0, your sessions can’t be stopped. If you then call
* StopStreamingSession
, the session fails. If the time that a session
* stays in the READY state exceeds the maxSessionLengthInMinutes
value, the
- * session will automatically be terminated by AWS (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call
* StopStreamingSession
to stop sessions in the READY state. If the time
* that a session stays in the READY state exceeds the
* maxSessionLengthInMinutes
value, the session will automatically be
- * stopped by AWS (instead of terminated).
If the value is missing or set to 0, your sessions can’t be stopped. If you then call
* StopStreamingSession
, the session fails. If the time that a session
* stays in the READY state exceeds the maxSessionLengthInMinutes
value, the
- * session will automatically be terminated by AWS (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call
* StopStreamingSession
to stop sessions in the READY state. If the time
* that a session stays in the READY state exceeds the
* maxSessionLengthInMinutes
value, the session will automatically be
- * stopped by AWS (instead of terminated).
The type of the studio component.
*/ type: StudioComponentType | string | undefined; + + /** + *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.
+ */ + secureInitializationRoleArn?: string; + + /** + *An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
+ */ + runtimeRoleArn?: string; } export namespace CreateStudioComponentRequest { @@ -2078,6 +2088,16 @@ export interface StudioComponent { *The user ID of the user that most recently updated the resource.
*/ updatedBy?: string; + + /** + *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.
+ */ + secureInitializationRoleArn?: string; + + /** + *An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
+ */ + runtimeRoleArn?: string; } export namespace StudioComponent { @@ -2840,6 +2860,16 @@ export interface LaunchProfileInitializationScript { *The name for the studio component.
*/ studioComponentName?: string; + + /** + *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.
+ */ + secureInitializationRoleArn?: string; + + /** + *An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
+ */ + runtimeRoleArn?: string; } export namespace LaunchProfileInitializationScript { @@ -4163,6 +4193,16 @@ export interface UpdateStudioComponentRequest { *The type of the studio component.
*/ type?: StudioComponentType | string; + + /** + *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.
+ */ + secureInitializationRoleArn?: string; + + /** + *An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
+ */ + runtimeRoleArn?: string; } export namespace UpdateStudioComponentRequest { diff --git a/clients/client-nimble/src/protocols/Aws_restJson1.ts b/clients/client-nimble/src/protocols/Aws_restJson1.ts index 37b5468f568d..8a774244c153 100644 --- a/clients/client-nimble/src/protocols/Aws_restJson1.ts +++ b/clients/client-nimble/src/protocols/Aws_restJson1.ts @@ -479,12 +479,16 @@ export const serializeAws_restJson1CreateStudioComponentCommand = async ( ), }), ...(input.name != null && { name: input.name }), + ...(input.runtimeRoleArn != null && { runtimeRoleArn: input.runtimeRoleArn }), ...(input.scriptParameters != null && { scriptParameters: serializeAws_restJson1StudioComponentScriptParameterKeyValueList( input.scriptParameters, context ), }), + ...(input.secureInitializationRoleArn != null && { + secureInitializationRoleArn: input.secureInitializationRoleArn, + }), ...(input.subtype != null && { subtype: input.subtype }), ...(input.tags != null && { tags: serializeAws_restJson1Tags(input.tags, context) }), ...(input.type != null && { type: input.type }), @@ -2060,12 +2064,16 @@ export const serializeAws_restJson1UpdateStudioComponentCommand = async ( ), }), ...(input.name != null && { name: input.name }), + ...(input.runtimeRoleArn != null && { runtimeRoleArn: input.runtimeRoleArn }), ...(input.scriptParameters != null && { scriptParameters: serializeAws_restJson1StudioComponentScriptParameterKeyValueList( input.scriptParameters, context ), }), + ...(input.secureInitializationRoleArn != null && { + secureInitializationRoleArn: input.secureInitializationRoleArn, + }), ...(input.subtype != null && { subtype: input.subtype }), ...(input.type != null && { type: input.type }), }); @@ -5801,7 +5809,9 @@ const deserializeAws_restJson1LaunchProfileInitializationScript = ( context: __SerdeContext ): LaunchProfileInitializationScript => { return { + runtimeRoleArn: __expectString(output.runtimeRoleArn), script: __expectString(output.script), + secureInitializationRoleArn: __expectString(output.secureInitializationRoleArn), studioComponentId: __expectString(output.studioComponentId), studioComponentName: __expectString(output.studioComponentName), } as any; @@ -6151,10 +6161,12 @@ const deserializeAws_restJson1StudioComponent = (output: any, context: __SerdeCo ? deserializeAws_restJson1StudioComponentInitializationScriptList(output.initializationScripts, context) : undefined, name: __expectString(output.name), + runtimeRoleArn: __expectString(output.runtimeRoleArn), scriptParameters: output.scriptParameters != null ? deserializeAws_restJson1StudioComponentScriptParameterKeyValueList(output.scriptParameters, context) : undefined, + secureInitializationRoleArn: __expectString(output.secureInitializationRoleArn), state: __expectString(output.state), statusCode: __expectString(output.statusCode), statusMessage: __expectString(output.statusMessage), diff --git a/codegen/sdk-codegen/aws-models/nimble.json b/codegen/sdk-codegen/aws-models/nimble.json index c926182937f6..5aaa4e2f1609 100644 --- a/codegen/sdk-codegen/aws-models/nimble.json +++ b/codegen/sdk-codegen/aws-models/nimble.json @@ -232,10 +232,9 @@ } }, "endpoint": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#SensitiveString", "traits": { - "smithy.api#documentation": "The endpoint of the ComputeFarm that is accessed by the studio component\n resource.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The endpoint of the ComputeFarm that is accessed by the studio component\n resource.
" } } }, @@ -476,8 +475,7 @@ "description": { "target": "com.amazonaws.nimble#StreamingImageDescription", "traits": { - "smithy.api#documentation": "A human-readable description of the streaming image.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "A human-readable description of the streaming image.
" } }, "ec2ImageId": { @@ -491,8 +489,7 @@ "target": "com.amazonaws.nimble#StreamingImageName", "traits": { "smithy.api#documentation": "A friendly name for a streaming image resource.
", - "smithy.api#required": {}, - "smithy.api#sensitive": {} + "smithy.api#required": {} } }, "studioId": { @@ -822,7 +819,12 @@ "traits": { "aws.iam#actionPermissionDescription": "Grants permission to create a studio component. A studio component designates a network resource to which a launch profile will provide access", "aws.iam#conditionKeys": ["aws:TagKeys", "aws:RequestTag/${TagKey}"], - "aws.iam#requiredActions": ["ec2:DescribeSecurityGroups", "fsx:DescribeFileSystems", "ds:DescribeDirectories"], + "aws.iam#requiredActions": [ + "ec2:DescribeSecurityGroups", + "fsx:DescribeFileSystems", + "ds:DescribeDirectories", + "iam:PassRole" + ], "smithy.api#documentation": "Creates a studio component resource.
", "smithy.api#http": { "method": "POST", @@ -909,6 +911,22 @@ "smithy.api#documentation": "The type of the studio component.
", "smithy.api#required": {} } + }, + "secureInitializationRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "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.
", + "smithy.api#tags": ["studio_component_roles"] + } + }, + "runtimeRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
", + "smithy.api#tags": ["studio_component_roles"] + } } }, "traits": { @@ -934,7 +952,7 @@ "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "smithy.api#documentation": "The IAM role that Studio Admins will assume when logging in to the Nimble Studio\n portal.
", "smithy.api#required": {} @@ -954,8 +972,7 @@ "traits": { "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "A friendly name for the studio.
", - "smithy.api#required": {}, - "smithy.api#sensitive": {} + "smithy.api#required": {} } }, "studioEncryptionConfiguration": { @@ -979,7 +996,7 @@ } }, "userRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "The IAM role that Studio Users will assume when logging in to the Nimble Studio\n portal.
", @@ -1704,10 +1721,7 @@ }, "traits": { "aws.api#arn": { - "template": "eula-acceptance/{eulaAcceptanceId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "eula-acceptance/{eulaAcceptanceId}" }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -1766,10 +1780,7 @@ }, "traits": { "aws.api#arn": { - "template": "eula/{eulaId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "eula/{eulaId}" }, "aws.iam#conditionKeys": ["aws:ResourceTag/${TagKey}", "aws:RequestTag/${TagKey}", "aws:TagKeys"], "aws.iam#disableConditionKeyInference": {}, @@ -1897,6 +1908,8 @@ "smithy.waiters#waitable": { "LaunchProfileReady": { "documentation": "Wait until a LaunchProfile is Ready. Use this after invoking CreateLaunchProfile or UpdateLaunchProfile", + "minDelay": 5, + "maxDelay": 750, "acceptors": [ { "state": "success", @@ -1928,12 +1941,12 @@ } } } - ], - "minDelay": 5, - "maxDelay": 750 + ] }, "LaunchProfileDeleted": { "documentation": "Wait until a LaunchProfile is Deleted. Use this after invoking DeleteLaunchProfile", + "minDelay": 5, + "maxDelay": 750, "acceptors": [ { "state": "success", @@ -1955,9 +1968,7 @@ } } } - ], - "minDelay": 5, - "maxDelay": 750 + ] } } } @@ -2442,6 +2453,8 @@ "smithy.api#readonly": {}, "smithy.waiters#waitable": { "StreamingSessionReady": { + "minDelay": 10, + "maxDelay": 1800, "documentation": "Wait until a StreamingSession is ready. Use this after invoking CreateStreamingSession, StartStreamingSession", "acceptors": [ { @@ -2474,11 +2487,11 @@ } } } - ], - "minDelay": 10, - "maxDelay": 1800 + ] }, "StreamingSessionStopped": { + "minDelay": 5, + "maxDelay": 900, "documentation": "Wait until a StreamingSessionStopped. Use this after invoking StopStreamingSession", "acceptors": [ { @@ -2501,11 +2514,11 @@ } } } - ], - "minDelay": 5, - "maxDelay": 900 + ] }, "StreamingSessionDeleted": { + "minDelay": 5, + "maxDelay": 900, "documentation": "Wait until a StreamingSessionDeleted. Use this after invoking Deletesession", "acceptors": [ { @@ -2528,9 +2541,7 @@ } } } - ], - "minDelay": 5, - "maxDelay": 900 + ] } } } @@ -2610,6 +2621,8 @@ "smithy.api#readonly": {}, "smithy.waiters#waitable": { "StreamingSessionStreamReady": { + "minDelay": 5, + "maxDelay": 150, "documentation": "Wait until a StreamingSessionStream is ready. Use this after invoking CreateStreamingSessionStream", "acceptors": [ { @@ -2632,9 +2645,7 @@ } } } - ], - "minDelay": 5, - "maxDelay": 150 + ] } } } @@ -2860,6 +2871,8 @@ ] }, "StudioComponentDeleted": { + "minDelay": 1, + "maxDelay": 120, "documentation": "Wait until a StudioComponent Deleted. Use this after invoking DeleteStudioComponent", "acceptors": [ { @@ -2882,8 +2895,7 @@ } } } - ], - "minDelay": 1 + ] } } } @@ -3330,6 +3342,20 @@ "traits": { "smithy.api#documentation": "The name for the studio component.
" } + }, + "secureInitializationRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "smithy.api#documentation": "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.
", + "smithy.api#tags": ["studio_component_roles"] + } + }, + "runtimeRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "smithy.api#documentation": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
", + "smithy.api#tags": ["studio_component_roles"] + } } }, "traits": { @@ -3492,14 +3518,11 @@ ], "traits": { "aws.api#arn": { - "template": "launch-profile/{launchProfileId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "launch-profile/{launchProfileId}" }, "aws.cloudformation#cfnResource": { - "additionalSchemas": ["com.amazonaws.nimble#LaunchProfile"], - "name": "LaunchProfile" + "name": "LaunchProfile", + "additionalSchemas": ["com.amazonaws.nimble#LaunchProfile"] }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -3752,10 +3775,9 @@ "type": "structure", "members": { "endpoint": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#SensitiveString", "traits": { - "smithy.api#documentation": "The endpoint of the license service that is accessed by the studio component\n resource.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The endpoint of the license service that is accessed by the studio component\n resource.
" } } }, @@ -3990,8 +4012,8 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "items": "members", - "pageSize": "maxResults" + "pageSize": "maxResults", + "items": "members" }, "smithy.api#readonly": {} } @@ -4091,8 +4113,8 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "items": "launchProfiles", - "pageSize": "maxResults" + "pageSize": "maxResults", + "items": "launchProfiles" }, "smithy.api#readonly": {} } @@ -4280,7 +4302,7 @@ "traits": { "aws.iam#actionPermissionDescription": "Grants permission to list streaming sessions", "aws.iam#conditionKeys": ["nimble:createdBy", "nimble:ownedBy", "nimble:requesterPrincipalId"], - "smithy.api#documentation": "Lists the streaming image resources in a studio.
", + "smithy.api#documentation": "Lists the streaming sessions in a studio.
", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions", @@ -4394,8 +4416,8 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "items": "studioComponents", - "pageSize": "maxResults" + "pageSize": "maxResults", + "items": "studioComponents" }, "smithy.api#readonly": {} } @@ -4500,8 +4522,8 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "items": "members", - "pageSize": "maxResults" + "pageSize": "maxResults", + "items": "members" }, "smithy.api#readonly": {} } @@ -5012,6 +5034,15 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.nimble#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + } + } + }, "com.amazonaws.nimble#ScriptParameterKey": { "type": "string", "traits": { @@ -5056,6 +5087,12 @@ "com.amazonaws.nimble#SecurityGroupId": { "type": "string" }, + "com.amazonaws.nimble#SensitiveString": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.nimble#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -5088,10 +5125,9 @@ "type": "structure", "members": { "endpoint": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#SensitiveString", "traits": { - "smithy.api#documentation": "The endpoint of the shared file system that is accessed by the studio component\n resource.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The endpoint of the shared file system that is accessed by the studio component\n resource.
" } }, "fileSystemId": { @@ -5107,10 +5143,9 @@ } }, "shareName": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#SensitiveString", "traits": { - "smithy.api#documentation": "The name of the file share.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The name of the file share.
" } }, "windowsMountDrive": { @@ -5397,7 +5432,7 @@ "maxStoppedSessionLengthInMinutes": { "target": "com.amazonaws.nimble#StreamConfigurationMaxStoppedSessionLengthInMinutes", "traits": { - "smithy.api#documentation": "Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is 5760.
\nIf the value is missing or set to 0, your sessions can’t be stopped. If you then call\n StopStreamingSession
, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes
value, the\n session will automatically be terminated by AWS (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession
to stop sessions in the READY state. If the time\n that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes
value, the session will automatically be\n stopped by AWS (instead of terminated).
Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is 5760.
\nIf the value is missing or set to 0, your sessions can’t be stopped. If you then call\n StopStreamingSession
, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes
value, the\n session will automatically be terminated (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession
to stop sessions in the READY state. If the time\n that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes
value, the session will automatically be\n stopped (instead of terminated).
Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is 5760.
\nIf the value is missing or set to 0, your sessions can’t be stopped. If you then call\n StopStreamingSession
, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes
value, the\n session will automatically be terminated by AWS (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession
to stop sessions in the READY state. If the time\n that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes
value, the session will automatically be\n stopped by AWS (instead of terminated).
Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is 5760.
\nIf the value is missing or set to 0, your sessions can’t be stopped. If you then call\n StopStreamingSession
, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes
value, the\n session will automatically be terminated (instead of stopped).
If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession
to stop sessions in the READY state. If the time\n that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes
value, the session will automatically be\n stopped (instead of terminated).
A human-readable description of the streaming image.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "A human-readable description of the streaming image.
" } }, "ec2ImageId": { @@ -5559,8 +5593,7 @@ "target": "com.amazonaws.nimble#StreamingImageName", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "A friendly name for a streaming image resource.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "A friendly name for a streaming image resource.
" } }, "owner": { @@ -5623,7 +5656,8 @@ "smithy.api#length": { "min": 0, "max": 256 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StreamingImageEncryptionConfiguration": { @@ -5703,7 +5737,8 @@ "smithy.api#length": { "min": 0, "max": 64 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StreamingImageOwner": { @@ -5743,14 +5778,11 @@ }, "traits": { "aws.api#arn": { - "template": "streaming-image/{streamingImageId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "streaming-image/{streamingImageId}" }, "aws.cloudformation#cfnResource": { - "additionalSchemas": ["com.amazonaws.nimble#StreamingImage"], - "name": "StreamingImage" + "name": "StreamingImage", + "additionalSchemas": ["com.amazonaws.nimble#StreamingImage"] }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -5868,7 +5900,8 @@ "value": "g4dn.16xlarge", "name": "g4dn_16xlarge" } - ] + ], + "smithy.api#suppress": ["EnumTrait"] } }, "com.amazonaws.nimble#StreamingInstanceTypeList": { @@ -6061,10 +6094,7 @@ ], "traits": { "aws.api#arn": { - "template": "streaming-session/{sessionId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "streaming-session/{sessionId}" }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -6309,10 +6339,9 @@ } }, "url": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#SensitiveString", "traits": { - "smithy.api#documentation": "The URL to connect to this stream using the DCV client.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The URL to connect to this stream using the DCV client.
" } } }, @@ -6404,7 +6433,7 @@ "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "The IAM role that studio admins assume when logging in to the Nimble Studio\n portal.
" @@ -6427,8 +6456,7 @@ "displayName": { "target": "com.amazonaws.nimble#StudioDisplayName", "traits": { - "smithy.api#documentation": "A friendly name for the studio.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "A friendly name for the studio.
" } }, "homeRegion": { @@ -6507,7 +6535,7 @@ } }, "userRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "The IAM role that studio users assume when logging in to the Nimble Studio\n portal.
" @@ -6644,6 +6672,22 @@ "aws.cloudformation#cfnExcludeProperty": {}, "smithy.api#documentation": "The user ID of the user that most recently updated the resource.
" } + }, + "secureInitializationRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "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.
", + "smithy.api#tags": ["studio_component_roles"] + } + }, + "runtimeRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
", + "smithy.api#tags": ["studio_component_roles"] + } } }, "traits": { @@ -6811,14 +6855,11 @@ }, "traits": { "aws.api#arn": { - "template": "studio-component/{studioComponentId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "studio-component/{studioComponentId}" }, "aws.cloudformation#cfnResource": { - "additionalSchemas": ["com.amazonaws.nimble#StudioComponent"], - "name": "StudioComponent" + "name": "StudioComponent", + "additionalSchemas": ["com.amazonaws.nimble#StudioComponent"] }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -7082,7 +7123,8 @@ "smithy.api#length": { "min": 0, "max": 64 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StudioEncryptionConfiguration": { @@ -7244,14 +7286,11 @@ ], "traits": { "aws.api#arn": { - "template": "studio/{studioId}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "studio/{studioId}" }, "aws.cloudformation#cfnResource": { - "additionalSchemas": ["com.amazonaws.nimble#Studio"], - "name": "Studio" + "name": "Studio", + "additionalSchemas": ["com.amazonaws.nimble#Studio"] }, "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}", @@ -7900,15 +7939,13 @@ "description": { "target": "com.amazonaws.nimble#StreamingImageDescription", "traits": { - "smithy.api#documentation": "The description.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The description.
" } }, "name": { "target": "com.amazonaws.nimble#StreamingImageName", "traits": { - "smithy.api#documentation": "The name for the streaming image.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "The name for the streaming image.
" } }, "streamingImageId": { @@ -8012,7 +8049,12 @@ ], "traits": { "aws.iam#actionPermissionDescription": "Grants permission to update a studio component", - "aws.iam#requiredActions": ["ec2:DescribeSecurityGroups", "fsx:DescribeFileSystems", "ds:DescribeDirectories"], + "aws.iam#requiredActions": [ + "ec2:DescribeSecurityGroups", + "fsx:DescribeFileSystems", + "ds:DescribeDirectories", + "iam:PassRole" + ], "smithy.api#documentation": "Updates a studio component resource.
", "smithy.api#http": { "method": "PATCH", @@ -8096,6 +8138,22 @@ "traits": { "smithy.api#documentation": "The type of the studio component.
" } + }, + "secureInitializationRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "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.
", + "smithy.api#tags": ["studio_component_roles"] + } + }, + "runtimeRoleArn": { + "target": "com.amazonaws.nimble#RoleArn", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running.
", + "smithy.api#tags": ["studio_component_roles"] + } } } }, @@ -8114,7 +8172,7 @@ "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "smithy.api#documentation": "The IAM role that Studio Admins will assume when logging in to the Nimble Studio\n portal.
" } @@ -8131,8 +8189,7 @@ "displayName": { "target": "com.amazonaws.nimble#StudioDisplayName", "traits": { - "smithy.api#documentation": "A friendly name for the studio.
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "A friendly name for the studio.
" } }, "studioId": { @@ -8144,7 +8201,7 @@ } }, "userRoleArn": { - "target": "com.amazonaws.nimble#String", + "target": "com.amazonaws.nimble#RoleArn", "traits": { "smithy.api#documentation": "The IAM role that Studio Users will assume when logging in to the Nimble Studio\n portal.
" } @@ -8244,71 +8301,71 @@ "traits": { "aws.api#service": { "sdkId": "nimble", - "arnNamespace": "nimble", "cloudFormationName": "NimbleStudio", - "cloudTrailEventSource": "nimble.amazonaws.com", - "endpointPrefix": "nimble" + "arnNamespace": "nimble", + "cloudTrailEventSource": "nimble.amazonaws.com" }, "aws.auth#sigv4": { "name": "nimble" }, "aws.iam#defineConditionKeys": { - "nimble:ownedBy": { + "aws:ResourceTag/${TagKey}": { "type": "String", - "documentation": "Filters access by the ownedBy request parameter or the ID of the owner of the resource", - "externalDocumentation": "${ContextKeysDocRoot}" + "documentation": "Filters access by a tag key and value pair of a resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" }, - "nimble:principalId": { + "aws:RequestTag/${TagKey}": { "type": "String", - "documentation": "Filters access by the principalId request parameter", - "externalDocumentation": "${ContextKeysDocRoot}" + "documentation": "Filters access by a tag key and value pair that is allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" }, - "nimble:createdBy": { - "type": "String", - "documentation": "Filters access by the createdBy request parameter or the ID of the creator of the resource", - "externalDocumentation": "${ContextKeysDocRoot}" + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access by a list of tag keys that are allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" }, "nimble:studioId": { "type": "String", "documentation": "Filters access by a specific studio", "externalDocumentation": "${ContextKeysDocRoot}" }, - "aws:RequestTag/${TagKey}": { + "nimble:requesterPrincipalId": { "type": "String", - "documentation": "Filters access by a tag key and value pair that is allowed in the request", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + "documentation": "Filters access by the ID of the logged in user", + "externalDocumentation": "${ContextKeysDocRoot}" }, - "aws:TagKeys": { + "nimble:principalId": { "type": "String", - "documentation": "Filters access by a list of tag keys that are allowed in the request", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + "documentation": "Filters access by the principalId request parameter", + "externalDocumentation": "${ContextKeysDocRoot}" }, - "nimble:requesterPrincipalId": { + "nimble:createdBy": { "type": "String", - "documentation": "Filters access by the ID of the logged in user", + "documentation": "Filters access by the createdBy request parameter or the ID of the creator of the resource", "externalDocumentation": "${ContextKeysDocRoot}" }, - "aws:ResourceTag/${TagKey}": { + "nimble:ownedBy": { "type": "String", - "documentation": "Filters access by a tag key and value pair of a resource", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + "documentation": "Filters access by the ownedBy request parameter or the ID of the owner of the resource", + "externalDocumentation": "${ContextKeysDocRoot}" } }, "aws.protocols#restJson1": {}, "smithy.api#cors": { "additionalAllowedHeaders": [ + "*", + "content-type", "authorization", + "x-amz-date", "x-amz-content-sha256", + "x-amz-user-agent", "x-amzn-trace-id", - "x-amz-date", - "x-api-key", + "x-amz-dryrun", "x-amz-client-token", - "x-amz-user-agent", - "*", - "content-type", - "x-amz-dryrun" + "x-api-key" ], - "additionalExposedHeaders": ["x-amz-apigw-id", "x-amzn-trace-id", "x-amzn-errortype", "x-amzn-requestid"] + "additionalExposedHeaders": ["x-amzn-errortype", "x-amzn-requestid", "x-amzn-trace-id", "x-amz-apigw-id"], + "maxAge": 600 }, "smithy.api#documentation": "Welcome to the Amazon Nimble Studio API reference. This API reference provides\n methods, schema, resources, parameters, and more to help you get the most out of Nimble\n Studio.
\nNimble Studio is a virtual studio that empowers visual effects, animation, and\n interactive content teams to create content securely within a scalable, private cloud\n service.
", "smithy.api#title": "AmazonNimbleStudio"