Skip to content

Commit

Permalink
feat(client-workspaces): This release introduces User-Decoupling feat…
Browse files Browse the repository at this point in the history
…ure. This feature allows Workspaces Core customers to provision workspaces without providing users. CreateWorkspaces and DescribeWorkspaces APIs will now take a new optional parameter "WorkspaceName".
  • Loading branch information
awstools committed Feb 8, 2024
1 parent 9dade00 commit 73e1b34
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 76 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ export interface CreateWorkspacesCommandOutput extends CreateWorkspacesResult, _
* Value: "STRING_VALUE",
* },
* ],
* WorkspaceName: "STRING_VALUE",
* },
* ],
* };
Expand Down Expand Up @@ -108,6 +109,7 @@ export interface CreateWorkspacesCommandOutput extends CreateWorkspacesResult, _
* // Value: "STRING_VALUE",
* // },
* // ],
* // WorkspaceName: "STRING_VALUE",
* // },
* // ErrorCode: "STRING_VALUE",
* // ErrorMessage: "STRING_VALUE",
Expand All @@ -128,6 +130,7 @@ export interface CreateWorkspacesCommandOutput extends CreateWorkspacesResult, _
* // VolumeEncryptionKey: "STRING_VALUE",
* // UserVolumeEncryptionEnabled: true || false,
* // RootVolumeEncryptionEnabled: true || false,
* // WorkspaceName: "STRING_VALUE",
* // WorkspaceProperties: {
* // RunningMode: "AUTO_STOP" || "ALWAYS_ON" || "MANUAL",
* // RunningModeAutoStopTimeoutInMinutes: Number("int"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export interface DescribeWorkspacesCommandOutput extends DescribeWorkspacesResul
* BundleId: "STRING_VALUE",
* Limit: Number("int"),
* NextToken: "STRING_VALUE",
* WorkspaceName: "STRING_VALUE",
* };
* const command = new DescribeWorkspacesCommand(input);
* const response = await client.send(command);
Expand All @@ -65,6 +66,7 @@ export interface DescribeWorkspacesCommandOutput extends DescribeWorkspacesResul
* // VolumeEncryptionKey: "STRING_VALUE",
* // UserVolumeEncryptionEnabled: true || false,
* // RootVolumeEncryptionEnabled: true || false,
* // WorkspaceName: "STRING_VALUE",
* // WorkspaceProperties: { // WorkspaceProperties
* // RunningMode: "AUTO_STOP" || "ALWAYS_ON" || "MANUAL",
* // RunningModeAutoStopTimeoutInMinutes: Number("int"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@ export interface RebootWorkspacesCommandOutput extends RebootWorkspacesResult, _
/**
* @public
* <p>Reboots the specified WorkSpaces.</p>
* <p>You cannot reboot a WorkSpace unless its state is <code>AVAILABLE</code>,
* <code>UNHEALTHY</code>, or <code>REBOOTING</code>. Reboot a WorkSpace in the <code>REBOOTING</code>
* state only if your WorkSpace has been stuck in the <code>REBOOTING</code> state for over 20 minutes.</p>
* <p>You cannot reboot a WorkSpace unless its state is <code>AVAILABLE</code> or
* <code>UNHEALTHY</code>.</p>
* <p>This operation is asynchronous and returns before the WorkSpaces have rebooted.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
89 changes: 19 additions & 70 deletions clients/client-workspaces/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2019,6 +2019,7 @@ export interface WorkspaceRequest {
/**
* @public
* <p>The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.</p>
* <p>The reserved keyword, <code>[UNDEFINED]</code>, is used when creating user-decoupled WorkSpaces.</p>
*/
UserName: string | undefined;

Expand Down Expand Up @@ -2058,6 +2059,12 @@ export interface WorkspaceRequest {
* <p>The tags for the WorkSpace.</p>
*/
Tags?: Tag[];

/**
* @public
* <p>The name of the user-decoupled WorkSpace.</p>
*/
WorkspaceName?: string;
}

