From 729c20871c51068658bd58f66cdca0bd8e9bfb60 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 27 Jun 2024 18:14:01 +0000 Subject: [PATCH] feat(client-workspaces): Added support for WorkSpaces Pools. --- clients/client-workspaces/README.md | 72 + clients/client-workspaces/src/WorkSpaces.ts | 209 ++ .../client-workspaces/src/WorkSpacesClient.ts | 55 +- .../commands/CreateWorkspacesPoolCommand.ts | 152 ++ .../DescribeWorkspaceDirectoriesCommand.ts | 31 +- .../DescribeWorkspacesPoolSessionsCommand.ts | 115 + .../DescribeWorkspacesPoolsCommand.ts | 138 ++ .../commands/DisassociateIpGroupsCommand.ts | 3 + .../commands/ModifyClientPropertiesCommand.ts | 3 + .../ModifySelfservicePermissionsCommand.ts | 3 + .../ModifyStreamingPropertiesCommand.ts | 108 + ...odifyWorkspaceCreationPropertiesCommand.ts | 1 + .../RegisterWorkspaceDirectoryCommand.ts | 20 +- .../src/commands/StartWorkspacesCommand.ts | 2 +- .../commands/StartWorkspacesPoolCommand.ts | 103 + .../src/commands/StopWorkspacesCommand.ts | 2 +- .../src/commands/StopWorkspacesPoolCommand.ts | 97 + .../commands/TerminateWorkspacesCommand.ts | 2 +- .../TerminateWorkspacesPoolCommand.ts | 95 + .../TerminateWorkspacesPoolSessionCommand.ts | 100 + .../UpdateConnectClientAddInCommand.ts | 2 +- .../UpdateConnectionAliasPermissionCommand.ts | 2 +- .../commands/UpdateRulesOfIpGroupCommand.ts | 2 +- .../commands/UpdateWorkspaceBundleCommand.ts | 2 +- .../UpdateWorkspaceImagePermissionCommand.ts | 2 +- .../commands/UpdateWorkspacesPoolCommand.ts | 149 ++ .../client-workspaces/src/commands/index.ts | 9 + clients/client-workspaces/src/models/index.ts | 1 + .../client-workspaces/src/models/models_0.ts | 1186 +++++++-- .../client-workspaces/src/models/models_1.ts | 367 +++ .../src/protocols/Aws_json1_1.ts | 559 ++++- .../sdk-codegen/aws-models/workspaces.json | 2177 ++++++++++++++++- 32 files changed, 5395 insertions(+), 374 deletions(-) create mode 100644 clients/client-workspaces/src/commands/CreateWorkspacesPoolCommand.ts create mode 100644 clients/client-workspaces/src/commands/DescribeWorkspacesPoolSessionsCommand.ts create mode 100644 clients/client-workspaces/src/commands/DescribeWorkspacesPoolsCommand.ts create mode 100644 clients/client-workspaces/src/commands/ModifyStreamingPropertiesCommand.ts create mode 100644 clients/client-workspaces/src/commands/StartWorkspacesPoolCommand.ts create mode 100644 clients/client-workspaces/src/commands/StopWorkspacesPoolCommand.ts create mode 100644 clients/client-workspaces/src/commands/TerminateWorkspacesPoolCommand.ts create mode 100644 clients/client-workspaces/src/commands/TerminateWorkspacesPoolSessionCommand.ts create mode 100644 clients/client-workspaces/src/commands/UpdateWorkspacesPoolCommand.ts create mode 100644 clients/client-workspaces/src/models/models_1.ts diff --git a/clients/client-workspaces/README.md b/clients/client-workspaces/README.md index 253ef3ca83af..009b33a4cac5 100644 --- a/clients/client-workspaces/README.md +++ b/clients/client-workspaces/README.md @@ -347,6 +347,14 @@ CreateWorkspaces [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/CreateWorkspacesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/CreateWorkspacesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/CreateWorkspacesCommandOutput/) + +
+ +CreateWorkspacesPool + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/CreateWorkspacesPoolCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/CreateWorkspacesPoolCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/CreateWorkspacesPoolCommandOutput/) +
@@ -595,6 +603,22 @@ DescribeWorkspaceSnapshots [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/DescribeWorkspaceSnapshotsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspaceSnapshotsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspaceSnapshotsCommandOutput/) +
+
+ +DescribeWorkspacesPools + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/DescribeWorkspacesPoolsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspacesPoolsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspacesPoolsCommandOutput/) + +
+
+ +DescribeWorkspacesPoolSessions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/DescribeWorkspacesPoolSessionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspacesPoolSessionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/DescribeWorkspacesPoolSessionsCommandOutput/) +
@@ -707,6 +731,14 @@ ModifySelfservicePermissions [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/ModifySelfservicePermissionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/ModifySelfservicePermissionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/ModifySelfservicePermissionsCommandOutput/) +
+
+ +ModifyStreamingProperties + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/ModifyStreamingPropertiesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/ModifyStreamingPropertiesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/ModifyStreamingPropertiesCommandOutput/) +
@@ -795,6 +827,14 @@ StartWorkspaces [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/StartWorkspacesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StartWorkspacesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StartWorkspacesCommandOutput/) +
+
+ +StartWorkspacesPool + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/StartWorkspacesPoolCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StartWorkspacesPoolCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StartWorkspacesPoolCommandOutput/) +
@@ -803,6 +843,14 @@ StopWorkspaces [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/StopWorkspacesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StopWorkspacesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StopWorkspacesCommandOutput/) +
+
+ +StopWorkspacesPool + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/StopWorkspacesPoolCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StopWorkspacesPoolCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/StopWorkspacesPoolCommandOutput/) +
@@ -811,6 +859,22 @@ TerminateWorkspaces [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/TerminateWorkspacesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesCommandOutput/) +
+
+ +TerminateWorkspacesPool + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/TerminateWorkspacesPoolCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesPoolCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesPoolCommandOutput/) + +
+
+ +TerminateWorkspacesPoolSession + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/TerminateWorkspacesPoolSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesPoolSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/TerminateWorkspacesPoolSessionCommandOutput/) +
@@ -852,3 +916,11 @@ UpdateWorkspaceImagePermission [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/UpdateWorkspaceImagePermissionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/UpdateWorkspaceImagePermissionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/UpdateWorkspaceImagePermissionCommandOutput/)
+
+ +UpdateWorkspacesPool + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces/command/UpdateWorkspacesPoolCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/UpdateWorkspacesPoolCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces/Interface/UpdateWorkspacesPoolCommandOutput/) + +
diff --git a/clients/client-workspaces/src/WorkSpaces.ts b/clients/client-workspaces/src/WorkSpaces.ts index 91f464949dd8..c36769e440bd 100644 --- a/clients/client-workspaces/src/WorkSpaces.ts +++ b/clients/client-workspaces/src/WorkSpaces.ts @@ -78,6 +78,11 @@ import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput, } from "./commands/CreateWorkspacesCommand"; +import { + CreateWorkspacesPoolCommand, + CreateWorkspacesPoolCommandInput, + CreateWorkspacesPoolCommandOutput, +} from "./commands/CreateWorkspacesPoolCommand"; import { DeleteAccountLinkInvitationCommand, DeleteAccountLinkInvitationCommandInput, @@ -229,6 +234,16 @@ import { DescribeWorkspaceSnapshotsCommandInput, DescribeWorkspaceSnapshotsCommandOutput, } from "./commands/DescribeWorkspaceSnapshotsCommand"; +import { + DescribeWorkspacesPoolsCommand, + DescribeWorkspacesPoolsCommandInput, + DescribeWorkspacesPoolsCommandOutput, +} from "./commands/DescribeWorkspacesPoolsCommand"; +import { + DescribeWorkspacesPoolSessionsCommand, + DescribeWorkspacesPoolSessionsCommandInput, + DescribeWorkspacesPoolSessionsCommandOutput, +} from "./commands/DescribeWorkspacesPoolSessionsCommand"; import { DisassociateConnectionAliasCommand, DisassociateConnectionAliasCommandInput, @@ -299,6 +314,11 @@ import { ModifySelfservicePermissionsCommandInput, ModifySelfservicePermissionsCommandOutput, } from "./commands/ModifySelfservicePermissionsCommand"; +import { + ModifyStreamingPropertiesCommand, + ModifyStreamingPropertiesCommandInput, + ModifyStreamingPropertiesCommandOutput, +} from "./commands/ModifyStreamingPropertiesCommand"; import { ModifyWorkspaceAccessPropertiesCommand, ModifyWorkspaceAccessPropertiesCommandInput, @@ -354,16 +374,36 @@ import { StartWorkspacesCommandInput, StartWorkspacesCommandOutput, } from "./commands/StartWorkspacesCommand"; +import { + StartWorkspacesPoolCommand, + StartWorkspacesPoolCommandInput, + StartWorkspacesPoolCommandOutput, +} from "./commands/StartWorkspacesPoolCommand"; import { StopWorkspacesCommand, StopWorkspacesCommandInput, StopWorkspacesCommandOutput, } from "./commands/StopWorkspacesCommand"; +import { + StopWorkspacesPoolCommand, + StopWorkspacesPoolCommandInput, + StopWorkspacesPoolCommandOutput, +} from "./commands/StopWorkspacesPoolCommand"; import { TerminateWorkspacesCommand, TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "./commands/TerminateWorkspacesCommand"; +import { + TerminateWorkspacesPoolCommand, + TerminateWorkspacesPoolCommandInput, + TerminateWorkspacesPoolCommandOutput, +} from "./commands/TerminateWorkspacesPoolCommand"; +import { + TerminateWorkspacesPoolSessionCommand, + TerminateWorkspacesPoolSessionCommandInput, + TerminateWorkspacesPoolSessionCommandOutput, +} from "./commands/TerminateWorkspacesPoolSessionCommand"; import { UpdateConnectClientAddInCommand, UpdateConnectClientAddInCommandInput, @@ -389,6 +429,11 @@ import { UpdateWorkspaceImagePermissionCommandInput, UpdateWorkspaceImagePermissionCommandOutput, } from "./commands/UpdateWorkspaceImagePermissionCommand"; +import { + UpdateWorkspacesPoolCommand, + UpdateWorkspacesPoolCommandInput, + UpdateWorkspacesPoolCommandOutput, +} from "./commands/UpdateWorkspacesPoolCommand"; import { WorkSpacesClient, WorkSpacesClientConfig } from "./WorkSpacesClient"; const commands = { @@ -408,6 +453,7 @@ const commands = { CreateWorkspaceBundleCommand, CreateWorkspaceImageCommand, CreateWorkspacesCommand, + CreateWorkspacesPoolCommand, DeleteAccountLinkInvitationCommand, DeleteClientBrandingCommand, DeleteConnectClientAddInCommand, @@ -439,6 +485,8 @@ const commands = { DescribeWorkspacesCommand, DescribeWorkspacesConnectionStatusCommand, DescribeWorkspaceSnapshotsCommand, + DescribeWorkspacesPoolsCommand, + DescribeWorkspacesPoolSessionsCommand, DisassociateConnectionAliasCommand, DisassociateIpGroupsCommand, DisassociateWorkspaceApplicationCommand, @@ -453,6 +501,7 @@ const commands = { ModifyClientPropertiesCommand, ModifySamlPropertiesCommand, ModifySelfservicePermissionsCommand, + ModifyStreamingPropertiesCommand, ModifyWorkspaceAccessPropertiesCommand, ModifyWorkspaceCreationPropertiesCommand, ModifyWorkspacePropertiesCommand, @@ -464,13 +513,18 @@ const commands = { RestoreWorkspaceCommand, RevokeIpRulesCommand, StartWorkspacesCommand, + StartWorkspacesPoolCommand, StopWorkspacesCommand, + StopWorkspacesPoolCommand, TerminateWorkspacesCommand, + TerminateWorkspacesPoolCommand, + TerminateWorkspacesPoolSessionCommand, UpdateConnectClientAddInCommand, UpdateConnectionAliasPermissionCommand, UpdateRulesOfIpGroupCommand, UpdateWorkspaceBundleCommand, UpdateWorkspaceImagePermissionCommand, + UpdateWorkspacesPoolCommand, }; export interface WorkSpaces { @@ -734,6 +788,23 @@ export interface WorkSpaces { cb: (err: any, data?: CreateWorkspacesCommandOutput) => void ): void; + /** + * @see {@link CreateWorkspacesPoolCommand} + */ + createWorkspacesPool( + args: CreateWorkspacesPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createWorkspacesPool( + args: CreateWorkspacesPoolCommandInput, + cb: (err: any, data?: CreateWorkspacesPoolCommandOutput) => void + ): void; + createWorkspacesPool( + args: CreateWorkspacesPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateWorkspacesPoolCommandOutput) => void + ): void; + /** * @see {@link DeleteAccountLinkInvitationCommand} */ @@ -1251,6 +1322,41 @@ export interface WorkSpaces { cb: (err: any, data?: DescribeWorkspaceSnapshotsCommandOutput) => void ): void; + /** + * @see {@link DescribeWorkspacesPoolsCommand} + */ + describeWorkspacesPools(): Promise; + describeWorkspacesPools( + args: DescribeWorkspacesPoolsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeWorkspacesPools( + args: DescribeWorkspacesPoolsCommandInput, + cb: (err: any, data?: DescribeWorkspacesPoolsCommandOutput) => void + ): void; + describeWorkspacesPools( + args: DescribeWorkspacesPoolsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorkspacesPoolsCommandOutput) => void + ): void; + + /** + * @see {@link DescribeWorkspacesPoolSessionsCommand} + */ + describeWorkspacesPoolSessions( + args: DescribeWorkspacesPoolSessionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeWorkspacesPoolSessions( + args: DescribeWorkspacesPoolSessionsCommandInput, + cb: (err: any, data?: DescribeWorkspacesPoolSessionsCommandOutput) => void + ): void; + describeWorkspacesPoolSessions( + args: DescribeWorkspacesPoolSessionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorkspacesPoolSessionsCommandOutput) => void + ): void; + /** * @see {@link DisassociateConnectionAliasCommand} */ @@ -1483,6 +1589,23 @@ export interface WorkSpaces { cb: (err: any, data?: ModifySelfservicePermissionsCommandOutput) => void ): void; + /** + * @see {@link ModifyStreamingPropertiesCommand} + */ + modifyStreamingProperties( + args: ModifyStreamingPropertiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyStreamingProperties( + args: ModifyStreamingPropertiesCommandInput, + cb: (err: any, data?: ModifyStreamingPropertiesCommandOutput) => void + ): void; + modifyStreamingProperties( + args: ModifyStreamingPropertiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyStreamingPropertiesCommandOutput) => void + ): void; + /** * @see {@link ModifyWorkspaceAccessPropertiesCommand} */ @@ -1588,6 +1711,7 @@ export interface WorkSpaces { /** * @see {@link RegisterWorkspaceDirectoryCommand} */ + registerWorkspaceDirectory(): Promise; registerWorkspaceDirectory( args: RegisterWorkspaceDirectoryCommandInput, options?: __HttpHandlerOptions @@ -1661,6 +1785,23 @@ export interface WorkSpaces { cb: (err: any, data?: StartWorkspacesCommandOutput) => void ): void; + /** + * @see {@link StartWorkspacesPoolCommand} + */ + startWorkspacesPool( + args: StartWorkspacesPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + startWorkspacesPool( + args: StartWorkspacesPoolCommandInput, + cb: (err: any, data?: StartWorkspacesPoolCommandOutput) => void + ): void; + startWorkspacesPool( + args: StartWorkspacesPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartWorkspacesPoolCommandOutput) => void + ): void; + /** * @see {@link StopWorkspacesCommand} */ @@ -1675,6 +1816,23 @@ export interface WorkSpaces { cb: (err: any, data?: StopWorkspacesCommandOutput) => void ): void; + /** + * @see {@link StopWorkspacesPoolCommand} + */ + stopWorkspacesPool( + args: StopWorkspacesPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + stopWorkspacesPool( + args: StopWorkspacesPoolCommandInput, + cb: (err: any, data?: StopWorkspacesPoolCommandOutput) => void + ): void; + stopWorkspacesPool( + args: StopWorkspacesPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopWorkspacesPoolCommandOutput) => void + ): void; + /** * @see {@link TerminateWorkspacesCommand} */ @@ -1692,6 +1850,40 @@ export interface WorkSpaces { cb: (err: any, data?: TerminateWorkspacesCommandOutput) => void ): void; + /** + * @see {@link TerminateWorkspacesPoolCommand} + */ + terminateWorkspacesPool( + args: TerminateWorkspacesPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + terminateWorkspacesPool( + args: TerminateWorkspacesPoolCommandInput, + cb: (err: any, data?: TerminateWorkspacesPoolCommandOutput) => void + ): void; + terminateWorkspacesPool( + args: TerminateWorkspacesPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TerminateWorkspacesPoolCommandOutput) => void + ): void; + + /** + * @see {@link TerminateWorkspacesPoolSessionCommand} + */ + terminateWorkspacesPoolSession( + args: TerminateWorkspacesPoolSessionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + terminateWorkspacesPoolSession( + args: TerminateWorkspacesPoolSessionCommandInput, + cb: (err: any, data?: TerminateWorkspacesPoolSessionCommandOutput) => void + ): void; + terminateWorkspacesPoolSession( + args: TerminateWorkspacesPoolSessionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TerminateWorkspacesPoolSessionCommandOutput) => void + ): void; + /** * @see {@link UpdateConnectClientAddInCommand} */ @@ -1777,6 +1969,23 @@ export interface WorkSpaces { options: __HttpHandlerOptions, cb: (err: any, data?: UpdateWorkspaceImagePermissionCommandOutput) => void ): void; + + /** + * @see {@link UpdateWorkspacesPoolCommand} + */ + updateWorkspacesPool( + args: UpdateWorkspacesPoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateWorkspacesPool( + args: UpdateWorkspacesPoolCommandInput, + cb: (err: any, data?: UpdateWorkspacesPoolCommandOutput) => void + ): void; + updateWorkspacesPool( + args: UpdateWorkspacesPoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateWorkspacesPoolCommandOutput) => void + ): void; } /** diff --git a/clients/client-workspaces/src/WorkSpacesClient.ts b/clients/client-workspaces/src/WorkSpacesClient.ts index 3dc54d94964b..643fefa228a8 100644 --- a/clients/client-workspaces/src/WorkSpacesClient.ts +++ b/clients/client-workspaces/src/WorkSpacesClient.ts @@ -99,6 +99,10 @@ import { CreateWorkspaceImageCommandOutput, } from "./commands/CreateWorkspaceImageCommand"; import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput } from "./commands/CreateWorkspacesCommand"; +import { + CreateWorkspacesPoolCommandInput, + CreateWorkspacesPoolCommandOutput, +} from "./commands/CreateWorkspacesPoolCommand"; import { DeleteAccountLinkInvitationCommandInput, DeleteAccountLinkInvitationCommandOutput, @@ -205,6 +209,14 @@ import { DescribeWorkspaceSnapshotsCommandInput, DescribeWorkspaceSnapshotsCommandOutput, } from "./commands/DescribeWorkspaceSnapshotsCommand"; +import { + DescribeWorkspacesPoolsCommandInput, + DescribeWorkspacesPoolsCommandOutput, +} from "./commands/DescribeWorkspacesPoolsCommand"; +import { + DescribeWorkspacesPoolSessionsCommandInput, + DescribeWorkspacesPoolSessionsCommandOutput, +} from "./commands/DescribeWorkspacesPoolSessionsCommand"; import { DisassociateConnectionAliasCommandInput, DisassociateConnectionAliasCommandOutput, @@ -249,6 +261,10 @@ import { ModifySelfservicePermissionsCommandInput, ModifySelfservicePermissionsCommandOutput, } from "./commands/ModifySelfservicePermissionsCommand"; +import { + ModifyStreamingPropertiesCommandInput, + ModifyStreamingPropertiesCommandOutput, +} from "./commands/ModifyStreamingPropertiesCommand"; import { ModifyWorkspaceAccessPropertiesCommandInput, ModifyWorkspaceAccessPropertiesCommandOutput, @@ -278,11 +294,24 @@ import { import { RestoreWorkspaceCommandInput, RestoreWorkspaceCommandOutput } from "./commands/RestoreWorkspaceCommand"; import { RevokeIpRulesCommandInput, RevokeIpRulesCommandOutput } from "./commands/RevokeIpRulesCommand"; import { StartWorkspacesCommandInput, StartWorkspacesCommandOutput } from "./commands/StartWorkspacesCommand"; +import { + StartWorkspacesPoolCommandInput, + StartWorkspacesPoolCommandOutput, +} from "./commands/StartWorkspacesPoolCommand"; import { StopWorkspacesCommandInput, StopWorkspacesCommandOutput } from "./commands/StopWorkspacesCommand"; +import { StopWorkspacesPoolCommandInput, StopWorkspacesPoolCommandOutput } from "./commands/StopWorkspacesPoolCommand"; import { TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "./commands/TerminateWorkspacesCommand"; +import { + TerminateWorkspacesPoolCommandInput, + TerminateWorkspacesPoolCommandOutput, +} from "./commands/TerminateWorkspacesPoolCommand"; +import { + TerminateWorkspacesPoolSessionCommandInput, + TerminateWorkspacesPoolSessionCommandOutput, +} from "./commands/TerminateWorkspacesPoolSessionCommand"; import { UpdateConnectClientAddInCommandInput, UpdateConnectClientAddInCommandOutput, @@ -303,6 +332,10 @@ import { UpdateWorkspaceImagePermissionCommandInput, UpdateWorkspaceImagePermissionCommandOutput, } from "./commands/UpdateWorkspaceImagePermissionCommand"; +import { + UpdateWorkspacesPoolCommandInput, + UpdateWorkspacesPoolCommandOutput, +} from "./commands/UpdateWorkspacesPoolCommand"; import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, @@ -334,6 +367,7 @@ export type ServiceInputTypes = | CreateWorkspaceBundleCommandInput | CreateWorkspaceImageCommandInput | CreateWorkspacesCommandInput + | CreateWorkspacesPoolCommandInput | DeleteAccountLinkInvitationCommandInput | DeleteClientBrandingCommandInput | DeleteConnectClientAddInCommandInput @@ -365,6 +399,8 @@ export type ServiceInputTypes = | DescribeWorkspaceSnapshotsCommandInput | DescribeWorkspacesCommandInput | DescribeWorkspacesConnectionStatusCommandInput + | DescribeWorkspacesPoolSessionsCommandInput + | DescribeWorkspacesPoolsCommandInput | DisassociateConnectionAliasCommandInput | DisassociateIpGroupsCommandInput | DisassociateWorkspaceApplicationCommandInput @@ -379,6 +415,7 @@ export type ServiceInputTypes = | ModifyClientPropertiesCommandInput | ModifySamlPropertiesCommandInput | ModifySelfservicePermissionsCommandInput + | ModifyStreamingPropertiesCommandInput | ModifyWorkspaceAccessPropertiesCommandInput | ModifyWorkspaceCreationPropertiesCommandInput | ModifyWorkspacePropertiesCommandInput @@ -390,13 +427,18 @@ export type ServiceInputTypes = | RestoreWorkspaceCommandInput | RevokeIpRulesCommandInput | StartWorkspacesCommandInput + | StartWorkspacesPoolCommandInput | StopWorkspacesCommandInput + | StopWorkspacesPoolCommandInput | TerminateWorkspacesCommandInput + | TerminateWorkspacesPoolCommandInput + | TerminateWorkspacesPoolSessionCommandInput | UpdateConnectClientAddInCommandInput | UpdateConnectionAliasPermissionCommandInput | UpdateRulesOfIpGroupCommandInput | UpdateWorkspaceBundleCommandInput - | UpdateWorkspaceImagePermissionCommandInput; + | UpdateWorkspaceImagePermissionCommandInput + | UpdateWorkspacesPoolCommandInput; /** * @public @@ -418,6 +460,7 @@ export type ServiceOutputTypes = | CreateWorkspaceBundleCommandOutput | CreateWorkspaceImageCommandOutput | CreateWorkspacesCommandOutput + | CreateWorkspacesPoolCommandOutput | DeleteAccountLinkInvitationCommandOutput | DeleteClientBrandingCommandOutput | DeleteConnectClientAddInCommandOutput @@ -449,6 +492,8 @@ export type ServiceOutputTypes = | DescribeWorkspaceSnapshotsCommandOutput | DescribeWorkspacesCommandOutput | DescribeWorkspacesConnectionStatusCommandOutput + | DescribeWorkspacesPoolSessionsCommandOutput + | DescribeWorkspacesPoolsCommandOutput | DisassociateConnectionAliasCommandOutput | DisassociateIpGroupsCommandOutput | DisassociateWorkspaceApplicationCommandOutput @@ -463,6 +508,7 @@ export type ServiceOutputTypes = | ModifyClientPropertiesCommandOutput | ModifySamlPropertiesCommandOutput | ModifySelfservicePermissionsCommandOutput + | ModifyStreamingPropertiesCommandOutput | ModifyWorkspaceAccessPropertiesCommandOutput | ModifyWorkspaceCreationPropertiesCommandOutput | ModifyWorkspacePropertiesCommandOutput @@ -474,13 +520,18 @@ export type ServiceOutputTypes = | RestoreWorkspaceCommandOutput | RevokeIpRulesCommandOutput | StartWorkspacesCommandOutput + | StartWorkspacesPoolCommandOutput | StopWorkspacesCommandOutput + | StopWorkspacesPoolCommandOutput | TerminateWorkspacesCommandOutput + | TerminateWorkspacesPoolCommandOutput + | TerminateWorkspacesPoolSessionCommandOutput | UpdateConnectClientAddInCommandOutput | UpdateConnectionAliasPermissionCommandOutput | UpdateRulesOfIpGroupCommandOutput | UpdateWorkspaceBundleCommandOutput - | UpdateWorkspaceImagePermissionCommandOutput; + | UpdateWorkspaceImagePermissionCommandOutput + | UpdateWorkspacesPoolCommandOutput; /** * @public diff --git a/clients/client-workspaces/src/commands/CreateWorkspacesPoolCommand.ts b/clients/client-workspaces/src/commands/CreateWorkspacesPoolCommand.ts new file mode 100644 index 000000000000..b7114a14507e --- /dev/null +++ b/clients/client-workspaces/src/commands/CreateWorkspacesPoolCommand.ts @@ -0,0 +1,152 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateWorkspacesPoolRequest, CreateWorkspacesPoolResult } from "../models/models_0"; +import { de_CreateWorkspacesPoolCommand, se_CreateWorkspacesPoolCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateWorkspacesPoolCommand}. + */ +export interface CreateWorkspacesPoolCommandInput extends CreateWorkspacesPoolRequest {} +/** + * @public + * + * The output of {@link CreateWorkspacesPoolCommand}. + */ +export interface CreateWorkspacesPoolCommandOutput extends CreateWorkspacesPoolResult, __MetadataBearer {} + +/** + *

Creates a pool of WorkSpaces.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, CreateWorkspacesPoolCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, CreateWorkspacesPoolCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // CreateWorkspacesPoolRequest + * PoolName: "STRING_VALUE", // required + * Description: "STRING_VALUE", // required + * BundleId: "STRING_VALUE", // required + * DirectoryId: "STRING_VALUE", // required + * Capacity: { // Capacity + * DesiredUserSessions: Number("int"), // required + * }, + * Tags: [ // TagList + * { // Tag + * Key: "STRING_VALUE", // required + * Value: "STRING_VALUE", + * }, + * ], + * ApplicationSettings: { // ApplicationSettingsRequest + * Status: "DISABLED" || "ENABLED", // required + * SettingsGroup: "STRING_VALUE", + * }, + * TimeoutSettings: { // TimeoutSettings + * DisconnectTimeoutInSeconds: Number("int"), + * IdleDisconnectTimeoutInSeconds: Number("int"), + * MaxUserDurationInSeconds: Number("int"), + * }, + * }; + * const command = new CreateWorkspacesPoolCommand(input); + * const response = await client.send(command); + * // { // CreateWorkspacesPoolResult + * // WorkspacesPool: { // WorkspacesPool + * // PoolId: "STRING_VALUE", // required + * // PoolArn: "STRING_VALUE", // required + * // CapacityStatus: { // CapacityStatus + * // AvailableUserSessions: Number("int"), // required + * // DesiredUserSessions: Number("int"), // required + * // ActualUserSessions: Number("int"), // required + * // ActiveUserSessions: Number("int"), // required + * // }, + * // PoolName: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // State: "CREATING" || "DELETING" || "RUNNING" || "STARTING" || "STOPPED" || "STOPPING" || "UPDATING", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // BundleId: "STRING_VALUE", // required + * // DirectoryId: "STRING_VALUE", // required + * // Errors: [ // WorkspacesPoolErrors + * // { // WorkspacesPoolError + * // ErrorCode: "IAM_SERVICE_ROLE_IS_MISSING" || "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "WORKSPACES_POOL_STOPPED" || "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" || "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING" || "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE" || "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID" || "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_INVALID" || "BUNDLE_NOT_FOUND" || "DIRECTORY_NOT_FOUND" || "INSUFFICIENT_PERMISSIONS_ERROR" || "DEFAULT_OU_IS_MISSING", + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], + * // ApplicationSettings: { // ApplicationSettingsResponse + * // Status: "DISABLED" || "ENABLED", // required + * // SettingsGroup: "STRING_VALUE", + * // S3BucketName: "STRING_VALUE", + * // }, + * // TimeoutSettings: { // TimeoutSettings + * // DisconnectTimeoutInSeconds: Number("int"), + * // IdleDisconnectTimeoutInSeconds: Number("int"), + * // MaxUserDurationInSeconds: Number("int"), + * // }, + * // }, + * // }; + * + * ``` + * + * @param CreateWorkspacesPoolCommandInput - {@link CreateWorkspacesPoolCommandInput} + * @returns {@link CreateWorkspacesPoolCommandOutput} + * @see {@link CreateWorkspacesPoolCommandInput} for command's `input` shape. + * @see {@link CreateWorkspacesPoolCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * + * @throws {@link ResourceAlreadyExistsException} (client fault) + *

The specified resource already exists.

+ * + * @throws {@link ResourceLimitExceededException} (client fault) + *

Your resource limits have been exceeded.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class CreateWorkspacesPoolCommand extends $Command + .classBuilder< + CreateWorkspacesPoolCommandInput, + CreateWorkspacesPoolCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "CreateWorkspacesPool", {}) + .n("WorkSpacesClient", "CreateWorkspacesPoolCommand") + .f(void 0, void 0) + .ser(se_CreateWorkspacesPoolCommand) + .de(de_CreateWorkspacesPoolCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/DescribeWorkspaceDirectoriesCommand.ts b/clients/client-workspaces/src/commands/DescribeWorkspaceDirectoriesCommand.ts index c1af5f1e2bda..cb7491bce4af 100644 --- a/clients/client-workspaces/src/commands/DescribeWorkspaceDirectoriesCommand.ts +++ b/clients/client-workspaces/src/commands/DescribeWorkspaceDirectoriesCommand.ts @@ -44,6 +44,9 @@ export interface DescribeWorkspaceDirectoriesCommandOutput * DirectoryIds: [ // DirectoryIdList * "STRING_VALUE", * ], + * WorkspaceDirectoryNames: [ // WorkspaceDirectoryNameList + * "STRING_VALUE", + * ], * Limit: Number("int"), * NextToken: "STRING_VALUE", * }; @@ -64,7 +67,7 @@ export interface DescribeWorkspaceDirectoriesCommandOutput * // ], * // CustomerUserName: "STRING_VALUE", * // IamRoleId: "STRING_VALUE", - * // DirectoryType: "SIMPLE_AD" || "AD_CONNECTOR", + * // DirectoryType: "SIMPLE_AD" || "AD_CONNECTOR" || "CUSTOMER_MANAGED", * // WorkspaceSecurityGroupId: "STRING_VALUE", * // State: "REGISTERING" || "REGISTERED" || "DEREGISTERING" || "DEREGISTERED" || "ERROR", * // WorkspaceCreationProperties: { // DefaultWorkspaceCreationProperties @@ -74,6 +77,7 @@ export interface DescribeWorkspaceDirectoriesCommandOutput * // CustomSecurityGroupId: "STRING_VALUE", * // UserEnabledAsLocalAdministrator: true || false, * // EnableMaintenanceMode: true || false, + * // InstanceIamRoleArn: "STRING_VALUE", * // }, * // ipGroupIds: [ // IpGroupIdList * // "STRING_VALUE", @@ -105,6 +109,31 @@ export interface DescribeWorkspaceDirectoriesCommandOutput * // Status: "DISABLED" || "ENABLED", * // CertificateAuthorityArn: "STRING_VALUE", * // }, + * // WorkspaceDirectoryName: "STRING_VALUE", + * // WorkspaceDirectoryDescription: "STRING_VALUE", + * // UserIdentityType: "CUSTOMER_MANAGED" || "AWS_DIRECTORY_SERVICE", + * // WorkspaceType: "PERSONAL" || "POOLS", + * // ActiveDirectoryConfig: { // ActiveDirectoryConfig + * // DomainName: "STRING_VALUE", // required + * // ServiceAccountSecretArn: "STRING_VALUE", // required + * // }, + * // StreamingProperties: { // StreamingProperties + * // StreamingExperiencePreferredProtocol: "TCP" || "UDP", + * // UserSettings: [ // UserSettings + * // { // UserSetting + * // Action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE" || "CLIPBOARD_COPY_TO_LOCAL_DEVICE" || "PRINTING_TO_LOCAL_DEVICE" || "SMART_CARD", // required + * // Permission: "ENABLED" || "DISABLED", // required + * // MaximumLength: Number("int"), + * // }, + * // ], + * // StorageConnectors: [ // StorageConnectors + * // { // StorageConnector + * // ConnectorType: "HOME_FOLDER", // required + * // Status: "ENABLED" || "DISABLED", // required + * // }, + * // ], + * // }, + * // ErrorMessage: "STRING_VALUE", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-workspaces/src/commands/DescribeWorkspacesPoolSessionsCommand.ts b/clients/client-workspaces/src/commands/DescribeWorkspacesPoolSessionsCommand.ts new file mode 100644 index 000000000000..44b075f476cd --- /dev/null +++ b/clients/client-workspaces/src/commands/DescribeWorkspacesPoolSessionsCommand.ts @@ -0,0 +1,115 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeWorkspacesPoolSessionsRequest, DescribeWorkspacesPoolSessionsResult } from "../models/models_0"; +import { + de_DescribeWorkspacesPoolSessionsCommand, + se_DescribeWorkspacesPoolSessionsCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeWorkspacesPoolSessionsCommand}. + */ +export interface DescribeWorkspacesPoolSessionsCommandInput extends DescribeWorkspacesPoolSessionsRequest {} +/** + * @public + * + * The output of {@link DescribeWorkspacesPoolSessionsCommand}. + */ +export interface DescribeWorkspacesPoolSessionsCommandOutput + extends DescribeWorkspacesPoolSessionsResult, + __MetadataBearer {} + +/** + *

Retrieves a list that describes the streaming sessions for a specified WorkSpaces pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, DescribeWorkspacesPoolSessionsCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, DescribeWorkspacesPoolSessionsCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // DescribeWorkspacesPoolSessionsRequest + * PoolId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", + * Limit: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new DescribeWorkspacesPoolSessionsCommand(input); + * const response = await client.send(command); + * // { // DescribeWorkspacesPoolSessionsResult + * // Sessions: [ // WorkspacesPoolSessions + * // { // WorkspacesPoolSession + * // AuthenticationType: "SAML", + * // ConnectionState: "CONNECTED" || "NOT_CONNECTED", + * // SessionId: "STRING_VALUE", // required + * // InstanceId: "STRING_VALUE", + * // PoolId: "STRING_VALUE", // required + * // ExpirationTime: new Date("TIMESTAMP"), + * // NetworkAccessConfiguration: { // NetworkAccessConfiguration + * // EniPrivateIpAddress: "STRING_VALUE", + * // EniId: "STRING_VALUE", + * // }, + * // StartTime: new Date("TIMESTAMP"), + * // UserId: "STRING_VALUE", // required + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeWorkspacesPoolSessionsCommandInput - {@link DescribeWorkspacesPoolSessionsCommandInput} + * @returns {@link DescribeWorkspacesPoolSessionsCommandOutput} + * @see {@link DescribeWorkspacesPoolSessionsCommandInput} for command's `input` shape. + * @see {@link DescribeWorkspacesPoolSessionsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class DescribeWorkspacesPoolSessionsCommand extends $Command + .classBuilder< + DescribeWorkspacesPoolSessionsCommandInput, + DescribeWorkspacesPoolSessionsCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "DescribeWorkspacesPoolSessions", {}) + .n("WorkSpacesClient", "DescribeWorkspacesPoolSessionsCommand") + .f(void 0, void 0) + .ser(se_DescribeWorkspacesPoolSessionsCommand) + .de(de_DescribeWorkspacesPoolSessionsCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/DescribeWorkspacesPoolsCommand.ts b/clients/client-workspaces/src/commands/DescribeWorkspacesPoolsCommand.ts new file mode 100644 index 000000000000..705e015bb90f --- /dev/null +++ b/clients/client-workspaces/src/commands/DescribeWorkspacesPoolsCommand.ts @@ -0,0 +1,138 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeWorkspacesPoolsRequest, DescribeWorkspacesPoolsResult } from "../models/models_0"; +import { de_DescribeWorkspacesPoolsCommand, se_DescribeWorkspacesPoolsCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeWorkspacesPoolsCommand}. + */ +export interface DescribeWorkspacesPoolsCommandInput extends DescribeWorkspacesPoolsRequest {} +/** + * @public + * + * The output of {@link DescribeWorkspacesPoolsCommand}. + */ +export interface DescribeWorkspacesPoolsCommandOutput extends DescribeWorkspacesPoolsResult, __MetadataBearer {} + +/** + *

Describes the specified WorkSpaces pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, DescribeWorkspacesPoolsCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, DescribeWorkspacesPoolsCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // DescribeWorkspacesPoolsRequest + * PoolIds: [ // WorkspacesPoolIds + * "STRING_VALUE", + * ], + * Filters: [ // DescribeWorkspacesPoolsFilters + * { // DescribeWorkspacesPoolsFilter + * Name: "PoolName", // required + * Values: [ // DescribeWorkspacesPoolsFilterValues // required + * "STRING_VALUE", + * ], + * Operator: "EQUALS" || "NOTEQUALS" || "CONTAINS" || "NOTCONTAINS", // required + * }, + * ], + * Limit: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new DescribeWorkspacesPoolsCommand(input); + * const response = await client.send(command); + * // { // DescribeWorkspacesPoolsResult + * // WorkspacesPools: [ // WorkspacesPools + * // { // WorkspacesPool + * // PoolId: "STRING_VALUE", // required + * // PoolArn: "STRING_VALUE", // required + * // CapacityStatus: { // CapacityStatus + * // AvailableUserSessions: Number("int"), // required + * // DesiredUserSessions: Number("int"), // required + * // ActualUserSessions: Number("int"), // required + * // ActiveUserSessions: Number("int"), // required + * // }, + * // PoolName: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // State: "CREATING" || "DELETING" || "RUNNING" || "STARTING" || "STOPPED" || "STOPPING" || "UPDATING", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // BundleId: "STRING_VALUE", // required + * // DirectoryId: "STRING_VALUE", // required + * // Errors: [ // WorkspacesPoolErrors + * // { // WorkspacesPoolError + * // ErrorCode: "IAM_SERVICE_ROLE_IS_MISSING" || "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "WORKSPACES_POOL_STOPPED" || "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" || "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING" || "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE" || "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID" || "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_INVALID" || "BUNDLE_NOT_FOUND" || "DIRECTORY_NOT_FOUND" || "INSUFFICIENT_PERMISSIONS_ERROR" || "DEFAULT_OU_IS_MISSING", + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], + * // ApplicationSettings: { // ApplicationSettingsResponse + * // Status: "DISABLED" || "ENABLED", // required + * // SettingsGroup: "STRING_VALUE", + * // S3BucketName: "STRING_VALUE", + * // }, + * // TimeoutSettings: { // TimeoutSettings + * // DisconnectTimeoutInSeconds: Number("int"), + * // IdleDisconnectTimeoutInSeconds: Number("int"), + * // MaxUserDurationInSeconds: Number("int"), + * // }, + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeWorkspacesPoolsCommandInput - {@link DescribeWorkspacesPoolsCommandInput} + * @returns {@link DescribeWorkspacesPoolsCommandOutput} + * @see {@link DescribeWorkspacesPoolsCommandInput} for command's `input` shape. + * @see {@link DescribeWorkspacesPoolsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class DescribeWorkspacesPoolsCommand extends $Command + .classBuilder< + DescribeWorkspacesPoolsCommandInput, + DescribeWorkspacesPoolsCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "DescribeWorkspacesPools", {}) + .n("WorkSpacesClient", "DescribeWorkspacesPoolsCommand") + .f(void 0, void 0) + .ser(se_DescribeWorkspacesPoolsCommand) + .de(de_DescribeWorkspacesPoolsCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/DisassociateIpGroupsCommand.ts b/clients/client-workspaces/src/commands/DisassociateIpGroupsCommand.ts index 3a217d13b9dd..5b38f76d9300 100644 --- a/clients/client-workspaces/src/commands/DisassociateIpGroupsCommand.ts +++ b/clients/client-workspaces/src/commands/DisassociateIpGroupsCommand.ts @@ -62,6 +62,9 @@ export interface DisassociateIpGroupsCommandOutput extends DisassociateIpGroupsR * @throws {@link InvalidResourceStateException} (client fault) *

The state of the resource is not valid for this operation.

* + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * * @throws {@link ResourceNotFoundException} (client fault) *

The resource could not be found.

* diff --git a/clients/client-workspaces/src/commands/ModifyClientPropertiesCommand.ts b/clients/client-workspaces/src/commands/ModifyClientPropertiesCommand.ts index 15f0b94fc03c..2417077ff674 100644 --- a/clients/client-workspaces/src/commands/ModifyClientPropertiesCommand.ts +++ b/clients/client-workspaces/src/commands/ModifyClientPropertiesCommand.ts @@ -60,6 +60,9 @@ export interface ModifyClientPropertiesCommandOutput extends ModifyClientPropert * @throws {@link InvalidParameterValuesException} (client fault) *

One or more parameter values are not valid.

* + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * * @throws {@link ResourceNotFoundException} (client fault) *

The resource could not be found.

* diff --git a/clients/client-workspaces/src/commands/ModifySelfservicePermissionsCommand.ts b/clients/client-workspaces/src/commands/ModifySelfservicePermissionsCommand.ts index e857d04d77dc..577b9247144a 100644 --- a/clients/client-workspaces/src/commands/ModifySelfservicePermissionsCommand.ts +++ b/clients/client-workspaces/src/commands/ModifySelfservicePermissionsCommand.ts @@ -69,6 +69,9 @@ export interface ModifySelfservicePermissionsCommandOutput * @throws {@link InvalidParameterValuesException} (client fault) *

One or more parameter values are not valid.

* + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * * @throws {@link ResourceNotFoundException} (client fault) *

The resource could not be found.

* diff --git a/clients/client-workspaces/src/commands/ModifyStreamingPropertiesCommand.ts b/clients/client-workspaces/src/commands/ModifyStreamingPropertiesCommand.ts new file mode 100644 index 000000000000..bf18c8ef3e70 --- /dev/null +++ b/clients/client-workspaces/src/commands/ModifyStreamingPropertiesCommand.ts @@ -0,0 +1,108 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ModifyStreamingPropertiesRequest, ModifyStreamingPropertiesResult } from "../models/models_0"; +import { de_ModifyStreamingPropertiesCommand, se_ModifyStreamingPropertiesCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ModifyStreamingPropertiesCommand}. + */ +export interface ModifyStreamingPropertiesCommandInput extends ModifyStreamingPropertiesRequest {} +/** + * @public + * + * The output of {@link ModifyStreamingPropertiesCommand}. + */ +export interface ModifyStreamingPropertiesCommandOutput extends ModifyStreamingPropertiesResult, __MetadataBearer {} + +/** + *

Modifies the specified streaming properties.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, ModifyStreamingPropertiesCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, ModifyStreamingPropertiesCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // ModifyStreamingPropertiesRequest + * ResourceId: "STRING_VALUE", // required + * StreamingProperties: { // StreamingProperties + * StreamingExperiencePreferredProtocol: "TCP" || "UDP", + * UserSettings: [ // UserSettings + * { // UserSetting + * Action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE" || "CLIPBOARD_COPY_TO_LOCAL_DEVICE" || "PRINTING_TO_LOCAL_DEVICE" || "SMART_CARD", // required + * Permission: "ENABLED" || "DISABLED", // required + * MaximumLength: Number("int"), + * }, + * ], + * StorageConnectors: [ // StorageConnectors + * { // StorageConnector + * ConnectorType: "HOME_FOLDER", // required + * Status: "ENABLED" || "DISABLED", // required + * }, + * ], + * }, + * }; + * const command = new ModifyStreamingPropertiesCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param ModifyStreamingPropertiesCommandInput - {@link ModifyStreamingPropertiesCommandInput} + * @returns {@link ModifyStreamingPropertiesCommandOutput} + * @see {@link ModifyStreamingPropertiesCommandInput} for command's `input` shape. + * @see {@link ModifyStreamingPropertiesCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class ModifyStreamingPropertiesCommand extends $Command + .classBuilder< + ModifyStreamingPropertiesCommandInput, + ModifyStreamingPropertiesCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "ModifyStreamingProperties", {}) + .n("WorkSpacesClient", "ModifyStreamingPropertiesCommand") + .f(void 0, void 0) + .ser(se_ModifyStreamingPropertiesCommand) + .de(de_ModifyStreamingPropertiesCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/ModifyWorkspaceCreationPropertiesCommand.ts b/clients/client-workspaces/src/commands/ModifyWorkspaceCreationPropertiesCommand.ts index b611f2e84a0d..c55658256ef0 100644 --- a/clients/client-workspaces/src/commands/ModifyWorkspaceCreationPropertiesCommand.ts +++ b/clients/client-workspaces/src/commands/ModifyWorkspaceCreationPropertiesCommand.ts @@ -49,6 +49,7 @@ export interface ModifyWorkspaceCreationPropertiesCommandOutput * CustomSecurityGroupId: "STRING_VALUE", * UserEnabledAsLocalAdministrator: true || false, * EnableMaintenanceMode: true || false, + * InstanceIamRoleArn: "STRING_VALUE", * }, * }; * const command = new ModifyWorkspaceCreationPropertiesCommand(input); diff --git a/clients/client-workspaces/src/commands/RegisterWorkspaceDirectoryCommand.ts b/clients/client-workspaces/src/commands/RegisterWorkspaceDirectoryCommand.ts index fe870034f83d..56f00ae4dde8 100644 --- a/clients/client-workspaces/src/commands/RegisterWorkspaceDirectoryCommand.ts +++ b/clients/client-workspaces/src/commands/RegisterWorkspaceDirectoryCommand.ts @@ -40,11 +40,11 @@ export interface RegisterWorkspaceDirectoryCommandOutput extends RegisterWorkspa * // const { WorkSpacesClient, RegisterWorkspaceDirectoryCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import * const client = new WorkSpacesClient(config); * const input = { // RegisterWorkspaceDirectoryRequest - * DirectoryId: "STRING_VALUE", // required + * DirectoryId: "STRING_VALUE", * SubnetIds: [ // SubnetIds * "STRING_VALUE", * ], - * EnableWorkDocs: true || false, // required + * EnableWorkDocs: true || false, * EnableSelfService: true || false, * Tenancy: "DEDICATED" || "SHARED", * Tags: [ // TagList @@ -53,10 +53,21 @@ export interface RegisterWorkspaceDirectoryCommandOutput extends RegisterWorkspa * Value: "STRING_VALUE", * }, * ], + * WorkspaceDirectoryName: "STRING_VALUE", + * WorkspaceDirectoryDescription: "STRING_VALUE", + * UserIdentityType: "CUSTOMER_MANAGED" || "AWS_DIRECTORY_SERVICE", + * WorkspaceType: "PERSONAL" || "POOLS", + * ActiveDirectoryConfig: { // ActiveDirectoryConfig + * DomainName: "STRING_VALUE", // required + * ServiceAccountSecretArn: "STRING_VALUE", // required + * }, * }; * const command = new RegisterWorkspaceDirectoryCommand(input); * const response = await client.send(command); - * // {}; + * // { // RegisterWorkspaceDirectoryResult + * // DirectoryId: "STRING_VALUE", + * // State: "REGISTERING" || "REGISTERED" || "DEREGISTERING" || "DEREGISTERED" || "ERROR", + * // }; * * ``` * @@ -78,6 +89,9 @@ export interface RegisterWorkspaceDirectoryCommandOutput extends RegisterWorkspa * @throws {@link OperationNotSupportedException} (client fault) *

This operation is not supported.

* + * @throws {@link ResourceAlreadyExistsException} (client fault) + *

The specified resource already exists.

+ * * @throws {@link ResourceLimitExceededException} (client fault) *

Your resource limits have been exceeded.

* diff --git a/clients/client-workspaces/src/commands/StartWorkspacesCommand.ts b/clients/client-workspaces/src/commands/StartWorkspacesCommand.ts index fe7f7ec0b47f..a7806a327e7b 100644 --- a/clients/client-workspaces/src/commands/StartWorkspacesCommand.ts +++ b/clients/client-workspaces/src/commands/StartWorkspacesCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { StartWorkspacesRequest, StartWorkspacesResult } from "../models/models_0"; +import { StartWorkspacesRequest, StartWorkspacesResult } from "../models/models_1"; import { de_StartWorkspacesCommand, se_StartWorkspacesCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/StartWorkspacesPoolCommand.ts b/clients/client-workspaces/src/commands/StartWorkspacesPoolCommand.ts new file mode 100644 index 000000000000..8e8b54872621 --- /dev/null +++ b/clients/client-workspaces/src/commands/StartWorkspacesPoolCommand.ts @@ -0,0 +1,103 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { StartWorkspacesPoolRequest, StartWorkspacesPoolResult } from "../models/models_1"; +import { de_StartWorkspacesPoolCommand, se_StartWorkspacesPoolCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link StartWorkspacesPoolCommand}. + */ +export interface StartWorkspacesPoolCommandInput extends StartWorkspacesPoolRequest {} +/** + * @public + * + * The output of {@link StartWorkspacesPoolCommand}. + */ +export interface StartWorkspacesPoolCommandOutput extends StartWorkspacesPoolResult, __MetadataBearer {} + +/** + *

Starts the specified WorkSpaces pool.

+ *

You cannot start a WorkSpace pool unless it has a running mode of + * AutoStop and a state of STOPPED.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, StartWorkspacesPoolCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, StartWorkspacesPoolCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // StartWorkspacesPoolRequest + * PoolId: "STRING_VALUE", // required + * }; + * const command = new StartWorkspacesPoolCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param StartWorkspacesPoolCommandInput - {@link StartWorkspacesPoolCommandInput} + * @returns {@link StartWorkspacesPoolCommandOutput} + * @see {@link StartWorkspacesPoolCommandInput} for command's `input` shape. + * @see {@link StartWorkspacesPoolCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link InvalidResourceStateException} (client fault) + *

The state of the resource is not valid for this operation.

+ * + * @throws {@link OperationInProgressException} (client fault) + *

The properties of this WorkSpace are currently being modified. Try again in a moment.

+ * + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * + * @throws {@link ResourceLimitExceededException} (client fault) + *

Your resource limits have been exceeded.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class StartWorkspacesPoolCommand extends $Command + .classBuilder< + StartWorkspacesPoolCommandInput, + StartWorkspacesPoolCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "StartWorkspacesPool", {}) + .n("WorkSpacesClient", "StartWorkspacesPoolCommand") + .f(void 0, void 0) + .ser(se_StartWorkspacesPoolCommand) + .de(de_StartWorkspacesPoolCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/StopWorkspacesCommand.ts b/clients/client-workspaces/src/commands/StopWorkspacesCommand.ts index ddde7c2ed8e6..6b946caea950 100644 --- a/clients/client-workspaces/src/commands/StopWorkspacesCommand.ts +++ b/clients/client-workspaces/src/commands/StopWorkspacesCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { StopWorkspacesRequest, StopWorkspacesResult } from "../models/models_0"; +import { StopWorkspacesRequest, StopWorkspacesResult } from "../models/models_1"; import { de_StopWorkspacesCommand, se_StopWorkspacesCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/StopWorkspacesPoolCommand.ts b/clients/client-workspaces/src/commands/StopWorkspacesPoolCommand.ts new file mode 100644 index 000000000000..fcd04f368df6 --- /dev/null +++ b/clients/client-workspaces/src/commands/StopWorkspacesPoolCommand.ts @@ -0,0 +1,97 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { StopWorkspacesPoolRequest, StopWorkspacesPoolResult } from "../models/models_1"; +import { de_StopWorkspacesPoolCommand, se_StopWorkspacesPoolCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link StopWorkspacesPoolCommand}. + */ +export interface StopWorkspacesPoolCommandInput extends StopWorkspacesPoolRequest {} +/** + * @public + * + * The output of {@link StopWorkspacesPoolCommand}. + */ +export interface StopWorkspacesPoolCommandOutput extends StopWorkspacesPoolResult, __MetadataBearer {} + +/** + *

Stops the specifiedWorkSpaces pool.

+ *

You cannot stop a WorkSpace pool unless it has a running mode of AutoStop + * and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, StopWorkspacesPoolCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, StopWorkspacesPoolCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // StopWorkspacesPoolRequest + * PoolId: "STRING_VALUE", // required + * }; + * const command = new StopWorkspacesPoolCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param StopWorkspacesPoolCommandInput - {@link StopWorkspacesPoolCommandInput} + * @returns {@link StopWorkspacesPoolCommandOutput} + * @see {@link StopWorkspacesPoolCommandInput} for command's `input` shape. + * @see {@link StopWorkspacesPoolCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link InvalidResourceStateException} (client fault) + *

The state of the resource is not valid for this operation.

+ * + * @throws {@link OperationInProgressException} (client fault) + *

The properties of this WorkSpace are currently being modified. Try again in a moment.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class StopWorkspacesPoolCommand extends $Command + .classBuilder< + StopWorkspacesPoolCommandInput, + StopWorkspacesPoolCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "StopWorkspacesPool", {}) + .n("WorkSpacesClient", "StopWorkspacesPoolCommand") + .f(void 0, void 0) + .ser(se_StopWorkspacesPoolCommand) + .de(de_StopWorkspacesPoolCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/TerminateWorkspacesCommand.ts b/clients/client-workspaces/src/commands/TerminateWorkspacesCommand.ts index debd6dbb59f2..ed71c9ae0e7c 100644 --- a/clients/client-workspaces/src/commands/TerminateWorkspacesCommand.ts +++ b/clients/client-workspaces/src/commands/TerminateWorkspacesCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { TerminateWorkspacesRequest, TerminateWorkspacesResult } from "../models/models_0"; +import { TerminateWorkspacesRequest, TerminateWorkspacesResult } from "../models/models_1"; import { de_TerminateWorkspacesCommand, se_TerminateWorkspacesCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/TerminateWorkspacesPoolCommand.ts b/clients/client-workspaces/src/commands/TerminateWorkspacesPoolCommand.ts new file mode 100644 index 000000000000..0371e9bec9cb --- /dev/null +++ b/clients/client-workspaces/src/commands/TerminateWorkspacesPoolCommand.ts @@ -0,0 +1,95 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { TerminateWorkspacesPoolRequest, TerminateWorkspacesPoolResult } from "../models/models_1"; +import { de_TerminateWorkspacesPoolCommand, se_TerminateWorkspacesPoolCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link TerminateWorkspacesPoolCommand}. + */ +export interface TerminateWorkspacesPoolCommandInput extends TerminateWorkspacesPoolRequest {} +/** + * @public + * + * The output of {@link TerminateWorkspacesPoolCommand}. + */ +export interface TerminateWorkspacesPoolCommandOutput extends TerminateWorkspacesPoolResult, __MetadataBearer {} + +/** + *

Terminates the specified WorkSpaces pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, TerminateWorkspacesPoolCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, TerminateWorkspacesPoolCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // TerminateWorkspacesPoolRequest + * PoolId: "STRING_VALUE", // required + * }; + * const command = new TerminateWorkspacesPoolCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param TerminateWorkspacesPoolCommandInput - {@link TerminateWorkspacesPoolCommandInput} + * @returns {@link TerminateWorkspacesPoolCommandOutput} + * @see {@link TerminateWorkspacesPoolCommandInput} for command's `input` shape. + * @see {@link TerminateWorkspacesPoolCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link InvalidResourceStateException} (client fault) + *

The state of the resource is not valid for this operation.

+ * + * @throws {@link OperationInProgressException} (client fault) + *

The properties of this WorkSpace are currently being modified. Try again in a moment.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class TerminateWorkspacesPoolCommand extends $Command + .classBuilder< + TerminateWorkspacesPoolCommandInput, + TerminateWorkspacesPoolCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "TerminateWorkspacesPool", {}) + .n("WorkSpacesClient", "TerminateWorkspacesPoolCommand") + .f(void 0, void 0) + .ser(se_TerminateWorkspacesPoolCommand) + .de(de_TerminateWorkspacesPoolCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/TerminateWorkspacesPoolSessionCommand.ts b/clients/client-workspaces/src/commands/TerminateWorkspacesPoolSessionCommand.ts new file mode 100644 index 000000000000..4805030d37af --- /dev/null +++ b/clients/client-workspaces/src/commands/TerminateWorkspacesPoolSessionCommand.ts @@ -0,0 +1,100 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { TerminateWorkspacesPoolSessionRequest, TerminateWorkspacesPoolSessionResult } from "../models/models_1"; +import { + de_TerminateWorkspacesPoolSessionCommand, + se_TerminateWorkspacesPoolSessionCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link TerminateWorkspacesPoolSessionCommand}. + */ +export interface TerminateWorkspacesPoolSessionCommandInput extends TerminateWorkspacesPoolSessionRequest {} +/** + * @public + * + * The output of {@link TerminateWorkspacesPoolSessionCommand}. + */ +export interface TerminateWorkspacesPoolSessionCommandOutput + extends TerminateWorkspacesPoolSessionResult, + __MetadataBearer {} + +/** + *

Terminates the WorkSpaces pool session.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, TerminateWorkspacesPoolSessionCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, TerminateWorkspacesPoolSessionCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // TerminateWorkspacesPoolSessionRequest + * SessionId: "STRING_VALUE", // required + * }; + * const command = new TerminateWorkspacesPoolSessionCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param TerminateWorkspacesPoolSessionCommandInput - {@link TerminateWorkspacesPoolSessionCommandInput} + * @returns {@link TerminateWorkspacesPoolSessionCommandOutput} + * @see {@link TerminateWorkspacesPoolSessionCommandInput} for command's `input` shape. + * @see {@link TerminateWorkspacesPoolSessionCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link OperationInProgressException} (client fault) + *

The properties of this WorkSpace are currently being modified. Try again in a moment.

+ * + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class TerminateWorkspacesPoolSessionCommand extends $Command + .classBuilder< + TerminateWorkspacesPoolSessionCommandInput, + TerminateWorkspacesPoolSessionCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "TerminateWorkspacesPoolSession", {}) + .n("WorkSpacesClient", "TerminateWorkspacesPoolSessionCommand") + .f(void 0, void 0) + .ser(se_TerminateWorkspacesPoolSessionCommand) + .de(de_TerminateWorkspacesPoolSessionCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/UpdateConnectClientAddInCommand.ts b/clients/client-workspaces/src/commands/UpdateConnectClientAddInCommand.ts index ea217de79994..0ef7d4ba656c 100644 --- a/clients/client-workspaces/src/commands/UpdateConnectClientAddInCommand.ts +++ b/clients/client-workspaces/src/commands/UpdateConnectClientAddInCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateConnectClientAddInRequest, UpdateConnectClientAddInResult } from "../models/models_0"; +import { UpdateConnectClientAddInRequest, UpdateConnectClientAddInResult } from "../models/models_1"; import { de_UpdateConnectClientAddInCommand, se_UpdateConnectClientAddInCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/UpdateConnectionAliasPermissionCommand.ts b/clients/client-workspaces/src/commands/UpdateConnectionAliasPermissionCommand.ts index b966abd56da5..df830bc7204f 100644 --- a/clients/client-workspaces/src/commands/UpdateConnectionAliasPermissionCommand.ts +++ b/clients/client-workspaces/src/commands/UpdateConnectionAliasPermissionCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateConnectionAliasPermissionRequest, UpdateConnectionAliasPermissionResult } from "../models/models_0"; +import { UpdateConnectionAliasPermissionRequest, UpdateConnectionAliasPermissionResult } from "../models/models_1"; import { de_UpdateConnectionAliasPermissionCommand, se_UpdateConnectionAliasPermissionCommand, diff --git a/clients/client-workspaces/src/commands/UpdateRulesOfIpGroupCommand.ts b/clients/client-workspaces/src/commands/UpdateRulesOfIpGroupCommand.ts index 05b61f7d93f6..c94e47b3b022 100644 --- a/clients/client-workspaces/src/commands/UpdateRulesOfIpGroupCommand.ts +++ b/clients/client-workspaces/src/commands/UpdateRulesOfIpGroupCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateRulesOfIpGroupRequest, UpdateRulesOfIpGroupResult } from "../models/models_0"; +import { UpdateRulesOfIpGroupRequest, UpdateRulesOfIpGroupResult } from "../models/models_1"; import { de_UpdateRulesOfIpGroupCommand, se_UpdateRulesOfIpGroupCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/UpdateWorkspaceBundleCommand.ts b/clients/client-workspaces/src/commands/UpdateWorkspaceBundleCommand.ts index 8d2700092b3a..615c844375ab 100644 --- a/clients/client-workspaces/src/commands/UpdateWorkspaceBundleCommand.ts +++ b/clients/client-workspaces/src/commands/UpdateWorkspaceBundleCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateWorkspaceBundleRequest, UpdateWorkspaceBundleResult } from "../models/models_0"; +import { UpdateWorkspaceBundleRequest, UpdateWorkspaceBundleResult } from "../models/models_1"; import { de_UpdateWorkspaceBundleCommand, se_UpdateWorkspaceBundleCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; diff --git a/clients/client-workspaces/src/commands/UpdateWorkspaceImagePermissionCommand.ts b/clients/client-workspaces/src/commands/UpdateWorkspaceImagePermissionCommand.ts index 6669844fc7bb..9ffb25086405 100644 --- a/clients/client-workspaces/src/commands/UpdateWorkspaceImagePermissionCommand.ts +++ b/clients/client-workspaces/src/commands/UpdateWorkspaceImagePermissionCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateWorkspaceImagePermissionRequest, UpdateWorkspaceImagePermissionResult } from "../models/models_0"; +import { UpdateWorkspaceImagePermissionRequest, UpdateWorkspaceImagePermissionResult } from "../models/models_1"; import { de_UpdateWorkspaceImagePermissionCommand, se_UpdateWorkspaceImagePermissionCommand, diff --git a/clients/client-workspaces/src/commands/UpdateWorkspacesPoolCommand.ts b/clients/client-workspaces/src/commands/UpdateWorkspacesPoolCommand.ts new file mode 100644 index 000000000000..2a79aa3c196b --- /dev/null +++ b/clients/client-workspaces/src/commands/UpdateWorkspacesPoolCommand.ts @@ -0,0 +1,149 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateWorkspacesPoolRequest, UpdateWorkspacesPoolResult } from "../models/models_1"; +import { de_UpdateWorkspacesPoolCommand, se_UpdateWorkspacesPoolCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateWorkspacesPoolCommand}. + */ +export interface UpdateWorkspacesPoolCommandInput extends UpdateWorkspacesPoolRequest {} +/** + * @public + * + * The output of {@link UpdateWorkspacesPoolCommand}. + */ +export interface UpdateWorkspacesPoolCommandOutput extends UpdateWorkspacesPoolResult, __MetadataBearer {} + +/** + *

Updates the specified WorkSpaces pool.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesClient, UpdateWorkspacesPoolCommand } from "@aws-sdk/client-workspaces"; // ES Modules import + * // const { WorkSpacesClient, UpdateWorkspacesPoolCommand } = require("@aws-sdk/client-workspaces"); // CommonJS import + * const client = new WorkSpacesClient(config); + * const input = { // UpdateWorkspacesPoolRequest + * PoolId: "STRING_VALUE", // required + * Description: "STRING_VALUE", + * BundleId: "STRING_VALUE", + * DirectoryId: "STRING_VALUE", + * Capacity: { // Capacity + * DesiredUserSessions: Number("int"), // required + * }, + * ApplicationSettings: { // ApplicationSettingsRequest + * Status: "DISABLED" || "ENABLED", // required + * SettingsGroup: "STRING_VALUE", + * }, + * TimeoutSettings: { // TimeoutSettings + * DisconnectTimeoutInSeconds: Number("int"), + * IdleDisconnectTimeoutInSeconds: Number("int"), + * MaxUserDurationInSeconds: Number("int"), + * }, + * }; + * const command = new UpdateWorkspacesPoolCommand(input); + * const response = await client.send(command); + * // { // UpdateWorkspacesPoolResult + * // WorkspacesPool: { // WorkspacesPool + * // PoolId: "STRING_VALUE", // required + * // PoolArn: "STRING_VALUE", // required + * // CapacityStatus: { // CapacityStatus + * // AvailableUserSessions: Number("int"), // required + * // DesiredUserSessions: Number("int"), // required + * // ActualUserSessions: Number("int"), // required + * // ActiveUserSessions: Number("int"), // required + * // }, + * // PoolName: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // State: "CREATING" || "DELETING" || "RUNNING" || "STARTING" || "STOPPED" || "STOPPING" || "UPDATING", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // BundleId: "STRING_VALUE", // required + * // DirectoryId: "STRING_VALUE", // required + * // Errors: [ // WorkspacesPoolErrors + * // { // WorkspacesPoolError + * // ErrorCode: "IAM_SERVICE_ROLE_IS_MISSING" || "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "WORKSPACES_POOL_STOPPED" || "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" || "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING" || "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE" || "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID" || "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND" || "DOMAIN_JOIN_ERROR_SECRET_INVALID" || "BUNDLE_NOT_FOUND" || "DIRECTORY_NOT_FOUND" || "INSUFFICIENT_PERMISSIONS_ERROR" || "DEFAULT_OU_IS_MISSING", + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], + * // ApplicationSettings: { // ApplicationSettingsResponse + * // Status: "DISABLED" || "ENABLED", // required + * // SettingsGroup: "STRING_VALUE", + * // S3BucketName: "STRING_VALUE", + * // }, + * // TimeoutSettings: { // TimeoutSettings + * // DisconnectTimeoutInSeconds: Number("int"), + * // IdleDisconnectTimeoutInSeconds: Number("int"), + * // MaxUserDurationInSeconds: Number("int"), + * // }, + * // }, + * // }; + * + * ``` + * + * @param UpdateWorkspacesPoolCommandInput - {@link UpdateWorkspacesPoolCommandInput} + * @returns {@link UpdateWorkspacesPoolCommandOutput} + * @see {@link UpdateWorkspacesPoolCommandInput} for command's `input` shape. + * @see {@link UpdateWorkspacesPoolCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesClientResolvedConfig | config} for WorkSpacesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

The user is not authorized to access a resource.

+ * + * @throws {@link InvalidParameterValuesException} (client fault) + *

One or more parameter values are not valid.

+ * + * @throws {@link InvalidResourceStateException} (client fault) + *

The state of the resource is not valid for this operation.

+ * + * @throws {@link OperationInProgressException} (client fault) + *

The properties of this WorkSpace are currently being modified. Try again in a moment.

+ * + * @throws {@link OperationNotSupportedException} (client fault) + *

This operation is not supported.

+ * + * @throws {@link ResourceLimitExceededException} (client fault) + *

Your resource limits have been exceeded.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found.

+ * + * @throws {@link WorkSpacesServiceException} + *

Base exception class for all service exceptions from WorkSpaces service.

+ * + * @public + */ +export class UpdateWorkspacesPoolCommand extends $Command + .classBuilder< + UpdateWorkspacesPoolCommandInput, + UpdateWorkspacesPoolCommandOutput, + WorkSpacesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkspacesService", "UpdateWorkspacesPool", {}) + .n("WorkSpacesClient", "UpdateWorkspacesPoolCommand") + .f(void 0, void 0) + .ser(se_UpdateWorkspacesPoolCommand) + .de(de_UpdateWorkspacesPoolCommand) + .build() {} diff --git a/clients/client-workspaces/src/commands/index.ts b/clients/client-workspaces/src/commands/index.ts index 25c5fafd4f02..314090296174 100644 --- a/clients/client-workspaces/src/commands/index.ts +++ b/clients/client-workspaces/src/commands/index.ts @@ -15,6 +15,7 @@ export * from "./CreateUpdatedWorkspaceImageCommand"; export * from "./CreateWorkspaceBundleCommand"; export * from "./CreateWorkspaceImageCommand"; export * from "./CreateWorkspacesCommand"; +export * from "./CreateWorkspacesPoolCommand"; export * from "./DeleteAccountLinkInvitationCommand"; export * from "./DeleteClientBrandingCommand"; export * from "./DeleteConnectClientAddInCommand"; @@ -46,6 +47,8 @@ export * from "./DescribeWorkspaceImagesCommand"; export * from "./DescribeWorkspaceSnapshotsCommand"; export * from "./DescribeWorkspacesCommand"; export * from "./DescribeWorkspacesConnectionStatusCommand"; +export * from "./DescribeWorkspacesPoolSessionsCommand"; +export * from "./DescribeWorkspacesPoolsCommand"; export * from "./DisassociateConnectionAliasCommand"; export * from "./DisassociateIpGroupsCommand"; export * from "./DisassociateWorkspaceApplicationCommand"; @@ -60,6 +63,7 @@ export * from "./ModifyCertificateBasedAuthPropertiesCommand"; export * from "./ModifyClientPropertiesCommand"; export * from "./ModifySamlPropertiesCommand"; export * from "./ModifySelfservicePermissionsCommand"; +export * from "./ModifyStreamingPropertiesCommand"; export * from "./ModifyWorkspaceAccessPropertiesCommand"; export * from "./ModifyWorkspaceCreationPropertiesCommand"; export * from "./ModifyWorkspacePropertiesCommand"; @@ -71,10 +75,15 @@ export * from "./RejectAccountLinkInvitationCommand"; export * from "./RestoreWorkspaceCommand"; export * from "./RevokeIpRulesCommand"; export * from "./StartWorkspacesCommand"; +export * from "./StartWorkspacesPoolCommand"; export * from "./StopWorkspacesCommand"; +export * from "./StopWorkspacesPoolCommand"; export * from "./TerminateWorkspacesCommand"; +export * from "./TerminateWorkspacesPoolCommand"; +export * from "./TerminateWorkspacesPoolSessionCommand"; export * from "./UpdateConnectClientAddInCommand"; export * from "./UpdateConnectionAliasPermissionCommand"; export * from "./UpdateRulesOfIpGroupCommand"; export * from "./UpdateWorkspaceBundleCommand"; export * from "./UpdateWorkspaceImagePermissionCommand"; +export * from "./UpdateWorkspacesPoolCommand"; diff --git a/clients/client-workspaces/src/models/index.ts b/clients/client-workspaces/src/models/index.ts index 9eaceb12865f..1657800f73ce 100644 --- a/clients/client-workspaces/src/models/index.ts +++ b/clients/client-workspaces/src/models/index.ts @@ -1,2 +1,3 @@ // smithy-typescript generated code export * from "./models_0"; +export * from "./models_1"; diff --git a/clients/client-workspaces/src/models/models_0.ts b/clients/client-workspaces/src/models/models_0.ts index d29b1364c50d..66203b156849 100644 --- a/clients/client-workspaces/src/models/models_0.ts +++ b/clients/client-workspaces/src/models/models_0.ts @@ -276,6 +276,24 @@ export interface AccountModification { ErrorMessage?: string; } +/** + *

Information about the Active Directory config.

+ * @public + */ +export interface ActiveDirectoryConfig { + /** + *

The name of the domain.

+ * @public + */ + DomainName: string | undefined; + + /** + *

Indicates the secret ARN on the service account.

+ * @public + */ + ServiceAccountSecretArn: string | undefined; +} + /** * @public * @enum @@ -430,6 +448,67 @@ export interface ApplicationResourceAssociation { StateReason?: AssociationStateReason; } +/** + * @public + * @enum + */ +export const ApplicationSettingsStatusEnum = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type ApplicationSettingsStatusEnum = + (typeof ApplicationSettingsStatusEnum)[keyof typeof ApplicationSettingsStatusEnum]; + +/** + *

The persistent application settings for users of a WorkSpaces pool.

+ * @public + */ +export interface ApplicationSettingsRequest { + /** + *

Enables or disables persistent application settings for users during their pool sessions.

+ * @public + */ + Status: ApplicationSettingsStatusEnum | undefined; + + /** + *

The path prefix for the S3 bucket where users’ persistent application settings are stored. + * You can allow the same persistent application settings to be used across multiple pools by specifying + * the same settings group for each pool.

+ * @public + */ + SettingsGroup?: string; +} + +/** + *

Describes the persistent application settings for users of a WorkSpaces pool.

+ * @public + */ +export interface ApplicationSettingsResponse { + /** + *

Specifies whether persistent application settings are enabled for users during their pool sessions.

+ * @public + */ + Status: ApplicationSettingsStatusEnum | undefined; + + /** + *

The path prefix for the S3 bucket where users’ persistent application settings are stored.

+ * @public + */ + SettingsGroup?: string; + + /** + *

The S3 bucket where users’ persistent application settings are stored. When persistent + * application settings are enabled for the first time for an account in an Amazon Web Services Region, + * an S3 bucket is created. The bucket is unique to the Amazon Web Services account and the Region.

+ * @public + */ + S3BucketName?: string; +} + /** * @public */ @@ -802,6 +881,19 @@ export const AssociationStatus = { */ export type AssociationStatus = (typeof AssociationStatus)[keyof typeof AssociationStatus]; +/** + * @public + * @enum + */ +export const AuthenticationType = { + SAML: "SAML", +} as const; + +/** + * @public + */ +export type AuthenticationType = (typeof AuthenticationType)[keyof typeof AuthenticationType]; + /** *

Describes a rule for an IP access control group.

* @public @@ -1070,6 +1162,51 @@ export interface BundleResourceAssociation { StateReason?: AssociationStateReason; } +/** + *

Describes the user capacity for a WorkSpaces pool.

+ * @public + */ +export interface Capacity { + /** + *

The desired number of user sessions for a multi-session pool. + * This is not allowed for single-session pools.

+ * @public + */ + DesiredUserSessions: number | undefined; +} + +/** + *

Describes the capacity status for a WorkSpaces pool

+ * @public + */ +export interface CapacityStatus { + /** + *

The number of user sessions currently being used for pool sessions. This only applies to multi-session pools.

+ * @public + */ + AvailableUserSessions: number | undefined; + + /** + *

The total number of sessions slots that are either running or pending. This + * represents the total number of concurrent streaming sessions your pool can support + * in a steady state.

+ * @public + */ + DesiredUserSessions: number | undefined; + + /** + *

The total number of session slots that are available for WorkSpaces pools.

+ * @public + */ + ActualUserSessions: number | undefined; + + /** + *

The number of user sessions currently being used for pool sessions. This only applies to multi-session pools.

+ * @public + */ + ActiveUserSessions: number | undefined; +} + /** * @public * @enum @@ -2626,6 +2763,270 @@ export interface CreateWorkspacesResult { PendingRequests?: Workspace[]; } +/** + *

Describes the timeout settings for a WorkSpaces pool.

+ * @public + */ +export interface TimeoutSettings { + /** + *

Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect. + * If users try to reconnect to the streaming session after a disconnection or network interruption + * within the time set, they are connected to their previous session. Otherwise, they are connected + * to a new session with a new streaming instance.

+ * @public + */ + DisconnectTimeoutInSeconds?: number; + + /** + *

The amount of time in seconds a connection will stay active while idle.

+ * @public + */ + IdleDisconnectTimeoutInSeconds?: number; + + /** + *

Specifies the maximum amount of time, in seconds, that a streaming session can remain active. + * If users are still connected to a streaming instance five minutes before this limit is reached, + * they are prompted to save any open documents before being disconnected. After this time elapses, + * the instance is terminated and replaced by a new instance.

+ * @public + */ + MaxUserDurationInSeconds?: number; +} + +/** + * @public + */ +export interface CreateWorkspacesPoolRequest { + /** + *

The name of the WorkSpaces pool.

+ * @public + */ + PoolName: string | undefined; + + /** + *

The WorkSpaces pool description.

+ * @public + */ + Description: string | undefined; + + /** + *

The identifier of the bundle for the WorkSpaces pool.

+ * @public + */ + BundleId: string | undefined; + + /** + *

The identifier of the directory for the WorkSpaces pool.

+ * @public + */ + DirectoryId: string | undefined; + + /** + *

The user capacity of the WorkSpaces pool.

+ * @public + */ + Capacity: Capacity | undefined; + + /** + *

The tags for the WorkSpaces pool.

+ * @public + */ + Tags?: Tag[]; + + /** + *

Indicates the application settings of the WorkSpaces pool.

+ * @public + */ + ApplicationSettings?: ApplicationSettingsRequest; + + /** + *

Indicates the timeout settings of the WorkSpaces pool.

+ * @public + */ + TimeoutSettings?: TimeoutSettings; +} + +/** + * @public + * @enum + */ +export const WorkspacesPoolErrorCode = { + BUNDLE_NOT_FOUND: "BUNDLE_NOT_FOUND", + DEFAULT_OU_IS_MISSING: "DEFAULT_OU_IS_MISSING", + DIRECTORY_NOT_FOUND: "DIRECTORY_NOT_FOUND", + DOMAIN_JOIN_ERROR_ACCESS_DENIED: "DOMAIN_JOIN_ERROR_ACCESS_DENIED", + DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", + DOMAIN_JOIN_ERROR_FILE_NOT_FOUND: "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", + DOMAIN_JOIN_ERROR_INVALID_PARAMETER: "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", + DOMAIN_JOIN_ERROR_LOGON_FAILURE: "DOMAIN_JOIN_ERROR_LOGON_FAILURE", + DOMAIN_JOIN_ERROR_MORE_DATA: "DOMAIN_JOIN_ERROR_MORE_DATA", + DOMAIN_JOIN_ERROR_NOT_SUPPORTED: "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", + DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN: "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", + DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING: "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING", + DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE: "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE", + DOMAIN_JOIN_ERROR_SECRET_INVALID: "DOMAIN_JOIN_ERROR_SECRET_INVALID", + DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND: "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND", + DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID: "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID", + DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND: "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND", + DOMAIN_JOIN_INTERNAL_SERVICE_ERROR: "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME: "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", + DOMAIN_JOIN_NERR_PASSWORD_EXPIRED: "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", + DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED: "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", + IAM_SERVICE_ROLE_IS_MISSING: "IAM_SERVICE_ROLE_IS_MISSING", + IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", + IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", + IGW_NOT_ATTACHED: "IGW_NOT_ATTACHED", + IMAGE_NOT_FOUND: "IMAGE_NOT_FOUND", + INSUFFICIENT_PERMISSIONS_ERROR: "INSUFFICIENT_PERMISSIONS_ERROR", + INTERNAL_SERVICE_ERROR: "INTERNAL_SERVICE_ERROR", + INVALID_SUBNET_CONFIGURATION: "INVALID_SUBNET_CONFIGURATION", + MACHINE_ROLE_IS_MISSING: "MACHINE_ROLE_IS_MISSING", + NETWORK_INTERFACE_LIMIT_EXCEEDED: "NETWORK_INTERFACE_LIMIT_EXCEEDED", + SECURITY_GROUPS_NOT_FOUND: "SECURITY_GROUPS_NOT_FOUND", + STS_DISABLED_IN_REGION: "STS_DISABLED_IN_REGION", + SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES: "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", + SUBNET_NOT_FOUND: "SUBNET_NOT_FOUND", + WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE: "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE", + WORKSPACES_POOL_STOPPED: "WORKSPACES_POOL_STOPPED", +} as const; + +/** + * @public + */ +export type WorkspacesPoolErrorCode = (typeof WorkspacesPoolErrorCode)[keyof typeof WorkspacesPoolErrorCode]; + +/** + *

Describes a WorkSpaces pool error.

+ * @public + */ +export interface WorkspacesPoolError { + /** + *

The error code.

+ * @public + */ + ErrorCode?: WorkspacesPoolErrorCode; + + /** + *

The error message.

+ * @public + */ + ErrorMessage?: string; +} + +/** + * @public + * @enum + */ +export const WorkspacesPoolState = { + CREATING: "CREATING", + DELETING: "DELETING", + RUNNING: "RUNNING", + STARTING: "STARTING", + STOPPED: "STOPPED", + STOPPING: "STOPPING", + UPDATING: "UPDATING", +} as const; + +/** + * @public + */ +export type WorkspacesPoolState = (typeof WorkspacesPoolState)[keyof typeof WorkspacesPoolState]; + +/** + *

Describes a WorkSpaces pool.

+ * @public + */ +export interface WorkspacesPool { + /** + *

The identifier of a WorkSpaces pool.

+ * @public + */ + PoolId: string | undefined; + + /** + *

The Amazon Resource Name (ARN) for the WorkSpaces pool.

+ * @public + */ + PoolArn: string | undefined; + + /** + *

The capacity status for the pool

+ * @public + */ + CapacityStatus: CapacityStatus | undefined; + + /** + *

The name of the pool,

+ * @public + */ + PoolName: string | undefined; + + /** + *

The description of the pool.

+ * @public + */ + Description?: string; + + /** + *

The current state of the pool.

+ * @public + */ + State: WorkspacesPoolState | undefined; + + /** + *

The time the pool was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The identifier of the bundle used by the pool.

+ * @public + */ + BundleId: string | undefined; + + /** + *

The identifier of the directory used by the pool.

+ * @public + */ + DirectoryId: string | undefined; + + /** + *

The pool errors.

+ * @public + */ + Errors?: WorkspacesPoolError[]; + + /** + *

The persistent application settings for users of the pool.

+ * @public + */ + ApplicationSettings?: ApplicationSettingsResponse; + + /** + *

The amount of time that a pool session remains active after users disconnect. + * If they try to reconnect to the pool session after a disconnection or network interruption + * within this time interval, they are connected to their previous session. + * Otherwise, they are connected to a new session with a new pool instance.

+ * @public + */ + TimeoutSettings?: TimeoutSettings; +} + +/** + * @public + */ +export interface CreateWorkspacesPoolResult { + /** + *

Indicates the WorkSpaces pool to create.

+ * @public + */ + WorkspacesPool?: WorkspacesPool; +} + /** * @public * @enum @@ -2849,6 +3250,12 @@ export interface DefaultWorkspaceCreationProperties { * @public */ EnableMaintenanceMode?: boolean; + + /** + *

Indicates the IAM role ARN of the instance.

+ * @public + */ + InstanceIamRoleArn?: string; } /** @@ -3970,6 +4377,12 @@ export interface DescribeWorkspaceDirectoriesRequest { */ DirectoryIds?: string[]; + /** + *

The names of the WorkSpace directories.

+ * @public + */ + WorkspaceDirectoryNames?: string[]; + /** *

The maximum number of directories to return.

* @public @@ -3990,6 +4403,7 @@ export interface DescribeWorkspaceDirectoriesRequest { */ export const WorkspaceDirectoryType = { AD_CONNECTOR: "AD_CONNECTOR", + CUSTOMER_MANAGED: "CUSTOMER_MANAGED", SIMPLE_AD: "SIMPLE_AD", } as const; @@ -4114,6 +4528,144 @@ export const WorkspaceDirectoryState = { */ export type WorkspaceDirectoryState = (typeof WorkspaceDirectoryState)[keyof typeof WorkspaceDirectoryState]; +/** + * @public + * @enum + */ +export const StorageConnectorTypeEnum = { + HOME_FOLDER: "HOME_FOLDER", +} as const; + +/** + * @public + */ +export type StorageConnectorTypeEnum = (typeof StorageConnectorTypeEnum)[keyof typeof StorageConnectorTypeEnum]; + +/** + * @public + * @enum + */ +export const StorageConnectorStatusEnum = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type StorageConnectorStatusEnum = (typeof StorageConnectorStatusEnum)[keyof typeof StorageConnectorStatusEnum]; + +/** + *

Describes the storage connector.

+ * @public + */ +export interface StorageConnector { + /** + *

The type of connector used to save user files.

+ * @public + */ + ConnectorType: StorageConnectorTypeEnum | undefined; + + /** + *

Indicates if the storage connetor is enabled or disabled.

+ * @public + */ + Status: StorageConnectorStatusEnum | undefined; +} + +/** + * @public + * @enum + */ +export const StreamingExperiencePreferredProtocolEnum = { + TCP: "TCP", + UDP: "UDP", +} as const; + +/** + * @public + */ +export type StreamingExperiencePreferredProtocolEnum = + (typeof StreamingExperiencePreferredProtocolEnum)[keyof typeof StreamingExperiencePreferredProtocolEnum]; + +/** + * @public + * @enum + */ +export const UserSettingActionEnum = { + CLIPBOARD_COPY_FROM_LOCAL_DEVICE: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", + CLIPBOARD_COPY_TO_LOCAL_DEVICE: "CLIPBOARD_COPY_TO_LOCAL_DEVICE", + PRINTING_TO_LOCAL_DEVICE: "PRINTING_TO_LOCAL_DEVICE", + SMART_CARD: "SMART_CARD", +} as const; + +/** + * @public + */ +export type UserSettingActionEnum = (typeof UserSettingActionEnum)[keyof typeof UserSettingActionEnum]; + +/** + * @public + * @enum + */ +export const UserSettingPermissionEnum = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type UserSettingPermissionEnum = (typeof UserSettingPermissionEnum)[keyof typeof UserSettingPermissionEnum]; + +/** + *

Information about the user's permission settings.

+ * @public + */ +export interface UserSetting { + /** + *

Indicates the type of action.

+ * @public + */ + Action: UserSettingActionEnum | undefined; + + /** + *

Indicates if the setting is enabled or disabled.

+ * @public + */ + Permission: UserSettingPermissionEnum | undefined; + + /** + *

Indicates the maximum character length for the specified user setting.

+ * @public + */ + MaximumLength?: number; +} + +/** + *

Describes the streaming properties.

+ * @public + */ +export interface StreamingProperties { + /** + *

Indicates the type of preferred protocol for the streaming experience.

+ * @public + */ + StreamingExperiencePreferredProtocol?: StreamingExperiencePreferredProtocolEnum; + + /** + *

Indicates the permission settings asscoiated with the user.

+ * @public + */ + UserSettings?: UserSetting[]; + + /** + *

Indicates the storage connector used

+ * @public + */ + StorageConnectors?: StorageConnector[]; +} + /** * @public * @enum @@ -4128,6 +4680,20 @@ export const Tenancy = { */ export type Tenancy = (typeof Tenancy)[keyof typeof Tenancy]; +/** + * @public + * @enum + */ +export const UserIdentityType = { + AWS_DIRECTORY_SERVICE: "AWS_DIRECTORY_SERVICE", + CUSTOMER_MANAGED: "CUSTOMER_MANAGED", +} as const; + +/** + * @public + */ +export type UserIdentityType = (typeof UserIdentityType)[keyof typeof UserIdentityType]; + /** *

The device types and operating systems that can be used to access a WorkSpace. For more * information, see Amazon @@ -4185,6 +4751,20 @@ export interface WorkspaceAccessProperties { DeviceTypeLinux?: AccessPropertyValue; } +/** + * @public + * @enum + */ +export const WorkspaceType = { + PERSONAL: "PERSONAL", + POOLS: "POOLS", +} as const; + +/** + * @public + */ +export type WorkspaceType = (typeof WorkspaceType)[keyof typeof WorkspaceType]; + /** *

Describes a directory that is used with Amazon WorkSpaces.

* @public @@ -4308,6 +4888,48 @@ export interface WorkspaceDirectory { * @public */ CertificateBasedAuthProperties?: CertificateBasedAuthProperties; + + /** + *

The name fo the WorkSpace directory.

+ * @public + */ + WorkspaceDirectoryName?: string; + + /** + *

The description of the WorkSpace directory

+ * @public + */ + WorkspaceDirectoryDescription?: string; + + /** + *

Indicates the identity type of the specifired user.

+ * @public + */ + UserIdentityType?: UserIdentityType; + + /** + *

Indicates whether the directory's WorkSpace type is personal or pools.

+ * @public + */ + WorkspaceType?: WorkspaceType; + + /** + *

Information about the Active Directory config.

+ * @public + */ + ActiveDirectoryConfig?: ActiveDirectoryConfig; + + /** + *

The streaming properties to configure.

+ * @public + */ + StreamingProperties?: StreamingProperties; + + /** + *

The error message returned.

+ * @public + */ + ErrorMessage?: string; } /** @@ -4793,14 +5415,259 @@ export interface DescribeWorkspaceSnapshotsResult { * include the user volume.

* @public */ - RebuildSnapshots?: Snapshot[]; + RebuildSnapshots?: Snapshot[]; + + /** + *

Information about the snapshots that can be used to restore a WorkSpace. These snapshots + * include both the root volume and the user volume.

+ * @public + */ + RestoreSnapshots?: Snapshot[]; +} + +/** + * @public + * @enum + */ +export const DescribeWorkspacesPoolsFilterName = { + POOLNAME: "PoolName", +} as const; + +/** + * @public + */ +export type DescribeWorkspacesPoolsFilterName = + (typeof DescribeWorkspacesPoolsFilterName)[keyof typeof DescribeWorkspacesPoolsFilterName]; + +/** + * @public + * @enum + */ +export const DescribeWorkspacesPoolsFilterOperator = { + CONTAINS: "CONTAINS", + EQUALS: "EQUALS", + NOTCONTAINS: "NOTCONTAINS", + NOTEQUALS: "NOTEQUALS", +} as const; + +/** + * @public + */ +export type DescribeWorkspacesPoolsFilterOperator = + (typeof DescribeWorkspacesPoolsFilterOperator)[keyof typeof DescribeWorkspacesPoolsFilterOperator]; + +/** + *

Describes the filter conditions for the WorkSpaces pool to return.

+ * @public + */ +export interface DescribeWorkspacesPoolsFilter { + /** + *

The name of the pool to filter.

+ * @public + */ + Name: DescribeWorkspacesPoolsFilterName | undefined; + + /** + *

The values for filtering WorkSpaces pools.

+ * @public + */ + Values: string[] | undefined; + + /** + *

The operator values for filtering WorkSpaces pools.

+ * @public + */ + Operator: DescribeWorkspacesPoolsFilterOperator | undefined; +} + +/** + * @public + */ +export interface DescribeWorkspacesPoolsRequest { + /** + *

The identifier of the WorkSpaces pool.

+ * @public + */ + PoolIds?: string[]; + + /** + *

The filter conditions for the WorkSpaces pool to return.

+ * @public + */ + Filters?: DescribeWorkspacesPoolsFilter[]; + + /** + *

The maximum number of items to return.

+ * @public + */ + Limit?: number; + + /** + *

If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeWorkspacesPoolsResult { + /** + *

Information about the WorkSpaces pools.

+ * @public + */ + WorkspacesPools?: WorkspacesPool[]; + + /** + *

If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeWorkspacesPoolSessionsRequest { + /** + *

The identifier of the WorkSpaces pool.

+ * @public + */ + PoolId: string | undefined; + + /** + *

The identifier of the user.

+ * @public + */ + UserId?: string; + + /** + *

The maximum number of items to return.

+ * @public + */ + Limit?: number; + + /** + *

If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + * @enum + */ +export const SessionConnectionState = { + CONNECTED: "CONNECTED", + NOT_CONNECTED: "NOT_CONNECTED", +} as const; + +/** + * @public + */ +export type SessionConnectionState = (typeof SessionConnectionState)[keyof typeof SessionConnectionState]; + +/** + *

Describes the network details of a WorkSpaces pool.

+ * @public + */ +export interface NetworkAccessConfiguration { + /** + *

The private IP address of the elastic network interface that is attached to instances in your VPC.

+ * @public + */ + EniPrivateIpAddress?: string; + + /** + *

The resource identifier of the elastic network interface that is attached to instances in your + * VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

+ * @public + */ + EniId?: string; +} + +/** + *

Describes a WorkSpaces pool session.

+ * @public + */ +export interface WorkspacesPoolSession { + /** + *

The authentication method. The user is authenticated using a WorkSpaces + * pool URL (API) or SAML 2.0 federation (SAML).

+ * @public + */ + AuthenticationType?: AuthenticationType; + + /** + *

Specifies whether a user is connected to the pool session.

+ * @public + */ + ConnectionState?: SessionConnectionState; + + /** + *

The identifier of the session.

+ * @public + */ + SessionId: string | undefined; + + /** + *

The identifier for the instance hosting the session.

+ * @public + */ + InstanceId?: string; + + /** + *

The identifier of the pool.

+ * @public + */ + PoolId: string | undefined; + + /** + *

The time that the pool session ended.

+ * @public + */ + ExpirationTime?: Date; + + /** + *

Describes the network details of the pool.

+ * @public + */ + NetworkAccessConfiguration?: NetworkAccessConfiguration; + + /** + *

The time that the pool sission started.

+ * @public + */ + StartTime?: Date; + + /** + *

The identifier of the user.

+ * @public + */ + UserId: string | undefined; +} + +/** + * @public + */ +export interface DescribeWorkspacesPoolSessionsResult { + /** + *

Describes the WorkSpaces pool sessions.

+ * @public + */ + Sessions?: WorkspacesPoolSession[]; /** - *

Information about the snapshots that can be used to restore a WorkSpace. These snapshots - * include both the root volume and the user volume.

+ *

If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

* @public */ - RestoreSnapshots?: Snapshot[]; + NextToken?: string; } /** @@ -5482,6 +6349,28 @@ export interface ModifySelfservicePermissionsRequest { */ export interface ModifySelfservicePermissionsResult {} +/** + * @public + */ +export interface ModifyStreamingPropertiesRequest { + /** + *

The identifier of the resource.

+ * @public + */ + ResourceId: string | undefined; + + /** + *

The streaming properties to configure.

+ * @public + */ + StreamingProperties?: StreamingProperties; +} + +/** + * @public + */ +export interface ModifyStreamingPropertiesResult {} + /** * @public */ @@ -5577,6 +6466,12 @@ export interface WorkspaceCreationProperties { * @public */ EnableMaintenanceMode?: boolean; + + /** + *

Indicates the IAM role ARN of the instance.

+ * @public + */ + InstanceIamRoleArn?: string; } /** @@ -5768,7 +6663,7 @@ export interface RegisterWorkspaceDirectoryRequest { * WorkSpaces, and try again.

* @public */ - DirectoryId: string | undefined; + DirectoryId?: string; /** *

The identifiers of the subnets for your virtual private cloud (VPC). Make sure that the @@ -5786,7 +6681,7 @@ export interface RegisterWorkspaceDirectoryRequest { * again.

* @public */ - EnableWorkDocs: boolean | undefined; + EnableWorkDocs?: boolean; /** *

Indicates whether self-service capabilities are enabled or disabled.

@@ -5809,12 +6704,54 @@ export interface RegisterWorkspaceDirectoryRequest { * @public */ Tags?: Tag[]; + + /** + *

The name of the directory to register.

+ * @public + */ + WorkspaceDirectoryName?: string; + + /** + *

Description of the directory to register.

+ * @public + */ + WorkspaceDirectoryDescription?: string; + + /** + *

The type of identity management the user is using.

+ * @public + */ + UserIdentityType?: UserIdentityType; + + /** + *

Indicates whether the directory's WorkSpace type is personal or pools.

+ * @public + */ + WorkspaceType?: WorkspaceType; + + /** + *

The active directory config of the directory.

+ * @public + */ + ActiveDirectoryConfig?: ActiveDirectoryConfig; } /** * @public */ -export interface RegisterWorkspaceDirectoryResult {} +export interface RegisterWorkspaceDirectoryResult { + /** + *

The identifier of the directory.

+ * @public + */ + DirectoryId?: string; + + /** + *

The registration status of the WorkSpace directory.

+ * @public + */ + State?: WorkspaceDirectoryState; +} /** *

The configuration of this network is not supported for this operation, or your network configuration @@ -5925,238 +6862,3 @@ export interface RevokeIpRulesRequest { * @public */ export interface RevokeIpRulesResult {} - -/** - *

Information used to start a WorkSpace.

- * @public - */ -export interface StartRequest { - /** - *

The identifier of the WorkSpace.

- * @public - */ - WorkspaceId?: string; -} - -/** - * @public - */ -export interface StartWorkspacesRequest { - /** - *

The WorkSpaces to start. You can specify up to 25 WorkSpaces.

- * @public - */ - StartWorkspaceRequests: StartRequest[] | undefined; -} - -/** - * @public - */ -export interface StartWorkspacesResult { - /** - *

Information about the WorkSpaces that could not be started.

- * @public - */ - FailedRequests?: FailedWorkspaceChangeRequest[]; -} - -/** - *

Describes the information used to stop a WorkSpace.

- * @public - */ -export interface StopRequest { - /** - *

The identifier of the WorkSpace.

- * @public - */ - WorkspaceId?: string; -} - -/** - * @public - */ -export interface StopWorkspacesRequest { - /** - *

The WorkSpaces to stop. You can specify up to 25 WorkSpaces.

- * @public - */ - StopWorkspaceRequests: StopRequest[] | undefined; -} - -/** - * @public - */ -export interface StopWorkspacesResult { - /** - *

Information about the WorkSpaces that could not be stopped.

- * @public - */ - FailedRequests?: FailedWorkspaceChangeRequest[]; -} - -/** - *

Describes the information used to terminate a WorkSpace.

- * @public - */ -export interface TerminateRequest { - /** - *

The identifier of the WorkSpace.

- * @public - */ - WorkspaceId: string | undefined; -} - -/** - * @public - */ -export interface TerminateWorkspacesRequest { - /** - *

The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.

- * @public - */ - TerminateWorkspaceRequests: TerminateRequest[] | undefined; -} - -/** - * @public - */ -export interface TerminateWorkspacesResult { - /** - *

Information about the WorkSpaces that could not be terminated.

- * @public - */ - FailedRequests?: FailedWorkspaceChangeRequest[]; -} - -/** - * @public - */ -export interface UpdateConnectClientAddInRequest { - /** - *

The identifier of the client add-in to update.

- * @public - */ - AddInId: string | undefined; - - /** - *

The directory identifier for which the client add-in is configured.

- * @public - */ - ResourceId: string | undefined; - - /** - *

The name of the client add-in.

- * @public - */ - Name?: string; - - /** - *

The endpoint URL of the Amazon Connect client add-in.

- * @public - */ - URL?: string; -} - -/** - * @public - */ -export interface UpdateConnectClientAddInResult {} - -/** - * @public - */ -export interface UpdateConnectionAliasPermissionRequest { - /** - *

The identifier of the connection alias that you want to update permissions for.

- * @public - */ - AliasId: string | undefined; - - /** - *

Indicates whether to share or unshare the connection alias with the specified Amazon Web Services account.

- * @public - */ - ConnectionAliasPermission: ConnectionAliasPermission | undefined; -} - -/** - * @public - */ -export interface UpdateConnectionAliasPermissionResult {} - -/** - * @public - */ -export interface UpdateRulesOfIpGroupRequest { - /** - *

The identifier of the group.

- * @public - */ - GroupId: string | undefined; - - /** - *

One or more rules.

- * @public - */ - UserRules: IpRuleItem[] | undefined; -} - -/** - * @public - */ -export interface UpdateRulesOfIpGroupResult {} - -/** - * @public - */ -export interface UpdateWorkspaceBundleRequest { - /** - *

The identifier of the bundle.

- * @public - */ - BundleId?: string; - - /** - *

The identifier of the image.

- * @public - */ - ImageId?: string; -} - -/** - * @public - */ -export interface UpdateWorkspaceBundleResult {} - -/** - * @public - */ -export interface UpdateWorkspaceImagePermissionRequest { - /** - *

The identifier of the image.

- * @public - */ - ImageId: string | undefined; - - /** - *

The permission to copy the image. This permission can be revoked only after an image has - * been shared.

- * @public - */ - AllowCopyImage: boolean | undefined; - - /** - *

The identifier of the Amazon Web Services account to share or unshare the image - * with.

- * - *

Before sharing the image, confirm that you are sharing to the correct Amazon Web Services account ID.

- *
- * @public - */ - SharedAccountId: string | undefined; -} - -/** - * @public - */ -export interface UpdateWorkspaceImagePermissionResult {} diff --git a/clients/client-workspaces/src/models/models_1.ts b/clients/client-workspaces/src/models/models_1.ts new file mode 100644 index 000000000000..90c1ff443725 --- /dev/null +++ b/clients/client-workspaces/src/models/models_1.ts @@ -0,0 +1,367 @@ +// smithy-typescript generated code +import { + ApplicationSettingsRequest, + Capacity, + ConnectionAliasPermission, + FailedWorkspaceChangeRequest, + IpRuleItem, + TimeoutSettings, + WorkspacesPool, +} from "./models_0"; + +/** + *

Information used to start a WorkSpace.

+ * @public + */ +export interface StartRequest { + /** + *

The identifier of the WorkSpace.

+ * @public + */ + WorkspaceId?: string; +} + +/** + * @public + */ +export interface StartWorkspacesRequest { + /** + *

The WorkSpaces to start. You can specify up to 25 WorkSpaces.

+ * @public + */ + StartWorkspaceRequests: StartRequest[] | undefined; +} + +/** + * @public + */ +export interface StartWorkspacesResult { + /** + *

Information about the WorkSpaces that could not be started.

+ * @public + */ + FailedRequests?: FailedWorkspaceChangeRequest[]; +} + +/** + * @public + */ +export interface StartWorkspacesPoolRequest { + /** + *

The identifier of the WorkSpaces pool.

+ * @public + */ + PoolId: string | undefined; +} + +/** + * @public + */ +export interface StartWorkspacesPoolResult {} + +/** + *

Describes the information used to stop a WorkSpace.

+ * @public + */ +export interface StopRequest { + /** + *

The identifier of the WorkSpace.

+ * @public + */ + WorkspaceId?: string; +} + +/** + * @public + */ +export interface StopWorkspacesRequest { + /** + *

The WorkSpaces to stop. You can specify up to 25 WorkSpaces.

+ * @public + */ + StopWorkspaceRequests: StopRequest[] | undefined; +} + +/** + * @public + */ +export interface StopWorkspacesResult { + /** + *

Information about the WorkSpaces that could not be stopped.

+ * @public + */ + FailedRequests?: FailedWorkspaceChangeRequest[]; +} + +/** + * @public + */ +export interface StopWorkspacesPoolRequest { + /** + *

The identifier of the WorkSpaces pool.

+ * @public + */ + PoolId: string | undefined; +} + +/** + * @public + */ +export interface StopWorkspacesPoolResult {} + +/** + *

Describes the information used to terminate a WorkSpace.

+ * @public + */ +export interface TerminateRequest { + /** + *

The identifier of the WorkSpace.

+ * @public + */ + WorkspaceId: string | undefined; +} + +/** + * @public + */ +export interface TerminateWorkspacesRequest { + /** + *

The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.

+ * @public + */ + TerminateWorkspaceRequests: TerminateRequest[] | undefined; +} + +/** + * @public + */ +export interface TerminateWorkspacesResult { + /** + *

Information about the WorkSpaces that could not be terminated.

+ * @public + */ + FailedRequests?: FailedWorkspaceChangeRequest[]; +} + +/** + * @public + */ +export interface TerminateWorkspacesPoolRequest { + /** + *

The identifier of the WorkSpaces pool.

+ * @public + */ + PoolId: string | undefined; +} + +/** + * @public + */ +export interface TerminateWorkspacesPoolResult {} + +/** + * @public + */ +export interface TerminateWorkspacesPoolSessionRequest { + /** + *

The identifier of the WorkSpaces pool session.

+ * @public + */ + SessionId: string | undefined; +} + +/** + * @public + */ +export interface TerminateWorkspacesPoolSessionResult {} + +/** + * @public + */ +export interface UpdateConnectClientAddInRequest { + /** + *

The identifier of the client add-in to update.

+ * @public + */ + AddInId: string | undefined; + + /** + *

The directory identifier for which the client add-in is configured.

+ * @public + */ + ResourceId: string | undefined; + + /** + *

The name of the client add-in.

+ * @public + */ + Name?: string; + + /** + *

The endpoint URL of the Amazon Connect client add-in.

+ * @public + */ + URL?: string; +} + +/** + * @public + */ +export interface UpdateConnectClientAddInResult {} + +/** + * @public + */ +export interface UpdateConnectionAliasPermissionRequest { + /** + *

The identifier of the connection alias that you want to update permissions for.

+ * @public + */ + AliasId: string | undefined; + + /** + *

Indicates whether to share or unshare the connection alias with the specified Amazon Web Services account.

+ * @public + */ + ConnectionAliasPermission: ConnectionAliasPermission | undefined; +} + +/** + * @public + */ +export interface UpdateConnectionAliasPermissionResult {} + +/** + * @public + */ +export interface UpdateRulesOfIpGroupRequest { + /** + *

The identifier of the group.

+ * @public + */ + GroupId: string | undefined; + + /** + *

One or more rules.

+ * @public + */ + UserRules: IpRuleItem[] | undefined; +} + +/** + * @public + */ +export interface UpdateRulesOfIpGroupResult {} + +/** + * @public + */ +export interface UpdateWorkspaceBundleRequest { + /** + *

The identifier of the bundle.

+ * @public + */ + BundleId?: string; + + /** + *

The identifier of the image.

+ * @public + */ + ImageId?: string; +} + +/** + * @public + */ +export interface UpdateWorkspaceBundleResult {} + +/** + * @public + */ +export interface UpdateWorkspaceImagePermissionRequest { + /** + *

The identifier of the image.

+ * @public + */ + ImageId: string | undefined; + + /** + *

The permission to copy the image. This permission can be revoked only after an image has + * been shared.

+ * @public + */ + AllowCopyImage: boolean | undefined; + + /** + *

The identifier of the Amazon Web Services account to share or unshare the image + * with.

+ * + *

Before sharing the image, confirm that you are sharing to the correct Amazon Web Services account ID.

+ *
+ * @public + */ + SharedAccountId: string | undefined; +} + +/** + * @public + */ +export interface UpdateWorkspaceImagePermissionResult {} + +/** + * @public + */ +export interface UpdateWorkspacesPoolRequest { + /** + *

The identifier of the specified WorkSpaces pool to update.

+ * @public + */ + PoolId: string | undefined; + + /** + *

Describes the specified WorkSpaces pool to update.

+ * @public + */ + Description?: string; + + /** + *

The identifier of the bundle.

+ * @public + */ + BundleId?: string; + + /** + *

The identifier of the directory.

+ * @public + */ + DirectoryId?: string; + + /** + *

The desired capacity for the WorkSpaces pool.

+ * @public + */ + Capacity?: Capacity; + + /** + *

The persistent application settings for users in the pool.

+ * @public + */ + ApplicationSettings?: ApplicationSettingsRequest; + + /** + *

Indicates the timeout settings of the specified WorkSpaces pool.

+ * @public + */ + TimeoutSettings?: TimeoutSettings; +} + +/** + * @public + */ +export interface UpdateWorkspacesPoolResult { + /** + *

Describes the specified WorkSpaces pool.

+ * @public + */ + WorkspacesPool?: WorkspacesPool; +} diff --git a/clients/client-workspaces/src/protocols/Aws_json1_1.ts b/clients/client-workspaces/src/protocols/Aws_json1_1.ts index 289677e8959e..008caddb76b4 100644 --- a/clients/client-workspaces/src/protocols/Aws_json1_1.ts +++ b/clients/client-workspaces/src/protocols/Aws_json1_1.ts @@ -66,6 +66,10 @@ import { CreateWorkspaceImageCommandOutput, } from "../commands/CreateWorkspaceImageCommand"; import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput } from "../commands/CreateWorkspacesCommand"; +import { + CreateWorkspacesPoolCommandInput, + CreateWorkspacesPoolCommandOutput, +} from "../commands/CreateWorkspacesPoolCommand"; import { DeleteAccountLinkInvitationCommandInput, DeleteAccountLinkInvitationCommandOutput, @@ -172,6 +176,14 @@ import { DescribeWorkspaceSnapshotsCommandInput, DescribeWorkspaceSnapshotsCommandOutput, } from "../commands/DescribeWorkspaceSnapshotsCommand"; +import { + DescribeWorkspacesPoolsCommandInput, + DescribeWorkspacesPoolsCommandOutput, +} from "../commands/DescribeWorkspacesPoolsCommand"; +import { + DescribeWorkspacesPoolSessionsCommandInput, + DescribeWorkspacesPoolSessionsCommandOutput, +} from "../commands/DescribeWorkspacesPoolSessionsCommand"; import { DisassociateConnectionAliasCommandInput, DisassociateConnectionAliasCommandOutput, @@ -216,6 +228,10 @@ import { ModifySelfservicePermissionsCommandInput, ModifySelfservicePermissionsCommandOutput, } from "../commands/ModifySelfservicePermissionsCommand"; +import { + ModifyStreamingPropertiesCommandInput, + ModifyStreamingPropertiesCommandOutput, +} from "../commands/ModifyStreamingPropertiesCommand"; import { ModifyWorkspaceAccessPropertiesCommandInput, ModifyWorkspaceAccessPropertiesCommandOutput, @@ -245,11 +261,24 @@ import { import { RestoreWorkspaceCommandInput, RestoreWorkspaceCommandOutput } from "../commands/RestoreWorkspaceCommand"; import { RevokeIpRulesCommandInput, RevokeIpRulesCommandOutput } from "../commands/RevokeIpRulesCommand"; import { StartWorkspacesCommandInput, StartWorkspacesCommandOutput } from "../commands/StartWorkspacesCommand"; +import { + StartWorkspacesPoolCommandInput, + StartWorkspacesPoolCommandOutput, +} from "../commands/StartWorkspacesPoolCommand"; import { StopWorkspacesCommandInput, StopWorkspacesCommandOutput } from "../commands/StopWorkspacesCommand"; +import { StopWorkspacesPoolCommandInput, StopWorkspacesPoolCommandOutput } from "../commands/StopWorkspacesPoolCommand"; import { TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "../commands/TerminateWorkspacesCommand"; +import { + TerminateWorkspacesPoolCommandInput, + TerminateWorkspacesPoolCommandOutput, +} from "../commands/TerminateWorkspacesPoolCommand"; +import { + TerminateWorkspacesPoolSessionCommandInput, + TerminateWorkspacesPoolSessionCommandOutput, +} from "../commands/TerminateWorkspacesPoolSessionCommand"; import { UpdateConnectClientAddInCommandInput, UpdateConnectClientAddInCommandOutput, @@ -270,15 +299,21 @@ import { UpdateWorkspaceImagePermissionCommandInput, UpdateWorkspaceImagePermissionCommandOutput, } from "../commands/UpdateWorkspaceImagePermissionCommand"; +import { + UpdateWorkspacesPoolCommandInput, + UpdateWorkspacesPoolCommandOutput, +} from "../commands/UpdateWorkspacesPoolCommand"; import { AcceptAccountLinkInvitationRequest, AccessDeniedException, AccountLinkStatusEnum, AccountModification, + ActiveDirectoryConfig, Application, ApplicationAssociatedResourceType, ApplicationNotSupportedException, ApplicationResourceAssociation, + ApplicationSettingsRequest, AssociateConnectionAliasRequest, AssociateIpGroupsRequest, AssociateWorkspaceApplicationRequest, @@ -286,6 +321,7 @@ import { AuthorizeIpRulesRequest, BundleAssociatedResourceType, BundleResourceAssociation, + Capacity, CertificateBasedAuthProperties, ClientDeviceType, ClientProperties, @@ -306,6 +342,8 @@ import { CreateWorkspaceBundleResult, CreateWorkspaceImageRequest, CreateWorkspaceImageResult, + CreateWorkspacesPoolRequest, + CreateWorkspacesPoolResult, CreateWorkspacesRequest, CreateWorkspacesResult, DataReplicationSettings, @@ -353,6 +391,11 @@ import { DescribeWorkspacesConnectionStatusResult, DescribeWorkspaceSnapshotsRequest, DescribeWorkspaceSnapshotsResult, + DescribeWorkspacesPoolSessionsRequest, + DescribeWorkspacesPoolSessionsResult, + DescribeWorkspacesPoolsFilter, + DescribeWorkspacesPoolsRequest, + DescribeWorkspacesPoolsResult, DescribeWorkspacesRequest, DescribeWorkspacesResult, DisassociateConnectionAliasRequest, @@ -378,6 +421,7 @@ import { ModifyClientPropertiesRequest, ModifySamlPropertiesRequest, ModifySelfservicePermissionsRequest, + ModifyStreamingPropertiesRequest, ModifyWorkspaceAccessPropertiesRequest, ModifyWorkspaceCreationPropertiesRequest, ModifyWorkspacePropertiesRequest, @@ -408,20 +452,13 @@ import { Snapshot, StandbyWorkspace, StandbyWorkspacesProperties, - StartRequest, - StartWorkspacesRequest, - StopRequest, - StopWorkspacesRequest, + StorageConnector, + StreamingProperties, Tag, - TerminateRequest, - TerminateWorkspacesRequest, + TimeoutSettings, UnsupportedNetworkConfigurationException, UnsupportedWorkspaceConfigurationException, - UpdateConnectClientAddInRequest, - UpdateConnectionAliasPermissionRequest, - UpdateRulesOfIpGroupRequest, - UpdateWorkspaceBundleRequest, - UpdateWorkspaceImagePermissionRequest, + UserSetting, UserStorage, ValidationException, Workspace, @@ -437,7 +474,28 @@ import { WorkspaceRequest, WorkspaceResourceAssociation, WorkspacesDefaultRoleNotFoundException, + WorkspacesPool, + WorkspacesPoolSession, } from "../models/models_0"; +import { + StartRequest, + StartWorkspacesPoolRequest, + StartWorkspacesRequest, + StopRequest, + StopWorkspacesPoolRequest, + StopWorkspacesRequest, + TerminateRequest, + TerminateWorkspacesPoolRequest, + TerminateWorkspacesPoolSessionRequest, + TerminateWorkspacesRequest, + UpdateConnectClientAddInRequest, + UpdateConnectionAliasPermissionRequest, + UpdateRulesOfIpGroupRequest, + UpdateWorkspaceBundleRequest, + UpdateWorkspaceImagePermissionRequest, + UpdateWorkspacesPoolRequest, + UpdateWorkspacesPoolResult, +} from "../models/models_1"; import { WorkSpacesServiceException as __BaseException } from "../models/WorkSpacesServiceException"; /** @@ -648,6 +706,19 @@ export const se_CreateWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1CreateWorkspacesPoolCommand + */ +export const se_CreateWorkspacesPoolCommand = async ( + input: CreateWorkspacesPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateWorkspacesPool"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DeleteAccountLinkInvitationCommand */ @@ -1051,6 +1122,32 @@ export const se_DescribeWorkspaceSnapshotsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeWorkspacesPoolsCommand + */ +export const se_DescribeWorkspacesPoolsCommand = async ( + input: DescribeWorkspacesPoolsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeWorkspacesPools"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1DescribeWorkspacesPoolSessionsCommand + */ +export const se_DescribeWorkspacesPoolSessionsCommand = async ( + input: DescribeWorkspacesPoolSessionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeWorkspacesPoolSessions"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DisassociateConnectionAliasCommand */ @@ -1233,6 +1330,19 @@ export const se_ModifySelfservicePermissionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1ModifyStreamingPropertiesCommand + */ +export const se_ModifyStreamingPropertiesCommand = async ( + input: ModifyStreamingPropertiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ModifyStreamingProperties"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ModifyWorkspaceAccessPropertiesCommand */ @@ -1376,6 +1486,19 @@ export const se_StartWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StartWorkspacesPoolCommand + */ +export const se_StartWorkspacesPoolCommand = async ( + input: StartWorkspacesPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StartWorkspacesPool"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1StopWorkspacesCommand */ @@ -1389,6 +1512,19 @@ export const se_StopWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StopWorkspacesPoolCommand + */ +export const se_StopWorkspacesPoolCommand = async ( + input: StopWorkspacesPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StopWorkspacesPool"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1TerminateWorkspacesCommand */ @@ -1402,6 +1538,32 @@ export const se_TerminateWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1TerminateWorkspacesPoolCommand + */ +export const se_TerminateWorkspacesPoolCommand = async ( + input: TerminateWorkspacesPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("TerminateWorkspacesPool"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1TerminateWorkspacesPoolSessionCommand + */ +export const se_TerminateWorkspacesPoolSessionCommand = async ( + input: TerminateWorkspacesPoolSessionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("TerminateWorkspacesPoolSession"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1UpdateConnectClientAddInCommand */ @@ -1467,6 +1629,19 @@ export const se_UpdateWorkspaceImagePermissionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1UpdateWorkspacesPoolCommand + */ +export const se_UpdateWorkspacesPoolCommand = async ( + input: UpdateWorkspacesPoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("UpdateWorkspacesPool"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * deserializeAws_json1_1AcceptAccountLinkInvitationCommand */ @@ -1787,6 +1962,26 @@ export const de_CreateWorkspacesCommand = async ( return response; }; +/** + * deserializeAws_json1_1CreateWorkspacesPoolCommand + */ +export const de_CreateWorkspacesPoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateWorkspacesPoolResult(data, context); + const response: CreateWorkspacesPoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1DeleteAccountLinkInvitationCommand */ @@ -2407,6 +2602,46 @@ export const de_DescribeWorkspaceSnapshotsCommand = async ( return response; }; +/** + * deserializeAws_json1_1DescribeWorkspacesPoolsCommand + */ +export const de_DescribeWorkspacesPoolsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeWorkspacesPoolsResult(data, context); + const response: DescribeWorkspacesPoolsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeWorkspacesPoolSessionsCommand + */ +export const de_DescribeWorkspacesPoolSessionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeWorkspacesPoolSessionsResult(data, context); + const response: DescribeWorkspacesPoolSessionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1DisassociateConnectionAliasCommand */ @@ -2687,6 +2922,26 @@ export const de_ModifySelfservicePermissionsCommand = async ( return response; }; +/** + * deserializeAws_json1_1ModifyStreamingPropertiesCommand + */ +export const de_ModifyStreamingPropertiesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ModifyStreamingPropertiesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1ModifyWorkspaceAccessPropertiesCommand */ @@ -2907,6 +3162,26 @@ export const de_StartWorkspacesCommand = async ( return response; }; +/** + * deserializeAws_json1_1StartWorkspacesPoolCommand + */ +export const de_StartWorkspacesPoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: StartWorkspacesPoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1StopWorkspacesCommand */ @@ -2927,6 +3202,26 @@ export const de_StopWorkspacesCommand = async ( return response; }; +/** + * deserializeAws_json1_1StopWorkspacesPoolCommand + */ +export const de_StopWorkspacesPoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: StopWorkspacesPoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1TerminateWorkspacesCommand */ @@ -2947,6 +3242,46 @@ export const de_TerminateWorkspacesCommand = async ( return response; }; +/** + * deserializeAws_json1_1TerminateWorkspacesPoolCommand + */ +export const de_TerminateWorkspacesPoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: TerminateWorkspacesPoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1TerminateWorkspacesPoolSessionCommand + */ +export const de_TerminateWorkspacesPoolSessionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: TerminateWorkspacesPoolSessionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1UpdateConnectClientAddInCommand */ @@ -3047,6 +3382,26 @@ export const de_UpdateWorkspaceImagePermissionCommand = async ( return response; }; +/** + * deserializeAws_json1_1UpdateWorkspacesPoolCommand + */ +export const de_UpdateWorkspacesPoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_UpdateWorkspacesPoolResult(data, context); + const response: UpdateWorkspacesPoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserialize_Aws_json1_1CommandError */ @@ -3481,10 +3836,14 @@ const de_WorkspacesDefaultRoleNotFoundExceptionRes = async ( // se_AcceptAccountLinkInvitationRequest omitted. +// se_ActiveDirectoryConfig omitted. + // se_ApplicationAssociatedResourceTypeList omitted. // se_ApplicationList omitted. +// se_ApplicationSettingsRequest omitted. + // se_AssociateConnectionAliasRequest omitted. // se_AssociateIpGroupsRequest omitted. @@ -3497,6 +3856,8 @@ const de_WorkspacesDefaultRoleNotFoundExceptionRes = async ( // se_BundleIdList omitted. +// se_Capacity omitted. + // se_CertificateBasedAuthProperties omitted. // se_ClientDeviceTypeList omitted. @@ -3531,6 +3892,8 @@ const de_WorkspacesDefaultRoleNotFoundExceptionRes = async ( // se_CreateWorkspaceImageRequest omitted. +// se_CreateWorkspacesPoolRequest omitted. + // se_CreateWorkspacesRequest omitted. /** @@ -3613,6 +3976,16 @@ const se_DefaultImportClientBrandingAttributes = ( // se_DescribeWorkspaceSnapshotsRequest omitted. +// se_DescribeWorkspacesPoolSessionsRequest omitted. + +// se_DescribeWorkspacesPoolsFilter omitted. + +// se_DescribeWorkspacesPoolsFilters omitted. + +// se_DescribeWorkspacesPoolsFilterValues omitted. + +// se_DescribeWorkspacesPoolsRequest omitted. + // se_DescribeWorkspacesRequest omitted. // se_DirectoryIdList omitted. @@ -3690,6 +4063,8 @@ const se_IosImportClientBrandingAttributes = ( // se_ModifySelfservicePermissionsRequest omitted. +// se_ModifyStreamingPropertiesRequest omitted. + // se_ModifyWorkspaceAccessPropertiesRequest omitted. // se_ModifyWorkspaceCreationPropertiesRequest omitted. @@ -3738,14 +4113,24 @@ const se_IosImportClientBrandingAttributes = ( // se_StartWorkspaceRequests omitted. +// se_StartWorkspacesPoolRequest omitted. + // se_StartWorkspacesRequest omitted. // se_StopRequest omitted. // se_StopWorkspaceRequests omitted. +// se_StopWorkspacesPoolRequest omitted. + // se_StopWorkspacesRequest omitted. +// se_StorageConnector omitted. + +// se_StorageConnectors omitted. + +// se_StreamingProperties omitted. + // se_SubnetIds omitted. // se_Tag omitted. @@ -3758,8 +4143,14 @@ const se_IosImportClientBrandingAttributes = ( // se_TerminateWorkspaceRequests omitted. +// se_TerminateWorkspacesPoolRequest omitted. + +// se_TerminateWorkspacesPoolSessionRequest omitted. + // se_TerminateWorkspacesRequest omitted. +// se_TimeoutSettings omitted. + // se_UpdateConnectClientAddInRequest omitted. // se_UpdateConnectionAliasPermissionRequest omitted. @@ -3770,6 +4161,12 @@ const se_IosImportClientBrandingAttributes = ( // se_UpdateWorkspaceImagePermissionRequest omitted. +// se_UpdateWorkspacesPoolRequest omitted. + +// se_UserSetting omitted. + +// se_UserSettings omitted. + // se_UserStorage omitted. // se_WorkspaceAccessProperties omitted. @@ -3780,6 +4177,8 @@ const se_IosImportClientBrandingAttributes = ( // se_WorkspaceCreationProperties omitted. +// se_WorkspaceDirectoryNameList omitted. + // se_WorkspaceIdList omitted. // se_WorkspaceImageIdList omitted. @@ -3790,6 +4189,8 @@ const se_IosImportClientBrandingAttributes = ( // se_WorkspaceRequestList omitted. +// se_WorkspacesPoolIds omitted. + // de_AcceptAccountLinkInvitationResult omitted. // de_AccessDeniedException omitted. @@ -3824,6 +4225,8 @@ const de_AccountModificationList = (output: any, context: __SerdeContext): Accou return retVal; }; +// de_ActiveDirectoryConfig omitted. + // de_ApplicationNotSupportedException omitted. /** @@ -3856,6 +4259,8 @@ const de_ApplicationResourceAssociationList = ( return retVal; }; +// de_ApplicationSettingsResponse omitted. + // de_AssociateConnectionAliasResult omitted. // de_AssociateIpGroupsResult omitted. @@ -3915,6 +4320,8 @@ const de_BundleResourceAssociationList = (output: any, context: __SerdeContext): return retVal; }; +// de_CapacityStatus omitted. + // de_CertificateBasedAuthProperties omitted. // de_ClientProperties omitted. @@ -3988,6 +4395,15 @@ const de_CreateWorkspaceImageResult = (output: any, context: __SerdeContext): Cr }) as any; }; +/** + * deserializeAws_json1_1CreateWorkspacesPoolResult + */ +const de_CreateWorkspacesPoolResult = (output: any, context: __SerdeContext): CreateWorkspacesPoolResult => { + return take(output, { + WorkspacesPool: (_: any) => de_WorkspacesPool(_, context), + }) as any; +}; + /** * deserializeAws_json1_1CreateWorkspacesResult */ @@ -4179,6 +4595,29 @@ const de_DescribeWorkspaceSnapshotsResult = ( }) as any; }; +/** + * deserializeAws_json1_1DescribeWorkspacesPoolSessionsResult + */ +const de_DescribeWorkspacesPoolSessionsResult = ( + output: any, + context: __SerdeContext +): DescribeWorkspacesPoolSessionsResult => { + return take(output, { + NextToken: __expectString, + Sessions: (_: any) => de_WorkspacesPoolSessions(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_1DescribeWorkspacesPoolsResult + */ +const de_DescribeWorkspacesPoolsResult = (output: any, context: __SerdeContext): DescribeWorkspacesPoolsResult => { + return take(output, { + NextToken: __expectString, + WorkspacesPools: (_: any) => de_WorkspacesPools(_, context), + }) as any; +}; + /** * deserializeAws_json1_1DescribeWorkspacesResult */ @@ -4308,6 +4747,8 @@ const de_ImageResourceAssociationList = (output: any, context: __SerdeContext): // de_ModifySelfservicePermissionsResult omitted. +// de_ModifyStreamingPropertiesResult omitted. + // de_ModifyWorkspaceAccessPropertiesResult omitted. // de_ModifyWorkspaceCreationPropertiesResult omitted. @@ -4316,6 +4757,8 @@ const de_ImageResourceAssociationList = (output: any, context: __SerdeContext): // de_ModifyWorkspaceStateResult omitted. +// de_NetworkAccessConfiguration omitted. + // de_OperatingSystem omitted. // de_OperatingSystemNameList omitted. @@ -4414,18 +4857,34 @@ const de_StandbyWorkspacesPropertiesList = (output: any, context: __SerdeContext return retVal; }; +// de_StartWorkspacesPoolResult omitted. + // de_StartWorkspacesResult omitted. +// de_StopWorkspacesPoolResult omitted. + // de_StopWorkspacesResult omitted. +// de_StorageConnector omitted. + +// de_StorageConnectors omitted. + +// de_StreamingProperties omitted. + // de_SubnetIds omitted. // de_Tag omitted. // de_TagList omitted. +// de_TerminateWorkspacesPoolResult omitted. + +// de_TerminateWorkspacesPoolSessionResult omitted. + // de_TerminateWorkspacesResult omitted. +// de_TimeoutSettings omitted. + // de_UnsupportedNetworkConfigurationException omitted. // de_UnsupportedWorkspaceConfigurationException omitted. @@ -4442,6 +4901,19 @@ const de_StandbyWorkspacesPropertiesList = (output: any, context: __SerdeContext // de_UpdateWorkspaceImagePermissionResult omitted. +/** + * deserializeAws_json1_1UpdateWorkspacesPoolResult + */ +const de_UpdateWorkspacesPoolResult = (output: any, context: __SerdeContext): UpdateWorkspacesPoolResult => { + return take(output, { + WorkspacesPool: (_: any) => de_WorkspacesPool(_, context), + }) as any; +}; + +// de_UserSetting omitted. + +// de_UserSettings omitted. + // de_UserStorage omitted. // de_ValidationException omitted. @@ -4640,6 +5112,71 @@ const de_WorkspaceResourceAssociationList = (output: any, context: __SerdeContex // de_WorkspacesIpGroupsList omitted. +/** + * deserializeAws_json1_1WorkspacesPool + */ +const de_WorkspacesPool = (output: any, context: __SerdeContext): WorkspacesPool => { + return take(output, { + ApplicationSettings: _json, + BundleId: __expectString, + CapacityStatus: _json, + CreatedAt: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Description: __expectString, + DirectoryId: __expectString, + Errors: _json, + PoolArn: __expectString, + PoolId: __expectString, + PoolName: __expectString, + State: __expectString, + TimeoutSettings: _json, + }) as any; +}; + +// de_WorkspacesPoolError omitted. + +// de_WorkspacesPoolErrors omitted. + +/** + * deserializeAws_json1_1WorkspacesPools + */ +const de_WorkspacesPools = (output: any, context: __SerdeContext): WorkspacesPool[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_WorkspacesPool(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_json1_1WorkspacesPoolSession + */ +const de_WorkspacesPoolSession = (output: any, context: __SerdeContext): WorkspacesPoolSession => { + return take(output, { + AuthenticationType: __expectString, + ConnectionState: __expectString, + ExpirationTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + InstanceId: __expectString, + NetworkAccessConfiguration: _json, + PoolId: __expectString, + SessionId: __expectString, + StartTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + UserId: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_1WorkspacesPoolSessions + */ +const de_WorkspacesPoolSessions = (output: any, context: __SerdeContext): WorkspacesPoolSession[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_WorkspacesPoolSession(entry, context); + }); + return retVal; +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: diff --git a/codegen/sdk-codegen/aws-models/workspaces.json b/codegen/sdk-codegen/aws-models/workspaces.json index 8320ead843fa..4048cb6a0494 100644 --- a/codegen/sdk-codegen/aws-models/workspaces.json +++ b/codegen/sdk-codegen/aws-models/workspaces.json @@ -32,7 +32,7 @@ "com.amazonaws.workspaces#ARN": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$" + "smithy.api#pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.\\\\-]{0,1023}$" } }, "com.amazonaws.workspaces#AcceptAccountLinkInvitation": { @@ -251,6 +251,44 @@ "target": "com.amazonaws.workspaces#AccountModification" } }, + "com.amazonaws.workspaces#ActiveDirectoryConfig": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.workspaces#DomainName", + "traits": { + "smithy.api#documentation": "

The name of the domain.

", + "smithy.api#required": {} + } + }, + "ServiceAccountSecretArn": { + "target": "com.amazonaws.workspaces#SecretsManagerArn", + "traits": { + "smithy.api#documentation": "

Indicates the secret ARN on the service account.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the Active Directory config.

" + } + }, + "com.amazonaws.workspaces#ActiveUserSessions": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.workspaces#ActualUserSessions": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.workspaces#AddInName": { "type": "string", "traits": { @@ -406,6 +444,71 @@ "target": "com.amazonaws.workspaces#ApplicationResourceAssociation" } }, + "com.amazonaws.workspaces#ApplicationSettingsRequest": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.workspaces#ApplicationSettingsStatusEnum", + "traits": { + "smithy.api#documentation": "

Enables or disables persistent application settings for users during their pool sessions.

", + "smithy.api#required": {} + } + }, + "SettingsGroup": { + "target": "com.amazonaws.workspaces#SettingsGroup", + "traits": { + "smithy.api#documentation": "

The path prefix for the S3 bucket where users’ persistent application settings are stored. \n You can allow the same persistent application settings to be used across multiple pools by specifying \n the same settings group for each pool.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The persistent application settings for users of a WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#ApplicationSettingsResponse": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.workspaces#ApplicationSettingsStatusEnum", + "traits": { + "smithy.api#documentation": "

Specifies whether persistent application settings are enabled for users during their pool sessions.

", + "smithy.api#required": {} + } + }, + "SettingsGroup": { + "target": "com.amazonaws.workspaces#SettingsGroup", + "traits": { + "smithy.api#documentation": "

The path prefix for the S3 bucket where users’ persistent application settings are stored.

" + } + }, + "S3BucketName": { + "target": "com.amazonaws.workspaces#S3BucketName", + "traits": { + "smithy.api#documentation": "

The S3 bucket where users’ persistent application settings are stored. When persistent \n application settings are enabled for the first time for an account in an Amazon Web Services Region, \n an S3 bucket is created. The bucket is unique to the Amazon Web Services account and the Region.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the persistent application settings for users of a WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#ApplicationSettingsStatusEnum": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + } + } + }, "com.amazonaws.workspaces#AssociateConnectionAlias": { "type": "operation", "input": { @@ -764,6 +867,17 @@ } } }, + "com.amazonaws.workspaces#AuthenticationType": { + "type": "enum", + "members": { + "SAML": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAML" + } + } + } + }, "com.amazonaws.workspaces#AuthorizeIpRules": { "type": "operation", "input": { @@ -822,6 +936,14 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#AvailableUserSessions": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.workspaces#AwsAccount": { "type": "string", "traits": { @@ -948,6 +1070,57 @@ } } }, + "com.amazonaws.workspaces#Capacity": { + "type": "structure", + "members": { + "DesiredUserSessions": { + "target": "com.amazonaws.workspaces#DesiredUserSessions", + "traits": { + "smithy.api#documentation": "

The desired number of user sessions for a multi-session pool. \n This is not allowed for single-session pools.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the user capacity for a WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#CapacityStatus": { + "type": "structure", + "members": { + "AvailableUserSessions": { + "target": "com.amazonaws.workspaces#AvailableUserSessions", + "traits": { + "smithy.api#documentation": "

The number of user sessions currently being used for pool sessions. This only applies to multi-session pools.

", + "smithy.api#required": {} + } + }, + "DesiredUserSessions": { + "target": "com.amazonaws.workspaces#DesiredUserSessions", + "traits": { + "smithy.api#documentation": "

The total number of sessions slots that are either running or pending. This \n represents the total number of concurrent streaming sessions your pool can support \n in a steady state.

", + "smithy.api#required": {} + } + }, + "ActualUserSessions": { + "target": "com.amazonaws.workspaces#ActualUserSessions", + "traits": { + "smithy.api#documentation": "

The total number of session slots that are available for WorkSpaces pools.

", + "smithy.api#required": {} + } + }, + "ActiveUserSessions": { + "target": "com.amazonaws.workspaces#ActiveUserSessions", + "traits": { + "smithy.api#documentation": "

The number of user sessions currently being used for pool sessions. This only applies to multi-session pools.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the capacity status for a WorkSpaces pool

" + } + }, "com.amazonaws.workspaces#CertificateAuthorityArn": { "type": "string", "traits": { @@ -2308,6 +2481,113 @@ "smithy.api#documentation": "

Creates one or more WorkSpaces.

\n

This operation is asynchronous and returns before the WorkSpaces are created.

\n \n
\n " } }, + "com.amazonaws.workspaces#CreateWorkspacesPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#CreateWorkspacesPoolRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#CreateWorkspacesPoolResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.workspaces#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a pool of WorkSpaces.

" + } + }, + "com.amazonaws.workspaces#CreateWorkspacesPoolRequest": { + "type": "structure", + "members": { + "PoolName": { + "target": "com.amazonaws.workspaces#WorkspacesPoolName", + "traits": { + "smithy.api#documentation": "

The name of the WorkSpaces pool.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.workspaces#UpdateDescription", + "traits": { + "smithy.api#documentation": "

The WorkSpaces pool description.

", + "smithy.api#required": {} + } + }, + "BundleId": { + "target": "com.amazonaws.workspaces#BundleId", + "traits": { + "smithy.api#documentation": "

The identifier of the bundle for the WorkSpaces pool.

", + "smithy.api#required": {} + } + }, + "DirectoryId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the directory for the WorkSpaces pool.

", + "smithy.api#required": {} + } + }, + "Capacity": { + "target": "com.amazonaws.workspaces#Capacity", + "traits": { + "smithy.api#documentation": "

The user capacity of the WorkSpaces pool.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.workspaces#TagList", + "traits": { + "smithy.api#documentation": "

The tags for the WorkSpaces pool.

" + } + }, + "ApplicationSettings": { + "target": "com.amazonaws.workspaces#ApplicationSettingsRequest", + "traits": { + "smithy.api#documentation": "

Indicates the application settings of the WorkSpaces pool.

" + } + }, + "TimeoutSettings": { + "target": "com.amazonaws.workspaces#TimeoutSettings", + "traits": { + "smithy.api#documentation": "

Indicates the timeout settings of the WorkSpaces pool.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#CreateWorkspacesPoolResult": { + "type": "structure", + "members": { + "WorkspacesPool": { + "target": "com.amazonaws.workspaces#WorkspacesPool", + "traits": { + "smithy.api#documentation": "

Indicates the WorkSpaces pool to create.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspaces#CreateWorkspacesRequest": { "type": "structure", "members": { @@ -2586,6 +2866,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see\n WorkSpace\n Maintenance.

" } + }, + "InstanceIamRoleArn": { + "target": "com.amazonaws.workspaces#ARN", + "traits": { + "smithy.api#documentation": "

Indicates the IAM role ARN of the instance.

" + } } }, "traits": { @@ -4203,6 +4489,12 @@ "smithy.api#documentation": "

The identifiers of the directories. If the value is null, all directories are\n retrieved.

" } }, + "WorkspaceDirectoryNames": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryNameList", + "traits": { + "smithy.api#documentation": "

The names of the WorkSpace directories.

" + } + }, "Limit": { "target": "com.amazonaws.workspaces#Limit", "traits": { @@ -4526,35 +4818,47 @@ "smithy.api#output": {} } }, - "com.amazonaws.workspaces#DescribeWorkspacesRequest": { - "type": "structure", - "members": { - "WorkspaceIds": { - "target": "com.amazonaws.workspaces#WorkspaceIdList", - "traits": { - "smithy.api#documentation": "

The identifiers of the WorkSpaces. You cannot combine this parameter with any other\n filter.

\n

Because the CreateWorkspaces operation is asynchronous, the identifier\n it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

" - } + "com.amazonaws.workspaces#DescribeWorkspacesPoolSessions": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolSessionsRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolSessionsResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" }, - "DirectoryId": { - "target": "com.amazonaws.workspaces#DirectoryId", - "traits": { - "smithy.api#documentation": "

The identifier of the directory. In addition, you can optionally specify a specific\n directory user (see UserName). You cannot combine this parameter with any\n other filter.

" - } + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" }, - "UserName": { - "target": "com.amazonaws.workspaces#UserName", + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list that describes the streaming sessions for a specified WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolSessionsRequest": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", "traits": { - "smithy.api#documentation": "

The name of the directory user. You must specify this parameter with\n DirectoryId.

" + "smithy.api#documentation": "

The identifier of the WorkSpaces pool.

", + "smithy.api#required": {} } }, - "BundleId": { - "target": "com.amazonaws.workspaces#BundleId", + "UserId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolUserId", "traits": { - "smithy.api#documentation": "

The identifier of the bundle. All WorkSpaces that are created from this bundle are\n retrieved. You cannot combine this parameter with any other filter.

" + "smithy.api#documentation": "

The identifier of the user.

" } }, "Limit": { - "target": "com.amazonaws.workspaces#Limit", + "target": "com.amazonaws.workspaces#Limit50", "traits": { "smithy.api#documentation": "

The maximum number of items to return.

" } @@ -4562,13 +4866,255 @@ "NextToken": { "target": "com.amazonaws.workspaces#PaginationToken", "traits": { - "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated,\n provide this token to receive the next set of results.

" - } - }, - "WorkspaceName": { - "target": "com.amazonaws.workspaces#WorkspaceName", - "traits": { - "smithy.api#documentation": "

The name of the user-decoupled WorkSpace.

" + "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated, \n provide this token to receive the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolSessionsResult": { + "type": "structure", + "members": { + "Sessions": { + "target": "com.amazonaws.workspaces#WorkspacesPoolSessions", + "traits": { + "smithy.api#documentation": "

Describes the WorkSpaces pool sessions.

" + } + }, + "NextToken": { + "target": "com.amazonaws.workspaces#PaginationToken", + "traits": { + "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated, \n provide this token to receive the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPools": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the specified WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterName", + "traits": { + "smithy.api#documentation": "

The name of the pool to filter.

", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterValues", + "traits": { + "smithy.api#documentation": "

The values for filtering WorkSpaces pools.

", + "smithy.api#required": {} + } + }, + "Operator": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterOperator", + "traits": { + "smithy.api#documentation": "

The operator values for filtering WorkSpaces pools.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the filter conditions for the WorkSpaces pool to return.

" + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterName": { + "type": "enum", + "members": { + "POOLNAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PoolName" + } + } + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterOperator": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUALS" + } + }, + "NOTEQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOTEQUALS" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "NOTCONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOTCONTAINS" + } + } + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]+$" + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilterValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsRequest": { + "type": "structure", + "members": { + "PoolIds": { + "target": "com.amazonaws.workspaces#WorkspacesPoolIds", + "traits": { + "smithy.api#documentation": "

The identifier of the WorkSpaces pool.

" + } + }, + "Filters": { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolsFilters", + "traits": { + "smithy.api#documentation": "

The filter conditions for the WorkSpaces pool to return.

" + } + }, + "Limit": { + "target": "com.amazonaws.workspaces#Limit", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.workspaces#PaginationToken", + "traits": { + "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated, \n provide this token to receive the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesPoolsResult": { + "type": "structure", + "members": { + "WorkspacesPools": { + "target": "com.amazonaws.workspaces#WorkspacesPools", + "traits": { + "smithy.api#documentation": "

Information about the WorkSpaces pools.

" + } + }, + "NextToken": { + "target": "com.amazonaws.workspaces#PaginationToken", + "traits": { + "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated, \n provide this token to receive the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspaces#DescribeWorkspacesRequest": { + "type": "structure", + "members": { + "WorkspaceIds": { + "target": "com.amazonaws.workspaces#WorkspaceIdList", + "traits": { + "smithy.api#documentation": "

The identifiers of the WorkSpaces. You cannot combine this parameter with any other\n filter.

\n

Because the CreateWorkspaces operation is asynchronous, the identifier\n it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

" + } + }, + "DirectoryId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the directory. In addition, you can optionally specify a specific\n directory user (see UserName). You cannot combine this parameter with any\n other filter.

" + } + }, + "UserName": { + "target": "com.amazonaws.workspaces#UserName", + "traits": { + "smithy.api#documentation": "

The name of the directory user. You must specify this parameter with\n DirectoryId.

" + } + }, + "BundleId": { + "target": "com.amazonaws.workspaces#BundleId", + "traits": { + "smithy.api#documentation": "

The identifier of the bundle. All WorkSpaces that are created from this bundle are\n retrieved. You cannot combine this parameter with any other filter.

" + } + }, + "Limit": { + "target": "com.amazonaws.workspaces#Limit", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.workspaces#PaginationToken", + "traits": { + "smithy.api#documentation": "

If you received a NextToken from a previous call that was paginated,\n provide this token to receive the next set of results.

" + } + }, + "WorkspaceName": { + "target": "com.amazonaws.workspaces#WorkspaceName", + "traits": { + "smithy.api#documentation": "

The name of the user-decoupled WorkSpace.

" } } }, @@ -4599,6 +5145,14 @@ "com.amazonaws.workspaces#Description": { "type": "string" }, + "com.amazonaws.workspaces#DesiredUserSessions": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.workspaces#DirectoryId": { "type": "string", "traits": { @@ -4606,7 +5160,7 @@ "min": 10, "max": 65 }, - "smithy.api#pattern": "^d-[0-9a-f]{8,63}$" + "smithy.api#pattern": "^(d-[0-9a-f]{8,63}$)|(wsd-[0-9a-z]{8,63}$)$" } }, "com.amazonaws.workspaces#DirectoryIdList": { @@ -4699,6 +5253,9 @@ { "target": "com.amazonaws.workspaces#InvalidResourceStateException" }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, { "target": "com.amazonaws.workspaces#ResourceNotFoundException" } @@ -4801,12 +5358,27 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#DisconnectTimeoutInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 60, + "max": 36000 + } + } + }, "com.amazonaws.workspaces#DnsIpAddresses": { "type": "list", "member": { "target": "com.amazonaws.workspaces#IpAddress" } }, + "com.amazonaws.workspaces#DomainName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+$" + } + }, "com.amazonaws.workspaces#Ec2ImageId": { "type": "string", "traits": { @@ -4839,6 +5411,9 @@ "target": "com.amazonaws.workspaces#ErrorDetails" } }, + "com.amazonaws.workspaces#ErrorMessage": { + "type": "string" + }, "com.amazonaws.workspaces#ErrorType": { "type": "string" }, @@ -5028,6 +5603,15 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#IdleDisconnectTimeoutInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 36000 + } + } + }, "com.amazonaws.workspaces#ImageAssociatedResourceType": { "type": "enum", "members": { @@ -5595,6 +6179,15 @@ } } }, + "com.amazonaws.workspaces#Limit50": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.workspaces#LinkId": { "type": "string", "traits": { @@ -5790,6 +6383,23 @@ } } }, + "com.amazonaws.workspaces#MaxUserDurationInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 600, + "max": 432000 + } + } + }, + "com.amazonaws.workspaces#MaximumLength": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.workspaces#MigrateWorkspace": { "type": "operation", "input": { @@ -6061,6 +6671,9 @@ { "target": "com.amazonaws.workspaces#InvalidParameterValuesException" }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, { "target": "com.amazonaws.workspaces#ResourceNotFoundException" } @@ -6173,6 +6786,9 @@ { "target": "com.amazonaws.workspaces#InvalidParameterValuesException" }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, { "target": "com.amazonaws.workspaces#ResourceNotFoundException" } @@ -6210,22 +6826,76 @@ "smithy.api#output": {} } }, - "com.amazonaws.workspaces#ModifyWorkspaceAccessProperties": { + "com.amazonaws.workspaces#ModifyStreamingProperties": { "type": "operation", "input": { - "target": "com.amazonaws.workspaces#ModifyWorkspaceAccessPropertiesRequest" + "target": "com.amazonaws.workspaces#ModifyStreamingPropertiesRequest" }, "output": { - "target": "com.amazonaws.workspaces#ModifyWorkspaceAccessPropertiesResult" + "target": "com.amazonaws.workspaces#ModifyStreamingPropertiesResult" }, "errors": [ { "target": "com.amazonaws.workspaces#AccessDeniedException" }, { - "target": "com.amazonaws.workspaces#ResourceNotFoundException" - } - ], + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies the specified streaming properties.

" + } + }, + "com.amazonaws.workspaces#ModifyStreamingPropertiesRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the resource.

", + "smithy.api#required": {} + } + }, + "StreamingProperties": { + "target": "com.amazonaws.workspaces#StreamingProperties", + "traits": { + "smithy.api#documentation": "

The streaming properties to configure.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#ModifyStreamingPropertiesResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspaces#ModifyWorkspaceAccessProperties": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#ModifyWorkspaceAccessPropertiesRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#ModifyWorkspaceAccessPropertiesResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], "traits": { "smithy.api#documentation": "

Specifies which devices and operating systems users can use to access their WorkSpaces.\n For more information, see \n Control Device Access.

" } @@ -6438,6 +7108,26 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#NetworkAccessConfiguration": { + "type": "structure", + "members": { + "EniPrivateIpAddress": { + "target": "com.amazonaws.workspaces#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The private IP address of the elastic network interface that is attached to instances in your VPC.

" + } + }, + "EniId": { + "target": "com.amazonaws.workspaces#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The resource identifier of the elastic network interface that is attached to instances in your \n VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the network details of a WorkSpaces pool.

" + } + }, "com.amazonaws.workspaces#NonEmptyString": { "type": "string", "traits": { @@ -6859,6 +7549,9 @@ { "target": "com.amazonaws.workspaces#OperationNotSupportedException" }, + { + "target": "com.amazonaws.workspaces#ResourceAlreadyExistsException" + }, { "target": "com.amazonaws.workspaces#ResourceLimitExceededException" }, @@ -6882,8 +7575,7 @@ "DirectoryId": { "target": "com.amazonaws.workspaces#DirectoryId", "traits": { - "smithy.api#documentation": "

The identifier of the directory. You cannot register a directory if it does not have a\n status of Active. If the directory does not have a status of Active, you will receive an\n InvalidResourceStateException error. If you have already registered the maximum number of\n directories that you can register with Amazon WorkSpaces, you will receive a\n ResourceLimitExceededException error. Deregister directories that you are not using for\n WorkSpaces, and try again.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The identifier of the directory. You cannot register a directory if it does not have a\n status of Active. If the directory does not have a status of Active, you will receive an\n InvalidResourceStateException error. If you have already registered the maximum number of\n directories that you can register with Amazon WorkSpaces, you will receive a\n ResourceLimitExceededException error. Deregister directories that you are not using for\n WorkSpaces, and try again.

" } }, "SubnetIds": { @@ -6895,8 +7587,7 @@ "EnableWorkDocs": { "target": "com.amazonaws.workspaces#BooleanObject", "traits": { - "smithy.api#documentation": "

Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this\n parameter and WorkDocs is not available in the Region, you will receive an\n OperationNotSupportedException error. Set EnableWorkDocs to disabled, and try\n again.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this\n parameter and WorkDocs is not available in the Region, you will receive an\n OperationNotSupportedException error. Set EnableWorkDocs to disabled, and try\n again.

" } }, "EnableSelfService": { @@ -6916,6 +7607,36 @@ "traits": { "smithy.api#documentation": "

The tags associated with the directory.

" } + }, + "WorkspaceDirectoryName": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryName", + "traits": { + "smithy.api#documentation": "

The name of the directory to register.

" + } + }, + "WorkspaceDirectoryDescription": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryDescription", + "traits": { + "smithy.api#documentation": "

Description of the directory to register.

" + } + }, + "UserIdentityType": { + "target": "com.amazonaws.workspaces#UserIdentityType", + "traits": { + "smithy.api#documentation": "

The type of identity management the user is using.

" + } + }, + "WorkspaceType": { + "target": "com.amazonaws.workspaces#WorkspaceType", + "traits": { + "smithy.api#documentation": "

Indicates whether the directory's WorkSpace type is personal or pools.

" + } + }, + "ActiveDirectoryConfig": { + "target": "com.amazonaws.workspaces#ActiveDirectoryConfig", + "traits": { + "smithy.api#documentation": "

The active directory config of the directory.

" + } } }, "traits": { @@ -6924,7 +7645,20 @@ }, "com.amazonaws.workspaces#RegisterWorkspaceDirectoryResult": { "type": "structure", - "members": {}, + "members": { + "DirectoryId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the directory.

" + } + }, + "State": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryState", + "traits": { + "smithy.api#documentation": "

The registration status of the WorkSpace directory.

" + } + } + }, "traits": { "smithy.api#output": {} } @@ -7309,6 +8043,16 @@ "com.amazonaws.workspaces#RunningModeAutoStopTimeoutInMinutes": { "type": "integer" }, + "com.amazonaws.workspaces#S3BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$" + } + }, "com.amazonaws.workspaces#SamlProperties": { "type": "structure", "members": { @@ -7368,6 +8112,12 @@ "smithy.api#pattern": "^(http|https)\\://\\S+$" } }, + "com.amazonaws.workspaces#SecretsManagerArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws[a-z-]{0,7}:secretsmanager:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:secret:[A-Za-z0-9][A-za-z0-9_/.-]{8,519}$" + } + }, "com.amazonaws.workspaces#SecurityGroupId": { "type": "string", "traits": { @@ -7416,6 +8166,39 @@ "smithy.api#documentation": "

Describes the self-service permissions for a directory. For more information, see Enable Self-Service WorkSpace Management Capabilities for Your Users.

" } }, + "com.amazonaws.workspaces#SessionConnectionState": { + "type": "enum", + "members": { + "CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED" + } + }, + "NOT_CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CONNECTED" + } + } + } + }, + "com.amazonaws.workspaces#SessionInstanceId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$" + } + }, + "com.amazonaws.workspaces#SettingsGroup": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#pattern": "^[A-Za-z0-9_./()!*'-]+$" + } + }, "com.amazonaws.workspaces#Snapshot": { "type": "structure", "members": { @@ -7569,6 +8352,63 @@ "smithy.api#documentation": "

Starts the specified WorkSpaces.

\n

You cannot start a WorkSpace unless it has a running mode of AutoStop and a\n state of STOPPED.

" } }, + "com.amazonaws.workspaces#StartWorkspacesPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#StartWorkspacesPoolRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#StartWorkspacesPoolResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#InvalidResourceStateException" + }, + { + "target": "com.amazonaws.workspaces#OperationInProgressException" + }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts the specified WorkSpaces pool.

\n

You cannot start a WorkSpace pool unless it has a running mode of \n AutoStop and a state of STOPPED.

" + } + }, + "com.amazonaws.workspaces#StartWorkspacesPoolRequest": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of the WorkSpaces pool.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#StartWorkspacesPoolResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspaces#StartWorkspacesRequest": { "type": "structure", "members": { @@ -7636,6 +8476,57 @@ "smithy.api#documentation": "

Stops the specified WorkSpaces.

\n

You cannot stop a WorkSpace unless it has a running mode of AutoStop and a\n state of AVAILABLE, IMPAIRED, UNHEALTHY, or\n ERROR.

" } }, + "com.amazonaws.workspaces#StopWorkspacesPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#StopWorkspacesPoolRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#StopWorkspacesPoolResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#InvalidResourceStateException" + }, + { + "target": "com.amazonaws.workspaces#OperationInProgressException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Stops the specifiedWorkSpaces pool.

\n

You cannot stop a WorkSpace pool unless it has a running mode of AutoStop \n and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

" + } + }, + "com.amazonaws.workspaces#StopWorkspacesPoolRequest": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of the WorkSpaces pool.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#StopWorkspacesPoolResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspaces#StopWorkspacesRequest": { "type": "structure", "members": { @@ -7665,32 +8556,136 @@ "smithy.api#output": {} } }, - "com.amazonaws.workspaces#String2048": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 2048 + "com.amazonaws.workspaces#StorageConnector": { + "type": "structure", + "members": { + "ConnectorType": { + "target": "com.amazonaws.workspaces#StorageConnectorTypeEnum", + "traits": { + "smithy.api#documentation": "

The type of connector used to save user files.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.workspaces#StorageConnectorStatusEnum", + "traits": { + "smithy.api#documentation": "

Indicates if the storage connetor is enabled or disabled.

", + "smithy.api#required": {} + } } - } - }, - "com.amazonaws.workspaces#SubnetId": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 15, - "max": 24 - }, - "smithy.api#pattern": "^(subnet-([0-9a-f]{8}|[0-9a-f]{17}))$" + "smithy.api#documentation": "

Describes the storage connector.

" } }, - "com.amazonaws.workspaces#SubnetIds": { - "type": "list", - "member": { - "target": "com.amazonaws.workspaces#SubnetId" - }, - "traits": { - "smithy.api#length": { + "com.amazonaws.workspaces#StorageConnectorStatusEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.workspaces#StorageConnectorTypeEnum": { + "type": "enum", + "members": { + "HOME_FOLDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOME_FOLDER" + } + } + } + }, + "com.amazonaws.workspaces#StorageConnectors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#StorageConnector" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.workspaces#StreamingExperiencePreferredProtocolEnum": { + "type": "enum", + "members": { + "TCP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TCP" + } + }, + "UDP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UDP" + } + } + } + }, + "com.amazonaws.workspaces#StreamingProperties": { + "type": "structure", + "members": { + "StreamingExperiencePreferredProtocol": { + "target": "com.amazonaws.workspaces#StreamingExperiencePreferredProtocolEnum", + "traits": { + "smithy.api#documentation": "

Indicates the type of preferred protocol for the streaming experience.

" + } + }, + "UserSettings": { + "target": "com.amazonaws.workspaces#UserSettings", + "traits": { + "smithy.api#documentation": "

Indicates the permission settings asscoiated with the user.

" + } + }, + "StorageConnectors": { + "target": "com.amazonaws.workspaces#StorageConnectors", + "traits": { + "smithy.api#documentation": "

Indicates the storage connector used

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the streaming properties.

" + } + }, + "com.amazonaws.workspaces#String2048": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + } + } + }, + "com.amazonaws.workspaces#SubnetId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 15, + "max": 24 + }, + "smithy.api#pattern": "^(subnet-([0-9a-f]{8}|[0-9a-f]{17}))$" + } + }, + "com.amazonaws.workspaces#SubnetIds": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#SubnetId" + }, + "traits": { + "smithy.api#length": { "min": 0, "max": 2 } @@ -7820,6 +8815,108 @@ "smithy.api#documentation": "

Terminates the specified WorkSpaces.

\n \n

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data\n is destroyed. If you need to archive any user data, contact Amazon Web Services Support before\n terminating the WorkSpace.

\n
\n

You can terminate a WorkSpace that is in any state except SUSPENDED.

\n

This operation is asynchronous and returns before the WorkSpaces have been completely\n terminated. After a WorkSpace is terminated, the TERMINATED state is returned\n only 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 \n DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has\n been successfully terminated.

\n \n

Simple AD and AD Connector are made available to you free of charge to use with\n WorkSpaces. If there are no WorkSpaces being used with your Simple AD or AD Connector\n directory for 30 consecutive days, this directory will be automatically deregistered for\n use with Amazon WorkSpaces, and you will be charged for this directory as per the Directory Service pricing\n terms.

\n

To delete empty directories, see Delete the\n Directory for Your WorkSpaces. If you delete your Simple AD or AD Connector\n directory, you can always create a new one when you want to start using WorkSpaces\n again.

\n
" } }, + "com.amazonaws.workspaces#TerminateWorkspacesPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPoolRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPoolResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#InvalidResourceStateException" + }, + { + "target": "com.amazonaws.workspaces#OperationInProgressException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Terminates the specified WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#TerminateWorkspacesPoolRequest": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of the WorkSpaces pool.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#TerminateWorkspacesPoolResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspaces#TerminateWorkspacesPoolSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPoolSessionRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPoolSessionResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#OperationInProgressException" + }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Terminates the WorkSpaces pool session.

" + } + }, + "com.amazonaws.workspaces#TerminateWorkspacesPoolSessionRequest": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.workspaces#AmazonUuid", + "traits": { + "smithy.api#documentation": "

The identifier of the WorkSpaces pool session.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspaces#TerminateWorkspacesPoolSessionResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspaces#TerminateWorkspacesRequest": { "type": "structure", "members": { @@ -7849,6 +8946,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#TimeoutSettings": { + "type": "structure", + "members": { + "DisconnectTimeoutInSeconds": { + "target": "com.amazonaws.workspaces#DisconnectTimeoutInSeconds", + "traits": { + "smithy.api#documentation": "

Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect. \n If users try to reconnect to the streaming session after a disconnection or network interruption \n within the time set, they are connected to their previous session. Otherwise, they are connected \n to a new session with a new streaming instance.

" + } + }, + "IdleDisconnectTimeoutInSeconds": { + "target": "com.amazonaws.workspaces#IdleDisconnectTimeoutInSeconds", + "traits": { + "smithy.api#documentation": "

The amount of time in seconds a connection will stay active while idle.

" + } + }, + "MaxUserDurationInSeconds": { + "target": "com.amazonaws.workspaces#MaxUserDurationInSeconds", + "traits": { + "smithy.api#documentation": "

Specifies the maximum amount of time, in seconds, that a streaming session can remain active. \n If users are still connected to a streaming instance five minutes before this limit is reached, \n they are prompted to save any open documents before being disconnected. After this time elapses, \n the instance is terminated and replaced by a new instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the timeout settings for a WorkSpaces pool.

" + } + }, "com.amazonaws.workspaces#Timestamp": { "type": "timestamp" }, @@ -8213,36 +9336,238 @@ "smithy.api#output": {} } }, - "com.amazonaws.workspaces#UserName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 + "com.amazonaws.workspaces#UpdateWorkspacesPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspaces#UpdateWorkspacesPoolRequest" + }, + "output": { + "target": "com.amazonaws.workspaces#UpdateWorkspacesPoolResult" + }, + "errors": [ + { + "target": "com.amazonaws.workspaces#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspaces#InvalidParameterValuesException" + }, + { + "target": "com.amazonaws.workspaces#InvalidResourceStateException" + }, + { + "target": "com.amazonaws.workspaces#OperationInProgressException" + }, + { + "target": "com.amazonaws.workspaces#OperationNotSupportedException" + }, + { + "target": "com.amazonaws.workspaces#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.workspaces#ResourceNotFoundException" } + ], + "traits": { + "smithy.api#documentation": "

Updates the specified WorkSpaces pool.

" } }, - "com.amazonaws.workspaces#UserStorage": { + "com.amazonaws.workspaces#UpdateWorkspacesPoolRequest": { "type": "structure", "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of the specified WorkSpaces pool to update.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.workspaces#UpdateDescription", + "traits": { + "smithy.api#documentation": "

Describes the specified WorkSpaces pool to update.

" + } + }, + "BundleId": { + "target": "com.amazonaws.workspaces#BundleId", + "traits": { + "smithy.api#documentation": "

The identifier of the bundle.

" + } + }, + "DirectoryId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the directory.

" + } + }, "Capacity": { - "target": "com.amazonaws.workspaces#NonEmptyString", + "target": "com.amazonaws.workspaces#Capacity", "traits": { - "smithy.api#documentation": "

The size of the user volume.

" + "smithy.api#documentation": "

The desired capacity for the WorkSpaces pool.

" + } + }, + "ApplicationSettings": { + "target": "com.amazonaws.workspaces#ApplicationSettingsRequest", + "traits": { + "smithy.api#documentation": "

The persistent application settings for users in the pool.

" + } + }, + "TimeoutSettings": { + "target": "com.amazonaws.workspaces#TimeoutSettings", + "traits": { + "smithy.api#documentation": "

Indicates the timeout settings of the specified WorkSpaces pool.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the user volume for a WorkSpace bundle.

" + "smithy.api#input": {} } }, - "com.amazonaws.workspaces#UserVolumeSizeGib": { - "type": "integer" - }, - "com.amazonaws.workspaces#ValidationException": { + "com.amazonaws.workspaces#UpdateWorkspacesPoolResult": { "type": "structure", "members": { - "message": { + "WorkspacesPool": { + "target": "com.amazonaws.workspaces#WorkspacesPool", + "traits": { + "smithy.api#documentation": "

Describes the specified WorkSpaces pool.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspaces#UserIdentityType": { + "type": "enum", + "members": { + "CUSTOMER_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOMER_MANAGED" + } + }, + "AWS_DIRECTORY_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_DIRECTORY_SERVICE" + } + } + } + }, + "com.amazonaws.workspaces#UserName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + } + } + }, + "com.amazonaws.workspaces#UserSetting": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.workspaces#UserSettingActionEnum", + "traits": { + "smithy.api#documentation": "

Indicates the type of action.

", + "smithy.api#required": {} + } + }, + "Permission": { + "target": "com.amazonaws.workspaces#UserSettingPermissionEnum", + "traits": { + "smithy.api#documentation": "

Indicates if the setting is enabled or disabled.

", + "smithy.api#required": {} + } + }, + "MaximumLength": { + "target": "com.amazonaws.workspaces#MaximumLength", + "traits": { + "smithy.api#documentation": "

Indicates the maximum character length for the specified user setting.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the user's permission settings.

" + } + }, + "com.amazonaws.workspaces#UserSettingActionEnum": { + "type": "enum", + "members": { + "CLIPBOARD_COPY_FROM_LOCAL_DEVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLIPBOARD_COPY_FROM_LOCAL_DEVICE" + } + }, + "CLIPBOARD_COPY_TO_LOCAL_DEVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLIPBOARD_COPY_TO_LOCAL_DEVICE" + } + }, + "PRINTING_TO_LOCAL_DEVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRINTING_TO_LOCAL_DEVICE" + } + }, + "SMART_CARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SMART_CARD" + } + } + } + }, + "com.amazonaws.workspaces#UserSettingPermissionEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.workspaces#UserSettings": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#UserSetting" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.workspaces#UserStorage": { + "type": "structure", + "members": { + "Capacity": { + "target": "com.amazonaws.workspaces#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The size of the user volume.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the user volume for a WorkSpace bundle.

" + } + }, + "com.amazonaws.workspaces#UserVolumeSizeGib": { + "type": "integer" + }, + "com.amazonaws.workspaces#ValidationException": { + "type": "structure", + "members": { + "message": { "target": "com.amazonaws.workspaces#ExceptionMessage" } }, @@ -8800,6 +10125,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information,\n see WorkSpace\n Maintenance.

" } + }, + "InstanceIamRoleArn": { + "target": "com.amazonaws.workspaces#ARN", + "traits": { + "smithy.api#documentation": "

Indicates the IAM role ARN of the instance.

" + } } }, "traits": { @@ -8916,12 +10247,78 @@ "traits": { "smithy.api#documentation": "

The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP)\n user identities to Active Directory for WorkSpaces login.

" } + }, + "WorkspaceDirectoryName": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryName", + "traits": { + "smithy.api#documentation": "

The name fo the WorkSpace directory.

" + } + }, + "WorkspaceDirectoryDescription": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryDescription", + "traits": { + "smithy.api#documentation": "

The description of the WorkSpace directory

" + } + }, + "UserIdentityType": { + "target": "com.amazonaws.workspaces#UserIdentityType", + "traits": { + "smithy.api#documentation": "

Indicates the identity type of the specifired user.

" + } + }, + "WorkspaceType": { + "target": "com.amazonaws.workspaces#WorkspaceType", + "traits": { + "smithy.api#documentation": "

Indicates whether the directory's WorkSpace type is personal or pools.

" + } + }, + "ActiveDirectoryConfig": { + "target": "com.amazonaws.workspaces#ActiveDirectoryConfig", + "traits": { + "smithy.api#documentation": "

Information about the Active Directory config.

" + } + }, + "StreamingProperties": { + "target": "com.amazonaws.workspaces#StreamingProperties", + "traits": { + "smithy.api#documentation": "

The streaming properties to configure.

" + } + }, + "ErrorMessage": { + "target": "com.amazonaws.workspaces#Description", + "traits": { + "smithy.api#documentation": "

The error message returned.

" + } } }, "traits": { "smithy.api#documentation": "

Describes a directory that is used with Amazon WorkSpaces.

" } }, + "com.amazonaws.workspaces#WorkspaceDirectoryDescription": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]{1,255}$" + } + }, + "com.amazonaws.workspaces#WorkspaceDirectoryName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.\\s-]{1,64}$" + } + }, + "com.amazonaws.workspaces#WorkspaceDirectoryNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#WorkspaceDirectoryName" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, "com.amazonaws.workspaces#WorkspaceDirectoryState": { "type": "enum", "members": { @@ -8971,6 +10368,12 @@ "traits": { "smithy.api#enumValue": "AD_CONNECTOR" } + }, + "CUSTOMER_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOMER_MANAGED" + } } } }, @@ -9672,6 +11075,23 @@ } } }, + "com.amazonaws.workspaces#WorkspaceType": { + "type": "enum", + "members": { + "PERSONAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERSONAL" + } + }, + "POOLS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POOLS" + } + } + } + }, "com.amazonaws.workspaces#WorkspacesDefaultRoleNotFoundException": { "type": "structure", "members": { @@ -9722,48 +11142,564 @@ "target": "com.amazonaws.workspaces#WorkspacesIpGroup" } }, - "com.amazonaws.workspaces#WorkspacesService": { - "type": "service", - "version": "2015-04-08", - "operations": [ - { - "target": "com.amazonaws.workspaces#AcceptAccountLinkInvitation" + "com.amazonaws.workspaces#WorkspacesPool": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of a WorkSpaces pool.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#AssociateConnectionAlias" + "PoolArn": { + "target": "com.amazonaws.workspaces#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the WorkSpaces pool.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#AssociateIpGroups" + "CapacityStatus": { + "target": "com.amazonaws.workspaces#CapacityStatus", + "traits": { + "smithy.api#documentation": "

The capacity status for the pool

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#AssociateWorkspaceApplication" + "PoolName": { + "target": "com.amazonaws.workspaces#WorkspacesPoolName", + "traits": { + "smithy.api#documentation": "

The name of the pool,

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#AuthorizeIpRules" + "Description": { + "target": "com.amazonaws.workspaces#UpdateDescription", + "traits": { + "smithy.api#documentation": "

The description of the pool.

" + } }, - { - "target": "com.amazonaws.workspaces#CopyWorkspaceImage" + "State": { + "target": "com.amazonaws.workspaces#WorkspacesPoolState", + "traits": { + "smithy.api#documentation": "

The current state of the pool.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#CreateAccountLinkInvitation" + "CreatedAt": { + "target": "com.amazonaws.workspaces#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the pool was created.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#CreateConnectClientAddIn" + "BundleId": { + "target": "com.amazonaws.workspaces#BundleId", + "traits": { + "smithy.api#documentation": "

The identifier of the bundle used by the pool.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#CreateConnectionAlias" + "DirectoryId": { + "target": "com.amazonaws.workspaces#DirectoryId", + "traits": { + "smithy.api#documentation": "

The identifier of the directory used by the pool.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspaces#CreateIpGroup" + "Errors": { + "target": "com.amazonaws.workspaces#WorkspacesPoolErrors", + "traits": { + "smithy.api#documentation": "

The pool errors.

" + } }, - { - "target": "com.amazonaws.workspaces#CreateStandbyWorkspaces" + "ApplicationSettings": { + "target": "com.amazonaws.workspaces#ApplicationSettingsResponse", + "traits": { + "smithy.api#documentation": "

The persistent application settings for users of the pool.

" + } }, - { - "target": "com.amazonaws.workspaces#CreateTags" + "TimeoutSettings": { + "target": "com.amazonaws.workspaces#TimeoutSettings", + "traits": { + "smithy.api#documentation": "

The amount of time that a pool session remains active after users disconnect. \n If they try to reconnect to the pool session after a disconnection or network interruption \n within this time interval, they are connected to their previous session. \n Otherwise, they are connected to a new session with a new pool instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a WorkSpaces pool.

" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "com.amazonaws.workspaces#WorkspacesPoolErrorCode", + "traits": { + "smithy.api#documentation": "

The error code.

" + } }, - { - "target": "com.amazonaws.workspaces#CreateUpdatedWorkspaceImage" + "ErrorMessage": { + "target": "com.amazonaws.workspaces#ErrorMessage", + "traits": { + "smithy.api#documentation": "

The error message.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a WorkSpaces pool error.

" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolErrorCode": { + "type": "enum", + "members": { + "IAM_SERVICE_ROLE_IS_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_IS_MISSING" + } + }, + "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" + } + }, + "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" + } + }, + "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" + } + }, + "NETWORK_INTERFACE_LIMIT_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NETWORK_INTERFACE_LIMIT_EXCEEDED" + } + }, + "INTERNAL_SERVICE_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVICE_ERROR" + } + }, + "MACHINE_ROLE_IS_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MACHINE_ROLE_IS_MISSING" + } + }, + "STS_DISABLED_IN_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STS_DISABLED_IN_REGION" + } + }, + "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" + } + }, + "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" + } + }, + "SUBNET_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUBNET_NOT_FOUND" + } + }, + "IMAGE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IMAGE_NOT_FOUND" + } + }, + "INVALID_SUBNET_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_SUBNET_CONFIGURATION" + } + }, + "SECURITY_GROUPS_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SECURITY_GROUPS_NOT_FOUND" + } + }, + "IGW_NOT_ATTACHED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IGW_NOT_ATTACHED" + } + }, + "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" + } + }, + "WORKSPACES_POOL_STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WORKSPACES_POOL_STOPPED" + } + }, + "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE" + } + }, + "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" + } + }, + "DOMAIN_JOIN_ERROR_ACCESS_DENIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_ACCESS_DENIED" + } + }, + "DOMAIN_JOIN_ERROR_LOGON_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_LOGON_FAILURE" + } + }, + "DOMAIN_JOIN_ERROR_INVALID_PARAMETER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" + } + }, + "DOMAIN_JOIN_ERROR_MORE_DATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_MORE_DATA" + } + }, + "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" + } + }, + "DOMAIN_JOIN_ERROR_NOT_SUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" + } + }, + "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" + } + }, + "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" + } + }, + "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" + } + }, + "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" + } + }, + "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND" + } + }, + "DOMAIN_JOIN_ERROR_SECRET_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN_JOIN_ERROR_SECRET_INVALID" + } + }, + "BUNDLE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BUNDLE_NOT_FOUND" + } + }, + "DIRECTORY_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DIRECTORY_NOT_FOUND" + } + }, + "INSUFFICIENT_PERMISSIONS_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_PERMISSIONS_ERROR" + } + }, + "DEFAULT_OU_IS_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEFAULT_OU_IS_MISSING" + } + } + } + }, + "com.amazonaws.workspaces#WorkspacesPoolErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#WorkspacesPoolError" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^wspool-[0-9a-z]{9}$" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolIds": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.workspaces#WorkspacesPoolName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolSession": { + "type": "structure", + "members": { + "AuthenticationType": { + "target": "com.amazonaws.workspaces#AuthenticationType", + "traits": { + "smithy.api#documentation": "

The authentication method. The user is authenticated using a WorkSpaces \n pool URL (API) or SAML 2.0 federation (SAML).

" + } + }, + "ConnectionState": { + "target": "com.amazonaws.workspaces#SessionConnectionState", + "traits": { + "smithy.api#documentation": "

Specifies whether a user is connected to the pool session.

" + } + }, + "SessionId": { + "target": "com.amazonaws.workspaces#AmazonUuid", + "traits": { + "smithy.api#documentation": "

The identifier of the session.

", + "smithy.api#required": {} + } + }, + "InstanceId": { + "target": "com.amazonaws.workspaces#SessionInstanceId", + "traits": { + "smithy.api#documentation": "

The identifier for the instance hosting the session.

" + } + }, + "PoolId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolId", + "traits": { + "smithy.api#documentation": "

The identifier of the pool.

", + "smithy.api#required": {} + } + }, + "ExpirationTime": { + "target": "com.amazonaws.workspaces#Timestamp", + "traits": { + "smithy.api#documentation": "

The time that the pool session ended.

" + } + }, + "NetworkAccessConfiguration": { + "target": "com.amazonaws.workspaces#NetworkAccessConfiguration", + "traits": { + "smithy.api#documentation": "

Describes the network details of the pool.

" + } + }, + "StartTime": { + "target": "com.amazonaws.workspaces#Timestamp", + "traits": { + "smithy.api#documentation": "