/**
Expand Down Expand Up @@ -2265,76 +2272,6 @@ export interface Workspace {
/**
* @public
* <p>The operational state of the WorkSpace.</p>
* <ul>
* <li>
* <p>
* <code>PENDING</code> – The WorkSpace is in a waiting state (for example, the WorkSpace is being created).</p>
* </li>
* <li>
* <p>
* <code>AVAILABLE</code> – The WorkSpace is running and has passed the health checks.</p>
* </li>
* <li>
* <p>
* <code>IMPAIRED</code> – Refer to <code>UNHEALTHY</code> state.</p>
* </li>
* <li>
* <p>
* <code>UNHEALTHY</code> – The WorkSpace is not responding to health checks.</p>
* </li>
* <li>
* <p>
* <code>REBOOTING</code> – The WorkSpace is being rebooted (restarted).</p>
* </li>
* <li>
* <p>
* <code>STARTING</code> – The WorkSpace is starting up and health checks are being run.</p>
* </li>
* <li>
* <p>
* <code>REBUILDING</code> – The WorkSpace is being rebuilt.</p>
* </li>
* <li>
* <p>
* <code>RESTORING</code> – The WorkSpace is being restored.</p>
* </li>
* <li>
* <p>
* <code>MAINTENANCE</code> – The WorkSpace is undergoing scheduled maintenance by Amazon Web Services.</p>
* </li>
* <li>
* <p>
* <code>ADMIN_MAINTENANCE</code> – The WorkSpace is undergoing maintenance by the WorkSpaces administrator.</p>
* </li>
* <li>
* <p>
* <code>TERMINATING</code> – The WorkSpace is being deleted.</p>
* </li>
* <li>
* <p>
* <code>TERMINATED</code> – The WorkSpace has been deleted.</p>
* </li>
* <li>
* <p>
* <code>SUSPENDED</code> – The WorkSpace has been suspended for image creation.</p>
* </li>
* <li>
* <p>
* <code>UPDATING</code> – The WorkSpace is undergoing an update.</p>
* </li>
* <li>
* <p>
* <code>STOPPING</code> – The WorkSpace is being stopped.</p>
* </li>
* <li>
* <p>
* <code>STOPPED</code> – The WorkSpace has been stopped.</p>
* </li>
* <li>
* <p>
* <code>ERROR </code> – The WorkSpace is an error state (for example, an error occurred during startup).</p>
* </li>
* </ul>
* <note>
* <p>After a WorkSpace is terminated, the <code>TERMINATED</code> state is returned only
* briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely
Expand Down Expand Up @@ -2398,6 +2335,12 @@ export interface Workspace {
*/
RootVolumeEncryptionEnabled?: boolean;

/**
* @public
* <p>The name of the user-decoupled WorkSpace.</p>
*/
WorkspaceName?: string;

/**
* @public
* <p>The properties of the WorkSpace.</p>
Expand Down Expand Up @@ -4440,6 +4383,12 @@ export interface DescribeWorkspacesRequest {
* provide this token to receive the next set of results.</p>
*/
NextToken?: string;

/**
* @public
* <p>The name of the user-decoupled WorkSpace.</p>
*/
WorkspaceName?: string;
}