The time that the pool sission started.

" + } + }, + "UserId": { + "target": "com.amazonaws.workspaces#WorkspacesPoolUserId", + "traits": { + "smithy.api#documentation": "

The identifier of the user.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a WorkSpaces pool session.

" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolSessions": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#WorkspacesPoolSession" + } + }, + "com.amazonaws.workspaces#WorkspacesPoolState": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "STARTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTING" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + }, + "STOPPING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPING" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } + } + }, + "com.amazonaws.workspaces#WorkspacesPoolUserId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 128 + } + } + }, + "com.amazonaws.workspaces#WorkspacesPools": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#WorkspacesPool" + } + }, + "com.amazonaws.workspaces#WorkspacesService": { + "type": "service", + "version": "2015-04-08", + "operations": [ + { + "target": "com.amazonaws.workspaces#AcceptAccountLinkInvitation" + }, + { + "target": "com.amazonaws.workspaces#AssociateConnectionAlias" + }, + { + "target": "com.amazonaws.workspaces#AssociateIpGroups" + }, + { + "target": "com.amazonaws.workspaces#AssociateWorkspaceApplication" + }, + { + "target": "com.amazonaws.workspaces#AuthorizeIpRules" + }, + { + "target": "com.amazonaws.workspaces#CopyWorkspaceImage" + }, + { + "target": "com.amazonaws.workspaces#CreateAccountLinkInvitation" + }, + { + "target": "com.amazonaws.workspaces#CreateConnectClientAddIn" + }, + { + "target": "com.amazonaws.workspaces#CreateConnectionAlias" + }, + { + "target": "com.amazonaws.workspaces#CreateIpGroup" + }, + { + "target": "com.amazonaws.workspaces#CreateStandbyWorkspaces" + }, + { + "target": "com.amazonaws.workspaces#CreateTags" + }, + { + "target": "com.amazonaws.workspaces#CreateUpdatedWorkspaceImage" }, { "target": "com.amazonaws.workspaces#CreateWorkspaceBundle" @@ -9774,6 +11710,9 @@ { "target": "com.amazonaws.workspaces#CreateWorkspaces" }, + { + "target": "com.amazonaws.workspaces#CreateWorkspacesPool" + }, { "target": "com.amazonaws.workspaces#DeleteAccountLinkInvitation" }, @@ -9867,6 +11806,12 @@ { "target": "com.amazonaws.workspaces#DescribeWorkspaceSnapshots" }, + { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPools" + }, + { + "target": "com.amazonaws.workspaces#DescribeWorkspacesPoolSessions" + }, { "target": "com.amazonaws.workspaces#DisassociateConnectionAlias" }, @@ -9909,6 +11854,9 @@ { "target": "com.amazonaws.workspaces#ModifySelfservicePermissions" }, + { + "target": "com.amazonaws.workspaces#ModifyStreamingProperties" + }, { "target": "com.amazonaws.workspaces#ModifyWorkspaceAccessProperties" }, @@ -9942,12 +11890,24 @@ { "target": "com.amazonaws.workspaces#StartWorkspaces" }, + { + "target": "com.amazonaws.workspaces#StartWorkspacesPool" + }, { "target": "com.amazonaws.workspaces#StopWorkspaces" }, + { + "target": "com.amazonaws.workspaces#StopWorkspacesPool" + }, { "target": "com.amazonaws.workspaces#TerminateWorkspaces" }, + { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPool" + }, + { + "target": "com.amazonaws.workspaces#TerminateWorkspacesPoolSession" + }, { "target": "com.amazonaws.workspaces#UpdateConnectClientAddIn" }, @@ -9962,6 +11922,9 @@ }, { "target": "com.amazonaws.workspaces#UpdateWorkspaceImagePermission" + }, + { + "target": "com.amazonaws.workspaces#UpdateWorkspacesPool" } ], "traits": {