/**
Expand Down
1 change: 1 addition & 0 deletions clients/client-workspaces/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4154,6 +4154,7 @@ const de_Workspace = (output: any, context: __SerdeContext): Workspace => {
UserVolumeEncryptionEnabled: __expectBoolean,
VolumeEncryptionKey: __expectString,
WorkspaceId: __expectString,
WorkspaceName: __expectString,
WorkspaceProperties: _json,
}) as any;
};
Expand Down
30 changes: 27 additions & 3 deletions codegen/sdk-codegen/aws-models/workspaces.json
Original file line number Diff line number Diff line change
Expand Up @@ -4261,6 +4261,12 @@
"traits": {
"smithy.api#documentation": "<p>If you received a <code>NextToken</code> from a previous call that was paginated,\n provide this token to receive the next set of results.</p>"
}
},
"WorkspaceName": {
"target": "com.amazonaws.workspaces#WorkspaceName",
"traits": {
"smithy.api#documentation": "<p>The name of the user-decoupled WorkSpace.</p>"
}
}
},
"traits": {
Expand Down Expand Up @@ -6238,7 +6244,7 @@
}
],
"traits": {
"smithy.api#documentation": "<p>Reboots the specified WorkSpaces.</p>\n <p>You cannot reboot a WorkSpace unless its state is <code>AVAILABLE</code>,\n <code>UNHEALTHY</code>, or <code>REBOOTING</code>. Reboot a WorkSpace in the <code>REBOOTING</code> \n state only if your WorkSpace has been stuck in the <code>REBOOTING</code> state for over 20 minutes.</p>\n <p>This operation is asynchronous and returns before the WorkSpaces have rebooted.</p>"
"smithy.api#documentation": "<p>Reboots the specified WorkSpaces.</p>\n <p>You cannot reboot a WorkSpace unless its state is <code>AVAILABLE</code> or\n <code>UNHEALTHY</code>.</p>\n <p>This operation is asynchronous and returns before the WorkSpaces have rebooted.</p>"
}
},
"com.amazonaws.workspaces#RebootWorkspacesRequest": {
Expand Down Expand Up @@ -7909,7 +7915,7 @@
"State": {
"target": "com.amazonaws.workspaces#WorkspaceState",
"traits": {
"smithy.api#documentation": "<p>The operational state of the WorkSpace.</p>\n <ul>\n <li>\n <p>\n <code>PENDING</code> – The WorkSpace is in a waiting state (for example, the WorkSpace is being created).</p>\n </li>\n <li>\n <p>\n <code>AVAILABLE</code> – The WorkSpace is running and has passed the health checks.</p>\n </li>\n <li>\n <p>\n <code>IMPAIRED</code> – Refer to <code>UNHEALTHY</code> state.</p>\n </li>\n <li>\n <p>\n <code>UNHEALTHY</code> – The WorkSpace is not responding to health checks.</p>\n </li>\n <li>\n <p>\n <code>REBOOTING</code> – The WorkSpace is being rebooted (restarted).</p>\n </li>\n <li>\n <p>\n <code>STARTING</code> – The WorkSpace is starting up and health checks are being run.</p>\n </li>\n <li>\n <p>\n <code>REBUILDING</code> – The WorkSpace is being rebuilt.</p>\n </li>\n <li>\n <p>\n <code>RESTORING</code> – The WorkSpace is being restored.</p>\n </li>\n <li>\n <p>\n <code>MAINTENANCE</code> – The WorkSpace is undergoing scheduled maintenance by Amazon Web Services.</p>\n </li>\n <li>\n <p>\n <code>ADMIN_MAINTENANCE</code> – The WorkSpace is undergoing maintenance by the WorkSpaces administrator.</p>\n </li>\n <li>\n <p>\n <code>TERMINATING</code> – The WorkSpace is being deleted.</p>\n </li>\n <li>\n <p>\n <code>TERMINATED</code> – The WorkSpace has been deleted.</p>\n </li>\n <li>\n <p>\n <code>SUSPENDED</code> – The WorkSpace has been suspended for image creation.</p>\n </li>\n <li>\n <p>\n <code>UPDATING</code> – The WorkSpace is undergoing an update.</p>\n </li>\n <li>\n <p>\n <code>STOPPING</code> – The WorkSpace is being stopped.</p>\n </li>\n <li>\n <p>\n <code>STOPPED</code> – The WorkSpace has been stopped.</p>\n </li>\n <li>\n <p>\n <code>ERROR </code> – The WorkSpace is an error state (for example, an error occurred during startup).</p>\n </li>\n </ul>\n <note>\n <p>After a WorkSpace is terminated, the <code>TERMINATED</code> state is returned only\n briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely\n returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using\n <a href=\"https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html\">\n DescribeWorkSpaces</a>. If the WorkSpace ID isn't returned, then the WorkSpace\n has been successfully terminated.</p>\n </note>"
"smithy.api#documentation": "<p>The operational state of the WorkSpace.</p>\n <note>\n <p>After a WorkSpace is terminated, the <code>TERMINATED</code> state is returned only\n briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely\n returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using\n <a href=\"https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html\">\n DescribeWorkSpaces</a>. If the WorkSpace ID isn't returned, then the WorkSpace\n has been successfully terminated.</p>\n </note>"
}
},
"BundleId": {
Expand Down Expand Up @@ -7960,6 +7966,12 @@
"smithy.api#documentation": "<p>Indicates whether the data stored on the root volume is encrypted.</p>"
}
},
"WorkspaceName": {
"target": "com.amazonaws.workspaces#WorkspaceName",
"traits": {
"smithy.api#documentation": "<p>The name of the user-decoupled WorkSpace.</p>"
}
},
"WorkspaceProperties": {
"target": "com.amazonaws.workspaces#WorkspaceProperties",
"traits": {
Expand Down Expand Up @@ -8826,6 +8838,12 @@
"target": "com.amazonaws.workspaces#Workspace"
}
},
"com.amazonaws.workspaces#WorkspaceName": {
"type": "string",
"traits": {
"smithy.api#pattern": "^[a-zA-Z0-9_()][a-zA-Z0-9_.()-]{1,63}$"
}
},
"com.amazonaws.workspaces#WorkspaceProperties": {
"type": "structure",
"members": {
Expand Down Expand Up @@ -8889,7 +8907,7 @@
"UserName": {
"target": "com.amazonaws.workspaces#UserName",
"traits": {
"smithy.api#documentation": "<p>The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.</p>",
"smithy.api#documentation": "<p>The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.</p>\n <p>The reserved keyword, <code>[UNDEFINED]</code>, is used when creating user-decoupled WorkSpaces.</p>",
"smithy.api#required": {}
}
},
Expand Down Expand Up @@ -8929,6 +8947,12 @@
"traits": {
"smithy.api#documentation": "<p>The tags for the WorkSpace.</p>"
}
},
"WorkspaceName": {
"target": "com.amazonaws.workspaces#WorkspaceName",
"traits": {
"smithy.api#documentation": "<p>The name of the user-decoupled WorkSpace.</p>"
}
}
},
"traits": {
Expand Down

0 comments on commit 73e1b34

Please sign in to comment.