From b1f5b06073cf9499039a581eba91a806a2555301 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 20 Nov 2024 19:12:52 +0000 Subject: [PATCH] feat(client-workspaces-web): Added data protection settings with support for inline data redaction. --- clients/client-workspaces-web/README.md | 56 + .../src/WorkSpacesWeb.ts | 163 +++ .../src/WorkSpacesWebClient.ts | 42 + .../AssociateDataProtectionSettingsCommand.ts | 117 ++ .../CreateDataProtectionSettingsCommand.ts | 165 +++ .../DeleteDataProtectionSettingsCommand.ts | 110 ++ ...sassociateDataProtectionSettingsCommand.ts | 116 ++ .../GetDataProtectionSettingsCommand.ts | 154 +++ .../src/commands/GetPortalCommand.ts | 1 + .../ListDataProtectionSettingsCommand.ts | 117 ++ .../src/commands/ListPortalsCommand.ts | 1 + .../UpdateDataProtectionSettingsCommand.ts | 194 +++ .../src/commands/UpdatePortalCommand.ts | 1 + .../src/commands/index.ts | 7 + .../src/models/models_0.ts | 611 +++++++++ .../ListDataProtectionSettingsPaginator.ts | 24 + .../src/pagination/index.ts | 1 + .../src/protocols/Aws_restJson1.ts | 386 ++++++ .../aws-models/workspaces-web.json | 1138 +++++++++++++++-- 19 files changed, 3332 insertions(+), 72 deletions(-) create mode 100644 clients/client-workspaces-web/src/commands/AssociateDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/CreateDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/DeleteDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/DisassociateDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/GetDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/ListDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/commands/UpdateDataProtectionSettingsCommand.ts create mode 100644 clients/client-workspaces-web/src/pagination/ListDataProtectionSettingsPaginator.ts diff --git a/clients/client-workspaces-web/README.md b/clients/client-workspaces-web/README.md index d3c0e4ed419c..7f3c56065f58 100644 --- a/clients/client-workspaces-web/README.md +++ b/clients/client-workspaces-web/README.md @@ -216,6 +216,14 @@ AssociateBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/AssociateBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/AssociateBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/AssociateBrowserSettingsCommandOutput/) + +
+ +AssociateDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/AssociateDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/AssociateDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/AssociateDataProtectionSettingsCommandOutput/) +
@@ -264,6 +272,14 @@ CreateBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/CreateBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/CreateBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/CreateBrowserSettingsCommandOutput/) +
+
+ +CreateDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/CreateDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/CreateDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/CreateDataProtectionSettingsCommandOutput/) +
@@ -328,6 +344,14 @@ DeleteBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/DeleteBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DeleteBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DeleteBrowserSettingsCommandOutput/) +
+
+ +DeleteDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/DeleteDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DeleteDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DeleteDataProtectionSettingsCommandOutput/) +
@@ -392,6 +416,14 @@ DisassociateBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/DisassociateBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DisassociateBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DisassociateBrowserSettingsCommandOutput/) +
+
+ +DisassociateDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/DisassociateDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DisassociateDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/DisassociateDataProtectionSettingsCommandOutput/) +
@@ -448,6 +480,14 @@ GetBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/GetBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/GetBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/GetBrowserSettingsCommandOutput/) +
+
+ +GetDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/GetDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/GetDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/GetDataProtectionSettingsCommandOutput/) +
@@ -536,6 +576,14 @@ ListBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/ListBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/ListBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/ListBrowserSettingsCommandOutput/) +
+
+ +ListDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/ListDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/ListDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/ListDataProtectionSettingsCommandOutput/) +
@@ -640,6 +688,14 @@ UpdateBrowserSettings [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/UpdateBrowserSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/UpdateBrowserSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/UpdateBrowserSettingsCommandOutput/) +
+
+ +UpdateDataProtectionSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workspaces-web/command/UpdateDataProtectionSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/UpdateDataProtectionSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workspaces-web/Interface/UpdateDataProtectionSettingsCommandOutput/) +
diff --git a/clients/client-workspaces-web/src/WorkSpacesWeb.ts b/clients/client-workspaces-web/src/WorkSpacesWeb.ts index 71b78dbf44b5..8b8f541e9e0a 100644 --- a/clients/client-workspaces-web/src/WorkSpacesWeb.ts +++ b/clients/client-workspaces-web/src/WorkSpacesWeb.ts @@ -7,6 +7,11 @@ import { AssociateBrowserSettingsCommandInput, AssociateBrowserSettingsCommandOutput, } from "./commands/AssociateBrowserSettingsCommand"; +import { + AssociateDataProtectionSettingsCommand, + AssociateDataProtectionSettingsCommandInput, + AssociateDataProtectionSettingsCommandOutput, +} from "./commands/AssociateDataProtectionSettingsCommand"; import { AssociateIpAccessSettingsCommand, AssociateIpAccessSettingsCommandInput, @@ -37,6 +42,11 @@ import { CreateBrowserSettingsCommandInput, CreateBrowserSettingsCommandOutput, } from "./commands/CreateBrowserSettingsCommand"; +import { + CreateDataProtectionSettingsCommand, + CreateDataProtectionSettingsCommandInput, + CreateDataProtectionSettingsCommandOutput, +} from "./commands/CreateDataProtectionSettingsCommand"; import { CreateIdentityProviderCommand, CreateIdentityProviderCommandInput, @@ -77,6 +87,11 @@ import { DeleteBrowserSettingsCommandInput, DeleteBrowserSettingsCommandOutput, } from "./commands/DeleteBrowserSettingsCommand"; +import { + DeleteDataProtectionSettingsCommand, + DeleteDataProtectionSettingsCommandInput, + DeleteDataProtectionSettingsCommandOutput, +} from "./commands/DeleteDataProtectionSettingsCommand"; import { DeleteIdentityProviderCommand, DeleteIdentityProviderCommandInput, @@ -117,6 +132,11 @@ import { DisassociateBrowserSettingsCommandInput, DisassociateBrowserSettingsCommandOutput, } from "./commands/DisassociateBrowserSettingsCommand"; +import { + DisassociateDataProtectionSettingsCommand, + DisassociateDataProtectionSettingsCommandInput, + DisassociateDataProtectionSettingsCommandOutput, +} from "./commands/DisassociateDataProtectionSettingsCommand"; import { DisassociateIpAccessSettingsCommand, DisassociateIpAccessSettingsCommandInput, @@ -152,6 +172,11 @@ import { GetBrowserSettingsCommandInput, GetBrowserSettingsCommandOutput, } from "./commands/GetBrowserSettingsCommand"; +import { + GetDataProtectionSettingsCommand, + GetDataProtectionSettingsCommandInput, + GetDataProtectionSettingsCommandOutput, +} from "./commands/GetDataProtectionSettingsCommand"; import { GetIdentityProviderCommand, GetIdentityProviderCommandInput, @@ -199,6 +224,11 @@ import { ListBrowserSettingsCommandInput, ListBrowserSettingsCommandOutput, } from "./commands/ListBrowserSettingsCommand"; +import { + ListDataProtectionSettingsCommand, + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput, +} from "./commands/ListDataProtectionSettingsCommand"; import { ListIdentityProvidersCommand, ListIdentityProvidersCommandInput, @@ -256,6 +286,11 @@ import { UpdateBrowserSettingsCommandInput, UpdateBrowserSettingsCommandOutput, } from "./commands/UpdateBrowserSettingsCommand"; +import { + UpdateDataProtectionSettingsCommand, + UpdateDataProtectionSettingsCommandInput, + UpdateDataProtectionSettingsCommandOutput, +} from "./commands/UpdateDataProtectionSettingsCommand"; import { UpdateIdentityProviderCommand, UpdateIdentityProviderCommandInput, @@ -295,12 +330,14 @@ import { WorkSpacesWebClient, WorkSpacesWebClientConfig } from "./WorkSpacesWebC const commands = { AssociateBrowserSettingsCommand, + AssociateDataProtectionSettingsCommand, AssociateIpAccessSettingsCommand, AssociateNetworkSettingsCommand, AssociateTrustStoreCommand, AssociateUserAccessLoggingSettingsCommand, AssociateUserSettingsCommand, CreateBrowserSettingsCommand, + CreateDataProtectionSettingsCommand, CreateIdentityProviderCommand, CreateIpAccessSettingsCommand, CreateNetworkSettingsCommand, @@ -309,6 +346,7 @@ const commands = { CreateUserAccessLoggingSettingsCommand, CreateUserSettingsCommand, DeleteBrowserSettingsCommand, + DeleteDataProtectionSettingsCommand, DeleteIdentityProviderCommand, DeleteIpAccessSettingsCommand, DeleteNetworkSettingsCommand, @@ -317,6 +355,7 @@ const commands = { DeleteUserAccessLoggingSettingsCommand, DeleteUserSettingsCommand, DisassociateBrowserSettingsCommand, + DisassociateDataProtectionSettingsCommand, DisassociateIpAccessSettingsCommand, DisassociateNetworkSettingsCommand, DisassociateTrustStoreCommand, @@ -324,6 +363,7 @@ const commands = { DisassociateUserSettingsCommand, ExpireSessionCommand, GetBrowserSettingsCommand, + GetDataProtectionSettingsCommand, GetIdentityProviderCommand, GetIpAccessSettingsCommand, GetNetworkSettingsCommand, @@ -335,6 +375,7 @@ const commands = { GetUserAccessLoggingSettingsCommand, GetUserSettingsCommand, ListBrowserSettingsCommand, + ListDataProtectionSettingsCommand, ListIdentityProvidersCommand, ListIpAccessSettingsCommand, ListNetworkSettingsCommand, @@ -348,6 +389,7 @@ const commands = { TagResourceCommand, UntagResourceCommand, UpdateBrowserSettingsCommand, + UpdateDataProtectionSettingsCommand, UpdateIdentityProviderCommand, UpdateIpAccessSettingsCommand, UpdateNetworkSettingsCommand, @@ -375,6 +417,23 @@ export interface WorkSpacesWeb { cb: (err: any, data?: AssociateBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link AssociateDataProtectionSettingsCommand} + */ + associateDataProtectionSettings( + args: AssociateDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + associateDataProtectionSettings( + args: AssociateDataProtectionSettingsCommandInput, + cb: (err: any, data?: AssociateDataProtectionSettingsCommandOutput) => void + ): void; + associateDataProtectionSettings( + args: AssociateDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link AssociateIpAccessSettingsCommand} */ @@ -477,6 +536,24 @@ export interface WorkSpacesWeb { cb: (err: any, data?: CreateBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link CreateDataProtectionSettingsCommand} + */ + createDataProtectionSettings(): Promise; + createDataProtectionSettings( + args: CreateDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createDataProtectionSettings( + args: CreateDataProtectionSettingsCommandInput, + cb: (err: any, data?: CreateDataProtectionSettingsCommandOutput) => void + ): void; + createDataProtectionSettings( + args: CreateDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link CreateIdentityProviderCommand} */ @@ -608,6 +685,23 @@ export interface WorkSpacesWeb { cb: (err: any, data?: DeleteBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link DeleteDataProtectionSettingsCommand} + */ + deleteDataProtectionSettings( + args: DeleteDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteDataProtectionSettings( + args: DeleteDataProtectionSettingsCommandInput, + cb: (err: any, data?: DeleteDataProtectionSettingsCommandOutput) => void + ): void; + deleteDataProtectionSettings( + args: DeleteDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link DeleteIdentityProviderCommand} */ @@ -738,6 +832,23 @@ export interface WorkSpacesWeb { cb: (err: any, data?: DisassociateBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link DisassociateDataProtectionSettingsCommand} + */ + disassociateDataProtectionSettings( + args: DisassociateDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + disassociateDataProtectionSettings( + args: DisassociateDataProtectionSettingsCommandInput, + cb: (err: any, data?: DisassociateDataProtectionSettingsCommandOutput) => void + ): void; + disassociateDataProtectionSettings( + args: DisassociateDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link DisassociateIpAccessSettingsCommand} */ @@ -851,6 +962,23 @@ export interface WorkSpacesWeb { cb: (err: any, data?: GetBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link GetDataProtectionSettingsCommand} + */ + getDataProtectionSettings( + args: GetDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getDataProtectionSettings( + args: GetDataProtectionSettingsCommandInput, + cb: (err: any, data?: GetDataProtectionSettingsCommandOutput) => void + ): void; + getDataProtectionSettings( + args: GetDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link GetIdentityProviderCommand} */ @@ -1018,6 +1146,24 @@ export interface WorkSpacesWeb { cb: (err: any, data?: ListBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link ListDataProtectionSettingsCommand} + */ + listDataProtectionSettings(): Promise; + listDataProtectionSettings( + args: ListDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listDataProtectionSettings( + args: ListDataProtectionSettingsCommandInput, + cb: (err: any, data?: ListDataProtectionSettingsCommandOutput) => void + ): void; + listDataProtectionSettings( + args: ListDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link ListIdentityProvidersCommand} */ @@ -1218,6 +1364,23 @@ export interface WorkSpacesWeb { cb: (err: any, data?: UpdateBrowserSettingsCommandOutput) => void ): void; + /** + * @see {@link UpdateDataProtectionSettingsCommand} + */ + updateDataProtectionSettings( + args: UpdateDataProtectionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateDataProtectionSettings( + args: UpdateDataProtectionSettingsCommandInput, + cb: (err: any, data?: UpdateDataProtectionSettingsCommandOutput) => void + ): void; + updateDataProtectionSettings( + args: UpdateDataProtectionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateDataProtectionSettingsCommandOutput) => void + ): void; + /** * @see {@link UpdateIdentityProviderCommand} */ diff --git a/clients/client-workspaces-web/src/WorkSpacesWebClient.ts b/clients/client-workspaces-web/src/WorkSpacesWebClient.ts index 4188f75645a5..3829915a01e2 100644 --- a/clients/client-workspaces-web/src/WorkSpacesWebClient.ts +++ b/clients/client-workspaces-web/src/WorkSpacesWebClient.ts @@ -57,6 +57,10 @@ import { AssociateBrowserSettingsCommandInput, AssociateBrowserSettingsCommandOutput, } from "./commands/AssociateBrowserSettingsCommand"; +import { + AssociateDataProtectionSettingsCommandInput, + AssociateDataProtectionSettingsCommandOutput, +} from "./commands/AssociateDataProtectionSettingsCommand"; import { AssociateIpAccessSettingsCommandInput, AssociateIpAccessSettingsCommandOutput, @@ -81,6 +85,10 @@ import { CreateBrowserSettingsCommandInput, CreateBrowserSettingsCommandOutput, } from "./commands/CreateBrowserSettingsCommand"; +import { + CreateDataProtectionSettingsCommandInput, + CreateDataProtectionSettingsCommandOutput, +} from "./commands/CreateDataProtectionSettingsCommand"; import { CreateIdentityProviderCommandInput, CreateIdentityProviderCommandOutput, @@ -104,6 +112,10 @@ import { DeleteBrowserSettingsCommandInput, DeleteBrowserSettingsCommandOutput, } from "./commands/DeleteBrowserSettingsCommand"; +import { + DeleteDataProtectionSettingsCommandInput, + DeleteDataProtectionSettingsCommandOutput, +} from "./commands/DeleteDataProtectionSettingsCommand"; import { DeleteIdentityProviderCommandInput, DeleteIdentityProviderCommandOutput, @@ -127,6 +139,10 @@ import { DisassociateBrowserSettingsCommandInput, DisassociateBrowserSettingsCommandOutput, } from "./commands/DisassociateBrowserSettingsCommand"; +import { + DisassociateDataProtectionSettingsCommandInput, + DisassociateDataProtectionSettingsCommandOutput, +} from "./commands/DisassociateDataProtectionSettingsCommand"; import { DisassociateIpAccessSettingsCommandInput, DisassociateIpAccessSettingsCommandOutput, @@ -149,6 +165,10 @@ import { } from "./commands/DisassociateUserSettingsCommand"; import { ExpireSessionCommandInput, ExpireSessionCommandOutput } from "./commands/ExpireSessionCommand"; import { GetBrowserSettingsCommandInput, GetBrowserSettingsCommandOutput } from "./commands/GetBrowserSettingsCommand"; +import { + GetDataProtectionSettingsCommandInput, + GetDataProtectionSettingsCommandOutput, +} from "./commands/GetDataProtectionSettingsCommand"; import { GetIdentityProviderCommandInput, GetIdentityProviderCommandOutput, @@ -178,6 +198,10 @@ import { ListBrowserSettingsCommandInput, ListBrowserSettingsCommandOutput, } from "./commands/ListBrowserSettingsCommand"; +import { + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput, +} from "./commands/ListDataProtectionSettingsCommand"; import { ListIdentityProvidersCommandInput, ListIdentityProvidersCommandOutput, @@ -212,6 +236,10 @@ import { UpdateBrowserSettingsCommandInput, UpdateBrowserSettingsCommandOutput, } from "./commands/UpdateBrowserSettingsCommand"; +import { + UpdateDataProtectionSettingsCommandInput, + UpdateDataProtectionSettingsCommandOutput, +} from "./commands/UpdateDataProtectionSettingsCommand"; import { UpdateIdentityProviderCommandInput, UpdateIdentityProviderCommandOutput, @@ -247,12 +275,14 @@ export { __Client }; */ export type ServiceInputTypes = | AssociateBrowserSettingsCommandInput + | AssociateDataProtectionSettingsCommandInput | AssociateIpAccessSettingsCommandInput | AssociateNetworkSettingsCommandInput | AssociateTrustStoreCommandInput | AssociateUserAccessLoggingSettingsCommandInput | AssociateUserSettingsCommandInput | CreateBrowserSettingsCommandInput + | CreateDataProtectionSettingsCommandInput | CreateIdentityProviderCommandInput | CreateIpAccessSettingsCommandInput | CreateNetworkSettingsCommandInput @@ -261,6 +291,7 @@ export type ServiceInputTypes = | CreateUserAccessLoggingSettingsCommandInput | CreateUserSettingsCommandInput | DeleteBrowserSettingsCommandInput + | DeleteDataProtectionSettingsCommandInput | DeleteIdentityProviderCommandInput | DeleteIpAccessSettingsCommandInput | DeleteNetworkSettingsCommandInput @@ -269,6 +300,7 @@ export type ServiceInputTypes = | DeleteUserAccessLoggingSettingsCommandInput | DeleteUserSettingsCommandInput | DisassociateBrowserSettingsCommandInput + | DisassociateDataProtectionSettingsCommandInput | DisassociateIpAccessSettingsCommandInput | DisassociateNetworkSettingsCommandInput | DisassociateTrustStoreCommandInput @@ -276,6 +308,7 @@ export type ServiceInputTypes = | DisassociateUserSettingsCommandInput | ExpireSessionCommandInput | GetBrowserSettingsCommandInput + | GetDataProtectionSettingsCommandInput | GetIdentityProviderCommandInput | GetIpAccessSettingsCommandInput | GetNetworkSettingsCommandInput @@ -287,6 +320,7 @@ export type ServiceInputTypes = | GetUserAccessLoggingSettingsCommandInput | GetUserSettingsCommandInput | ListBrowserSettingsCommandInput + | ListDataProtectionSettingsCommandInput | ListIdentityProvidersCommandInput | ListIpAccessSettingsCommandInput | ListNetworkSettingsCommandInput @@ -300,6 +334,7 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateBrowserSettingsCommandInput + | UpdateDataProtectionSettingsCommandInput | UpdateIdentityProviderCommandInput | UpdateIpAccessSettingsCommandInput | UpdateNetworkSettingsCommandInput @@ -313,12 +348,14 @@ export type ServiceInputTypes = */ export type ServiceOutputTypes = | AssociateBrowserSettingsCommandOutput + | AssociateDataProtectionSettingsCommandOutput | AssociateIpAccessSettingsCommandOutput | AssociateNetworkSettingsCommandOutput | AssociateTrustStoreCommandOutput | AssociateUserAccessLoggingSettingsCommandOutput | AssociateUserSettingsCommandOutput | CreateBrowserSettingsCommandOutput + | CreateDataProtectionSettingsCommandOutput | CreateIdentityProviderCommandOutput | CreateIpAccessSettingsCommandOutput | CreateNetworkSettingsCommandOutput @@ -327,6 +364,7 @@ export type ServiceOutputTypes = | CreateUserAccessLoggingSettingsCommandOutput | CreateUserSettingsCommandOutput | DeleteBrowserSettingsCommandOutput + | DeleteDataProtectionSettingsCommandOutput | DeleteIdentityProviderCommandOutput | DeleteIpAccessSettingsCommandOutput | DeleteNetworkSettingsCommandOutput @@ -335,6 +373,7 @@ export type ServiceOutputTypes = | DeleteUserAccessLoggingSettingsCommandOutput | DeleteUserSettingsCommandOutput | DisassociateBrowserSettingsCommandOutput + | DisassociateDataProtectionSettingsCommandOutput | DisassociateIpAccessSettingsCommandOutput | DisassociateNetworkSettingsCommandOutput | DisassociateTrustStoreCommandOutput @@ -342,6 +381,7 @@ export type ServiceOutputTypes = | DisassociateUserSettingsCommandOutput | ExpireSessionCommandOutput | GetBrowserSettingsCommandOutput + | GetDataProtectionSettingsCommandOutput | GetIdentityProviderCommandOutput | GetIpAccessSettingsCommandOutput | GetNetworkSettingsCommandOutput @@ -353,6 +393,7 @@ export type ServiceOutputTypes = | GetUserAccessLoggingSettingsCommandOutput | GetUserSettingsCommandOutput | ListBrowserSettingsCommandOutput + | ListDataProtectionSettingsCommandOutput | ListIdentityProvidersCommandOutput | ListIpAccessSettingsCommandOutput | ListNetworkSettingsCommandOutput @@ -366,6 +407,7 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateBrowserSettingsCommandOutput + | UpdateDataProtectionSettingsCommandOutput | UpdateIdentityProviderCommandOutput | UpdateIpAccessSettingsCommandOutput | UpdateNetworkSettingsCommandOutput diff --git a/clients/client-workspaces-web/src/commands/AssociateDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/AssociateDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..5cb89effab30 --- /dev/null +++ b/clients/client-workspaces-web/src/commands/AssociateDataProtectionSettingsCommand.ts @@ -0,0 +1,117 @@ +// 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 { AssociateDataProtectionSettingsRequest, AssociateDataProtectionSettingsResponse } from "../models/models_0"; +import { + de_AssociateDataProtectionSettingsCommand, + se_AssociateDataProtectionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link AssociateDataProtectionSettingsCommand}. + */ +export interface AssociateDataProtectionSettingsCommandInput extends AssociateDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link AssociateDataProtectionSettingsCommand}. + */ +export interface AssociateDataProtectionSettingsCommandOutput + extends AssociateDataProtectionSettingsResponse, + __MetadataBearer {} + +/** + *

Associates a data protection settings resource with a web portal.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesWebClient, AssociateDataProtectionSettingsCommand } from "@aws-sdk/client-workspaces-web"; // ES Modules import + * // const { WorkSpacesWebClient, AssociateDataProtectionSettingsCommand } = require("@aws-sdk/client-workspaces-web"); // CommonJS import + * const client = new WorkSpacesWebClient(config); + * const input = { // AssociateDataProtectionSettingsRequest + * portalArn: "STRING_VALUE", // required + * dataProtectionSettingsArn: "STRING_VALUE", // required + * }; + * const command = new AssociateDataProtectionSettingsCommand(input); + * const response = await client.send(command); + * // { // AssociateDataProtectionSettingsResponse + * // portalArn: "STRING_VALUE", // required + * // dataProtectionSettingsArn: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param AssociateDataProtectionSettingsCommandInput - {@link AssociateDataProtectionSettingsCommandInput} + * @returns {@link AssociateDataProtectionSettingsCommandOutput} + * @see {@link AssociateDataProtectionSettingsCommandInput} for command's `input` shape. + * @see {@link AssociateDataProtectionSettingsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesWebClientResolvedConfig | config} for WorkSpacesWebClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access is denied.

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

There is a conflict.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

The resource cannot be found.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class AssociateDataProtectionSettingsCommand extends $Command + .classBuilder< + AssociateDataProtectionSettingsCommandInput, + AssociateDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "AssociateDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "AssociateDataProtectionSettingsCommand") + .f(void 0, void 0) + .ser(se_AssociateDataProtectionSettingsCommand) + .de(de_AssociateDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: AssociateDataProtectionSettingsRequest; + output: AssociateDataProtectionSettingsResponse; + }; + sdk: { + input: AssociateDataProtectionSettingsCommandInput; + output: AssociateDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/CreateDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/CreateDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..3144ba09f08f --- /dev/null +++ b/clients/client-workspaces-web/src/commands/CreateDataProtectionSettingsCommand.ts @@ -0,0 +1,165 @@ +// 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 { + CreateDataProtectionSettingsRequest, + CreateDataProtectionSettingsRequestFilterSensitiveLog, + CreateDataProtectionSettingsResponse, +} from "../models/models_0"; +import { + de_CreateDataProtectionSettingsCommand, + se_CreateDataProtectionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateDataProtectionSettingsCommand}. + */ +export interface CreateDataProtectionSettingsCommandInput extends CreateDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link CreateDataProtectionSettingsCommand}. + */ +export interface CreateDataProtectionSettingsCommandOutput + extends CreateDataProtectionSettingsResponse, + __MetadataBearer {} + +/** + *

Creates a data protection settings resource that can be associated with a web portal.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesWebClient, CreateDataProtectionSettingsCommand } from "@aws-sdk/client-workspaces-web"; // ES Modules import + * // const { WorkSpacesWebClient, CreateDataProtectionSettingsCommand } = require("@aws-sdk/client-workspaces-web"); // CommonJS import + * const client = new WorkSpacesWebClient(config); + * const input = { // CreateDataProtectionSettingsRequest + * displayName: "STRING_VALUE", + * description: "STRING_VALUE", + * tags: [ // TagList + * { // Tag + * Key: "STRING_VALUE", // required + * Value: "STRING_VALUE", // required + * }, + * ], + * customerManagedKey: "STRING_VALUE", + * additionalEncryptionContext: { // EncryptionContextMap + * "": "STRING_VALUE", + * }, + * inlineRedactionConfiguration: { // InlineRedactionConfiguration + * inlineRedactionPatterns: [ // InlineRedactionPatterns // required + * { // InlineRedactionPattern + * builtInPatternId: "STRING_VALUE", + * customPattern: { // CustomPattern + * patternName: "STRING_VALUE", // required + * patternRegex: "STRING_VALUE", // required + * patternDescription: "STRING_VALUE", + * keywordRegex: "STRING_VALUE", + * }, + * redactionPlaceHolder: { // RedactionPlaceHolder + * redactionPlaceHolderType: "STRING_VALUE", // required + * redactionPlaceHolderText: "STRING_VALUE", + * }, + * enforcedUrls: [ // InlineRedactionUrls + * "STRING_VALUE", + * ], + * exemptUrls: [ + * "STRING_VALUE", + * ], + * confidenceLevel: Number("int"), + * }, + * ], + * globalEnforcedUrls: [ // GlobalInlineRedactionUrls + * "STRING_VALUE", + * ], + * globalExemptUrls: [ + * "STRING_VALUE", + * ], + * globalConfidenceLevel: Number("int"), + * }, + * clientToken: "STRING_VALUE", + * }; + * const command = new CreateDataProtectionSettingsCommand(input); + * const response = await client.send(command); + * // { // CreateDataProtectionSettingsResponse + * // dataProtectionSettingsArn: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param CreateDataProtectionSettingsCommandInput - {@link CreateDataProtectionSettingsCommandInput} + * @returns {@link CreateDataProtectionSettingsCommandOutput} + * @see {@link CreateDataProtectionSettingsCommandInput} for command's `input` shape. + * @see {@link CreateDataProtectionSettingsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesWebClientResolvedConfig | config} for WorkSpacesWebClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access is denied.

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

There is a conflict.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

The resource cannot be found.

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

The service quota has been exceeded.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class CreateDataProtectionSettingsCommand extends $Command + .classBuilder< + CreateDataProtectionSettingsCommandInput, + CreateDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "CreateDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "CreateDataProtectionSettingsCommand") + .f(CreateDataProtectionSettingsRequestFilterSensitiveLog, void 0) + .ser(se_CreateDataProtectionSettingsCommand) + .de(de_CreateDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateDataProtectionSettingsRequest; + output: CreateDataProtectionSettingsResponse; + }; + sdk: { + input: CreateDataProtectionSettingsCommandInput; + output: CreateDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/DeleteDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/DeleteDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..7304bd8a8fc8 --- /dev/null +++ b/clients/client-workspaces-web/src/commands/DeleteDataProtectionSettingsCommand.ts @@ -0,0 +1,110 @@ +// 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 { DeleteDataProtectionSettingsRequest, DeleteDataProtectionSettingsResponse } from "../models/models_0"; +import { + de_DeleteDataProtectionSettingsCommand, + se_DeleteDataProtectionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteDataProtectionSettingsCommand}. + */ +export interface DeleteDataProtectionSettingsCommandInput extends DeleteDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link DeleteDataProtectionSettingsCommand}. + */ +export interface DeleteDataProtectionSettingsCommandOutput + extends DeleteDataProtectionSettingsResponse, + __MetadataBearer {} + +/** + *

Deletes data protection settings.

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

Access is denied.

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

There is a conflict.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class DeleteDataProtectionSettingsCommand extends $Command + .classBuilder< + DeleteDataProtectionSettingsCommandInput, + DeleteDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "DeleteDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "DeleteDataProtectionSettingsCommand") + .f(void 0, void 0) + .ser(se_DeleteDataProtectionSettingsCommand) + .de(de_DeleteDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteDataProtectionSettingsRequest; + output: {}; + }; + sdk: { + input: DeleteDataProtectionSettingsCommandInput; + output: DeleteDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/DisassociateDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/DisassociateDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..fc29cbb3eed3 --- /dev/null +++ b/clients/client-workspaces-web/src/commands/DisassociateDataProtectionSettingsCommand.ts @@ -0,0 +1,116 @@ +// 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 { + DisassociateDataProtectionSettingsRequest, + DisassociateDataProtectionSettingsResponse, +} from "../models/models_0"; +import { + de_DisassociateDataProtectionSettingsCommand, + se_DisassociateDataProtectionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DisassociateDataProtectionSettingsCommand}. + */ +export interface DisassociateDataProtectionSettingsCommandInput extends DisassociateDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link DisassociateDataProtectionSettingsCommand}. + */ +export interface DisassociateDataProtectionSettingsCommandOutput + extends DisassociateDataProtectionSettingsResponse, + __MetadataBearer {} + +/** + *

Disassociates data protection settings from a web portal.

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

Access is denied.

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

There is a conflict.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

The resource cannot be found.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class DisassociateDataProtectionSettingsCommand extends $Command + .classBuilder< + DisassociateDataProtectionSettingsCommandInput, + DisassociateDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "DisassociateDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "DisassociateDataProtectionSettingsCommand") + .f(void 0, void 0) + .ser(se_DisassociateDataProtectionSettingsCommand) + .de(de_DisassociateDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DisassociateDataProtectionSettingsRequest; + output: {}; + }; + sdk: { + input: DisassociateDataProtectionSettingsCommandInput; + output: DisassociateDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/GetDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/GetDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..8d78879e714f --- /dev/null +++ b/clients/client-workspaces-web/src/commands/GetDataProtectionSettingsCommand.ts @@ -0,0 +1,154 @@ +// 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 { + GetDataProtectionSettingsRequest, + GetDataProtectionSettingsResponse, + GetDataProtectionSettingsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_GetDataProtectionSettingsCommand, se_GetDataProtectionSettingsCommand } from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetDataProtectionSettingsCommand}. + */ +export interface GetDataProtectionSettingsCommandInput extends GetDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link GetDataProtectionSettingsCommand}. + */ +export interface GetDataProtectionSettingsCommandOutput extends GetDataProtectionSettingsResponse, __MetadataBearer {} + +/** + *

Gets the data protection settings.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesWebClient, GetDataProtectionSettingsCommand } from "@aws-sdk/client-workspaces-web"; // ES Modules import + * // const { WorkSpacesWebClient, GetDataProtectionSettingsCommand } = require("@aws-sdk/client-workspaces-web"); // CommonJS import + * const client = new WorkSpacesWebClient(config); + * const input = { // GetDataProtectionSettingsRequest + * dataProtectionSettingsArn: "STRING_VALUE", // required + * }; + * const command = new GetDataProtectionSettingsCommand(input); + * const response = await client.send(command); + * // { // GetDataProtectionSettingsResponse + * // dataProtectionSettings: { // DataProtectionSettings + * // dataProtectionSettingsArn: "STRING_VALUE", // required + * // inlineRedactionConfiguration: { // InlineRedactionConfiguration + * // inlineRedactionPatterns: [ // InlineRedactionPatterns // required + * // { // InlineRedactionPattern + * // builtInPatternId: "STRING_VALUE", + * // customPattern: { // CustomPattern + * // patternName: "STRING_VALUE", // required + * // patternRegex: "STRING_VALUE", // required + * // patternDescription: "STRING_VALUE", + * // keywordRegex: "STRING_VALUE", + * // }, + * // redactionPlaceHolder: { // RedactionPlaceHolder + * // redactionPlaceHolderType: "STRING_VALUE", // required + * // redactionPlaceHolderText: "STRING_VALUE", + * // }, + * // enforcedUrls: [ // InlineRedactionUrls + * // "STRING_VALUE", + * // ], + * // exemptUrls: [ + * // "STRING_VALUE", + * // ], + * // confidenceLevel: Number("int"), + * // }, + * // ], + * // globalEnforcedUrls: [ // GlobalInlineRedactionUrls + * // "STRING_VALUE", + * // ], + * // globalExemptUrls: [ + * // "STRING_VALUE", + * // ], + * // globalConfidenceLevel: Number("int"), + * // }, + * // associatedPortalArns: [ // ArnList + * // "STRING_VALUE", + * // ], + * // displayName: "STRING_VALUE", + * // description: "STRING_VALUE", + * // creationDate: new Date("TIMESTAMP"), + * // customerManagedKey: "STRING_VALUE", + * // additionalEncryptionContext: { // EncryptionContextMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param GetDataProtectionSettingsCommandInput - {@link GetDataProtectionSettingsCommandInput} + * @returns {@link GetDataProtectionSettingsCommandOutput} + * @see {@link GetDataProtectionSettingsCommandInput} for command's `input` shape. + * @see {@link GetDataProtectionSettingsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesWebClientResolvedConfig | config} for WorkSpacesWebClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

The resource cannot be found.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class GetDataProtectionSettingsCommand extends $Command + .classBuilder< + GetDataProtectionSettingsCommandInput, + GetDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "GetDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "GetDataProtectionSettingsCommand") + .f(void 0, GetDataProtectionSettingsResponseFilterSensitiveLog) + .ser(se_GetDataProtectionSettingsCommand) + .de(de_GetDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetDataProtectionSettingsRequest; + output: GetDataProtectionSettingsResponse; + }; + sdk: { + input: GetDataProtectionSettingsCommandInput; + output: GetDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/GetPortalCommand.ts b/clients/client-workspaces-web/src/commands/GetPortalCommand.ts index 4e70f9abc7a0..a14a976fae43 100644 --- a/clients/client-workspaces-web/src/commands/GetPortalCommand.ts +++ b/clients/client-workspaces-web/src/commands/GetPortalCommand.ts @@ -50,6 +50,7 @@ export interface GetPortalCommandOutput extends GetPortalResponse, __MetadataBea * // displayName: "STRING_VALUE", * // creationDate: new Date("TIMESTAMP"), * // browserSettingsArn: "STRING_VALUE", + * // dataProtectionSettingsArn: "STRING_VALUE", * // userSettingsArn: "STRING_VALUE", * // networkSettingsArn: "STRING_VALUE", * // trustStoreArn: "STRING_VALUE", diff --git a/clients/client-workspaces-web/src/commands/ListDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/ListDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..4ed042d046ee --- /dev/null +++ b/clients/client-workspaces-web/src/commands/ListDataProtectionSettingsCommand.ts @@ -0,0 +1,117 @@ +// 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 { + ListDataProtectionSettingsRequest, + ListDataProtectionSettingsResponse, + ListDataProtectionSettingsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_ListDataProtectionSettingsCommand, se_ListDataProtectionSettingsCommand } from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListDataProtectionSettingsCommand}. + */ +export interface ListDataProtectionSettingsCommandInput extends ListDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link ListDataProtectionSettingsCommand}. + */ +export interface ListDataProtectionSettingsCommandOutput extends ListDataProtectionSettingsResponse, __MetadataBearer {} + +/** + *

Retrieves a list of data protection settings.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesWebClient, ListDataProtectionSettingsCommand } from "@aws-sdk/client-workspaces-web"; // ES Modules import + * // const { WorkSpacesWebClient, ListDataProtectionSettingsCommand } = require("@aws-sdk/client-workspaces-web"); // CommonJS import + * const client = new WorkSpacesWebClient(config); + * const input = { // ListDataProtectionSettingsRequest + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListDataProtectionSettingsCommand(input); + * const response = await client.send(command); + * // { // ListDataProtectionSettingsResponse + * // dataProtectionSettings: [ // DataProtectionSettingsList + * // { // DataProtectionSettingsSummary + * // dataProtectionSettingsArn: "STRING_VALUE", // required + * // displayName: "STRING_VALUE", + * // description: "STRING_VALUE", + * // creationDate: new Date("TIMESTAMP"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListDataProtectionSettingsCommandInput - {@link ListDataProtectionSettingsCommandInput} + * @returns {@link ListDataProtectionSettingsCommandOutput} + * @see {@link ListDataProtectionSettingsCommandInput} for command's `input` shape. + * @see {@link ListDataProtectionSettingsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesWebClientResolvedConfig | config} for WorkSpacesWebClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class ListDataProtectionSettingsCommand extends $Command + .classBuilder< + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "ListDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "ListDataProtectionSettingsCommand") + .f(void 0, ListDataProtectionSettingsResponseFilterSensitiveLog) + .ser(se_ListDataProtectionSettingsCommand) + .de(de_ListDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListDataProtectionSettingsRequest; + output: ListDataProtectionSettingsResponse; + }; + sdk: { + input: ListDataProtectionSettingsCommandInput; + output: ListDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/ListPortalsCommand.ts b/clients/client-workspaces-web/src/commands/ListPortalsCommand.ts index 497d8c3d107f..15b78d298cc6 100644 --- a/clients/client-workspaces-web/src/commands/ListPortalsCommand.ts +++ b/clients/client-workspaces-web/src/commands/ListPortalsCommand.ts @@ -52,6 +52,7 @@ export interface ListPortalsCommandOutput extends ListPortalsResponse, __Metadat * // displayName: "STRING_VALUE", * // creationDate: new Date("TIMESTAMP"), * // browserSettingsArn: "STRING_VALUE", + * // dataProtectionSettingsArn: "STRING_VALUE", * // userSettingsArn: "STRING_VALUE", * // networkSettingsArn: "STRING_VALUE", * // trustStoreArn: "STRING_VALUE", diff --git a/clients/client-workspaces-web/src/commands/UpdateDataProtectionSettingsCommand.ts b/clients/client-workspaces-web/src/commands/UpdateDataProtectionSettingsCommand.ts new file mode 100644 index 000000000000..3e9683393df1 --- /dev/null +++ b/clients/client-workspaces-web/src/commands/UpdateDataProtectionSettingsCommand.ts @@ -0,0 +1,194 @@ +// 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 { + UpdateDataProtectionSettingsRequest, + UpdateDataProtectionSettingsRequestFilterSensitiveLog, + UpdateDataProtectionSettingsResponse, + UpdateDataProtectionSettingsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + de_UpdateDataProtectionSettingsCommand, + se_UpdateDataProtectionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesWebClientResolvedConfig } from "../WorkSpacesWebClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateDataProtectionSettingsCommand}. + */ +export interface UpdateDataProtectionSettingsCommandInput extends UpdateDataProtectionSettingsRequest {} +/** + * @public + * + * The output of {@link UpdateDataProtectionSettingsCommand}. + */ +export interface UpdateDataProtectionSettingsCommandOutput + extends UpdateDataProtectionSettingsResponse, + __MetadataBearer {} + +/** + *

Updates data protection settings.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkSpacesWebClient, UpdateDataProtectionSettingsCommand } from "@aws-sdk/client-workspaces-web"; // ES Modules import + * // const { WorkSpacesWebClient, UpdateDataProtectionSettingsCommand } = require("@aws-sdk/client-workspaces-web"); // CommonJS import + * const client = new WorkSpacesWebClient(config); + * const input = { // UpdateDataProtectionSettingsRequest + * dataProtectionSettingsArn: "STRING_VALUE", // required + * inlineRedactionConfiguration: { // InlineRedactionConfiguration + * inlineRedactionPatterns: [ // InlineRedactionPatterns // required + * { // InlineRedactionPattern + * builtInPatternId: "STRING_VALUE", + * customPattern: { // CustomPattern + * patternName: "STRING_VALUE", // required + * patternRegex: "STRING_VALUE", // required + * patternDescription: "STRING_VALUE", + * keywordRegex: "STRING_VALUE", + * }, + * redactionPlaceHolder: { // RedactionPlaceHolder + * redactionPlaceHolderType: "STRING_VALUE", // required + * redactionPlaceHolderText: "STRING_VALUE", + * }, + * enforcedUrls: [ // InlineRedactionUrls + * "STRING_VALUE", + * ], + * exemptUrls: [ + * "STRING_VALUE", + * ], + * confidenceLevel: Number("int"), + * }, + * ], + * globalEnforcedUrls: [ // GlobalInlineRedactionUrls + * "STRING_VALUE", + * ], + * globalExemptUrls: [ + * "STRING_VALUE", + * ], + * globalConfidenceLevel: Number("int"), + * }, + * displayName: "STRING_VALUE", + * description: "STRING_VALUE", + * clientToken: "STRING_VALUE", + * }; + * const command = new UpdateDataProtectionSettingsCommand(input); + * const response = await client.send(command); + * // { // UpdateDataProtectionSettingsResponse + * // dataProtectionSettings: { // DataProtectionSettings + * // dataProtectionSettingsArn: "STRING_VALUE", // required + * // inlineRedactionConfiguration: { // InlineRedactionConfiguration + * // inlineRedactionPatterns: [ // InlineRedactionPatterns // required + * // { // InlineRedactionPattern + * // builtInPatternId: "STRING_VALUE", + * // customPattern: { // CustomPattern + * // patternName: "STRING_VALUE", // required + * // patternRegex: "STRING_VALUE", // required + * // patternDescription: "STRING_VALUE", + * // keywordRegex: "STRING_VALUE", + * // }, + * // redactionPlaceHolder: { // RedactionPlaceHolder + * // redactionPlaceHolderType: "STRING_VALUE", // required + * // redactionPlaceHolderText: "STRING_VALUE", + * // }, + * // enforcedUrls: [ // InlineRedactionUrls + * // "STRING_VALUE", + * // ], + * // exemptUrls: [ + * // "STRING_VALUE", + * // ], + * // confidenceLevel: Number("int"), + * // }, + * // ], + * // globalEnforcedUrls: [ // GlobalInlineRedactionUrls + * // "STRING_VALUE", + * // ], + * // globalExemptUrls: [ + * // "STRING_VALUE", + * // ], + * // globalConfidenceLevel: Number("int"), + * // }, + * // associatedPortalArns: [ // ArnList + * // "STRING_VALUE", + * // ], + * // displayName: "STRING_VALUE", + * // description: "STRING_VALUE", + * // creationDate: new Date("TIMESTAMP"), + * // customerManagedKey: "STRING_VALUE", + * // additionalEncryptionContext: { // EncryptionContextMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param UpdateDataProtectionSettingsCommandInput - {@link UpdateDataProtectionSettingsCommandInput} + * @returns {@link UpdateDataProtectionSettingsCommandOutput} + * @see {@link UpdateDataProtectionSettingsCommandInput} for command's `input` shape. + * @see {@link UpdateDataProtectionSettingsCommandOutput} for command's `response` shape. + * @see {@link WorkSpacesWebClientResolvedConfig | config} for WorkSpacesWebClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

There is an internal server error.

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

The resource cannot be found.

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

There is a throttling error.

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

There is a validation error.

+ * + * @throws {@link WorkSpacesWebServiceException} + *

Base exception class for all service exceptions from WorkSpacesWeb service.

+ * + * @public + */ +export class UpdateDataProtectionSettingsCommand extends $Command + .classBuilder< + UpdateDataProtectionSettingsCommandInput, + UpdateDataProtectionSettingsCommandOutput, + WorkSpacesWebClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkSpacesWebClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSErmineControlPlaneService", "UpdateDataProtectionSettings", {}) + .n("WorkSpacesWebClient", "UpdateDataProtectionSettingsCommand") + .f(UpdateDataProtectionSettingsRequestFilterSensitiveLog, UpdateDataProtectionSettingsResponseFilterSensitiveLog) + .ser(se_UpdateDataProtectionSettingsCommand) + .de(de_UpdateDataProtectionSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateDataProtectionSettingsRequest; + output: UpdateDataProtectionSettingsResponse; + }; + sdk: { + input: UpdateDataProtectionSettingsCommandInput; + output: UpdateDataProtectionSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-workspaces-web/src/commands/UpdatePortalCommand.ts b/clients/client-workspaces-web/src/commands/UpdatePortalCommand.ts index 869f90a8b6c7..13395f8b8052 100644 --- a/clients/client-workspaces-web/src/commands/UpdatePortalCommand.ts +++ b/clients/client-workspaces-web/src/commands/UpdatePortalCommand.ts @@ -59,6 +59,7 @@ export interface UpdatePortalCommandOutput extends UpdatePortalResponse, __Metad * // displayName: "STRING_VALUE", * // creationDate: new Date("TIMESTAMP"), * // browserSettingsArn: "STRING_VALUE", + * // dataProtectionSettingsArn: "STRING_VALUE", * // userSettingsArn: "STRING_VALUE", * // networkSettingsArn: "STRING_VALUE", * // trustStoreArn: "STRING_VALUE", diff --git a/clients/client-workspaces-web/src/commands/index.ts b/clients/client-workspaces-web/src/commands/index.ts index 5e9ad2589a52..72f133902650 100644 --- a/clients/client-workspaces-web/src/commands/index.ts +++ b/clients/client-workspaces-web/src/commands/index.ts @@ -1,11 +1,13 @@ // smithy-typescript generated code export * from "./AssociateBrowserSettingsCommand"; +export * from "./AssociateDataProtectionSettingsCommand"; export * from "./AssociateIpAccessSettingsCommand"; export * from "./AssociateNetworkSettingsCommand"; export * from "./AssociateTrustStoreCommand"; export * from "./AssociateUserAccessLoggingSettingsCommand"; export * from "./AssociateUserSettingsCommand"; export * from "./CreateBrowserSettingsCommand"; +export * from "./CreateDataProtectionSettingsCommand"; export * from "./CreateIdentityProviderCommand"; export * from "./CreateIpAccessSettingsCommand"; export * from "./CreateNetworkSettingsCommand"; @@ -14,6 +16,7 @@ export * from "./CreateTrustStoreCommand"; export * from "./CreateUserAccessLoggingSettingsCommand"; export * from "./CreateUserSettingsCommand"; export * from "./DeleteBrowserSettingsCommand"; +export * from "./DeleteDataProtectionSettingsCommand"; export * from "./DeleteIdentityProviderCommand"; export * from "./DeleteIpAccessSettingsCommand"; export * from "./DeleteNetworkSettingsCommand"; @@ -22,6 +25,7 @@ export * from "./DeleteTrustStoreCommand"; export * from "./DeleteUserAccessLoggingSettingsCommand"; export * from "./DeleteUserSettingsCommand"; export * from "./DisassociateBrowserSettingsCommand"; +export * from "./DisassociateDataProtectionSettingsCommand"; export * from "./DisassociateIpAccessSettingsCommand"; export * from "./DisassociateNetworkSettingsCommand"; export * from "./DisassociateTrustStoreCommand"; @@ -29,6 +33,7 @@ export * from "./DisassociateUserAccessLoggingSettingsCommand"; export * from "./DisassociateUserSettingsCommand"; export * from "./ExpireSessionCommand"; export * from "./GetBrowserSettingsCommand"; +export * from "./GetDataProtectionSettingsCommand"; export * from "./GetIdentityProviderCommand"; export * from "./GetIpAccessSettingsCommand"; export * from "./GetNetworkSettingsCommand"; @@ -40,6 +45,7 @@ export * from "./GetTrustStoreCommand"; export * from "./GetUserAccessLoggingSettingsCommand"; export * from "./GetUserSettingsCommand"; export * from "./ListBrowserSettingsCommand"; +export * from "./ListDataProtectionSettingsCommand"; export * from "./ListIdentityProvidersCommand"; export * from "./ListIpAccessSettingsCommand"; export * from "./ListNetworkSettingsCommand"; @@ -53,6 +59,7 @@ export * from "./ListUserSettingsCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateBrowserSettingsCommand"; +export * from "./UpdateDataProtectionSettingsCommand"; export * from "./UpdateIdentityProviderCommand"; export * from "./UpdateIpAccessSettingsCommand"; export * from "./UpdateNetworkSettingsCommand"; diff --git a/clients/client-workspaces-web/src/models/models_0.ts b/clients/client-workspaces-web/src/models/models_0.ts index 160338582ded..de70c5765933 100644 --- a/clients/client-workspaces-web/src/models/models_0.ts +++ b/clients/client-workspaces-web/src/models/models_0.ts @@ -261,6 +261,40 @@ export class ValidationException extends __BaseException { } } +/** + * @public + */ +export interface AssociateDataProtectionSettingsRequest { + /** + *

The ARN of the web portal.

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

The ARN of the data protection settings.

+ * @public + */ + dataProtectionSettingsArn: string | undefined; +} + +/** + * @public + */ +export interface AssociateDataProtectionSettingsResponse { + /** + *

The ARN of the web portal.

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

The ARN of the data protection settings resource.

+ * @public + */ + dataProtectionSettingsArn: string | undefined; +} + /** * @public */ @@ -729,6 +763,426 @@ export interface UpdateBrowserSettingsResponse { browserSettings: BrowserSettings | undefined; } +/** + *

The pattern configuration for redacting custom data types in session.

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

The pattern name for the custom pattern.

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

The pattern regex for the customer pattern. The format must follow JavaScript regex format. The pattern must be enclosed between slashes, and can have flags behind the second slash. For example: “/ab+c/gi”.

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

The pattern description for the customer pattern.

+ * @public + */ + patternDescription?: string | undefined; + + /** + *

The keyword regex for the customer pattern. After there is a match to the pattern regex, the keyword regex is used to search within the proximity of the match. If there is a keyword match, then the match is confirmed. If no keyword regex is provided, the pattern regex match will automatically be confirmed. The format must follow JavaScript regex format. The pattern must be enclosed between slashes, and can have flags behind the second slash. For example, “/ab+c/gi”

+ * @public + */ + keywordRegex?: string | undefined; +} + +/** + * @public + * @enum + */ +export const RedactionPlaceHolderType = { + CUSTOM_TEXT: "CustomText", +} as const; + +/** + * @public + */ +export type RedactionPlaceHolderType = (typeof RedactionPlaceHolderType)[keyof typeof RedactionPlaceHolderType]; + +/** + *

The redaction placeholder that will replace the redacted text in session.

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

The redaction placeholder type that will replace the redacted text in session.

+ * @public + */ + redactionPlaceHolderType: RedactionPlaceHolderType | undefined; + + /** + *

The redaction placeholder text that will replace the redacted text in session for the custom text redaction placeholder type.

+ * @public + */ + redactionPlaceHolderText?: string | undefined; +} + +/** + *

The set of patterns that determine the data types redacted in session.

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

The built-in pattern from the list of preconfigured patterns. Either a customPattern or builtInPatternId is required.

+ * @public + */ + builtInPatternId?: string | undefined; + + /** + *

>The configuration for a custom pattern. Either a customPattern or builtInPatternId is required.

+ * @public + */ + customPattern?: CustomPattern | undefined; + + /** + *

The redaction placeholder that will replace the redacted text in session for the inline redaction pattern.

+ * @public + */ + redactionPlaceHolder: RedactionPlaceHolder | undefined; + + /** + *

The enforced URL configuration for the inline redaction pattern. This will override the global enforced URL configuration.

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

The exempt URL configuration for the inline redaction pattern. This will override the global exempt URL configuration for the inline redaction pattern.

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

The confidence level for inline redaction pattern. This indicates the certainty of data + * type matches in the redaction process. Confidence level 3 means high confidence, and + * requires a formatted text pattern match in order for content to be redacted. Confidence + * level 2 means medium confidence, and redaction considers both formatted and unformatted + * text, and adds keyword associate to the logic. Confidence level 1 means low confidence, and + * redaction is enforced for both formatted pattern + unformatted pattern without keyword. + * This overrides the global confidence level.

+ * @public + */ + confidenceLevel?: number | undefined; +} + +/** + *

The configuration for in-session inline redaction.

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

The inline redaction patterns to be enabled for the inline redaction configuration.

+ * @public + */ + inlineRedactionPatterns: InlineRedactionPattern[] | undefined; + + /** + *

The global enforced URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level enforced URL list.

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

The global exempt URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level exempt URL list.

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

The global confidence level for the inline redaction configuration. This indicates the + * certainty of data type matches in the redaction process. Confidence level 3 means high + * confidence, and requires a formatted text pattern match in order for content to be + * redacted. Confidence level 2 means medium confidence, and redaction considers both + * formatted and unformatted text, and adds keyword associate to the logic. Confidence level 1 + * means low confidence, and redaction is enforced for both formatted pattern + unformatted + * pattern without keyword. This is applied to patterns that do not have a pattern-level + * confidence level. Defaults to confidence level 2.

+ * @public + */ + globalConfidenceLevel?: number | undefined; +} + +/** + * @public + */ +export interface CreateDataProtectionSettingsRequest { + /** + *

The display name of the data protection settings.

+ * @public + */ + displayName?: string | undefined; + + /** + *

The description of the data protection settings.

+ * @public + */ + description?: string | undefined; + + /** + *

The tags to add to the data protection settings resource. A tag is a key-value pair.

+ * @public + */ + tags?: Tag[] | undefined; + + /** + *

The custom managed key of the data protection settings.

+ * @public + */ + customerManagedKey?: string | undefined; + + /** + *

Additional encryption context of the data protection settings.

+ * @public + */ + additionalEncryptionContext?: Record | undefined; + + /** + *

The inline redaction configuration of the data protection settings that will be applied to all sessions.

+ * @public + */ + inlineRedactionConfiguration?: InlineRedactionConfiguration | undefined; + + /** + *

A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Idempotency ensures that an API request completes only once. With an idempotent + * request, if the original request completes successfully, subsequent retries with the same + * client token returns the result from the original successful request.

+ *

If you do not specify a client token, one is automatically generated by the Amazon Web Services + * SDK.

+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + */ +export interface CreateDataProtectionSettingsResponse { + /** + *

The ARN of the data protection settings resource.

+ * @public + */ + dataProtectionSettingsArn: string | undefined; +} + +/** + * @public + */ +export interface DeleteDataProtectionSettingsRequest { + /** + *

The ARN of the data protection settings.

+ * @public + */ + dataProtectionSettingsArn: string | undefined; +} + +/** + * @public + */ +export interface DeleteDataProtectionSettingsResponse {} + +/** + * @public + */ +export interface GetDataProtectionSettingsRequest { + /** + *

The ARN of the data protection settings.

+ * @public + */ + dataProtectionSettingsArn: string | undefined; +} + +/** + *

The data protection settings resource that can be associated with a web portal.

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

The ARN of the data protection settings resource.

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

The inline redaction configuration for the data protection settings.

+ * @public + */ + inlineRedactionConfiguration?: InlineRedactionConfiguration | undefined; + + /** + *

A list of web portal ARNs that this data protection settings resource is associated + * with.

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

The display name of the data protection settings.

+ * @public + */ + displayName?: string | undefined; + + /** + *

The description of the data protection settings.

+ * @public + */ + description?: string | undefined; + + /** + *

The creation date timestamp of the data protection settings.

+ * @public + */ + creationDate?: Date | undefined; + + /** + *

The customer managed key used to encrypt sensitive information in the data protection + * settings.

+ * @public + */ + customerManagedKey?: string | undefined; + + /** + *

The additional encryption context of the data protection settings.

+ * @public + */ + additionalEncryptionContext?: Record | undefined; +} + +/** + * @public + */ +export interface GetDataProtectionSettingsResponse { + /** + *

The data protection settings.

+ * @public + */ + dataProtectionSettings?: DataProtectionSettings | undefined; +} + +/** + * @public + */ +export interface ListDataProtectionSettingsRequest { + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to be included in the next page.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

The summary of the data protection settings.

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

The ARN of the data protection settings.

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

The display name of the data protection settings.

+ * @public + */ + displayName?: string | undefined; + + /** + *

The description of the data protection settings.

+ * @public + */ + description?: string | undefined; + + /** + *

The creation date timestamp of the data protection settings.

+ * @public + */ + creationDate?: Date | undefined; +} + +/** + * @public + */ +export interface ListDataProtectionSettingsResponse { + /** + *

The data protection settings.

+ * @public + */ + dataProtectionSettings?: DataProtectionSettingsSummary[] | undefined; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface UpdateDataProtectionSettingsRequest { + /** + *

The ARN of the data protection settings.

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

The inline redaction configuration of the data protection settings that will be applied to all sessions.

+ * @public + */ + inlineRedactionConfiguration?: InlineRedactionConfiguration | undefined; + + /** + *

The display name of the data protection settings.

+ * @public + */ + displayName?: string | undefined; + + /** + *

The description of the data protection settings.

+ * @public + */ + description?: string | undefined; + + /** + *

A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Idempotency ensures that an API request completes only once. With an idempotent + * request, if the original request completes successfully, subsequent retries with the same + * client token return the result from the original successful request.

+ *

If you do not specify a client token, one is automatically generated by the Amazon Web Services + * SDK.

+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + */ +export interface UpdateDataProtectionSettingsResponse { + /** + *

The data protection settings.

+ * @public + */ + dataProtectionSettings: DataProtectionSettings | undefined; +} + /** * @public */ @@ -2423,6 +2877,22 @@ export interface DisassociateBrowserSettingsRequest { */ export interface DisassociateBrowserSettingsResponse {} +/** + * @public + */ +export interface DisassociateDataProtectionSettingsRequest { + /** + *

The ARN of the web portal.

+ * @public + */ + portalArn: string | undefined; +} + +/** + * @public + */ +export interface DisassociateDataProtectionSettingsResponse {} + /** * @public */ @@ -2596,6 +3066,12 @@ export interface Portal { */ browserSettingsArn?: string | undefined; + /** + *

The ARN of the data protection settings.

+ * @public + */ + dataProtectionSettingsArn?: string | undefined; + /** *

The ARN of the user settings that is associated with the web portal.

* @public @@ -2785,6 +3261,12 @@ export interface PortalSummary { */ browserSettingsArn?: string | undefined; + /** + *

The ARN of the data protection settings.

+ * @public + */ + dataProtectionSettingsArn?: string | undefined; + /** *

The ARN of the user settings that is associated with the web portal.

* @public @@ -4105,6 +4587,135 @@ export const UpdateBrowserSettingsResponseFilterSensitiveLog = (obj: UpdateBrows ...(obj.browserSettings && { browserSettings: BrowserSettingsFilterSensitiveLog(obj.browserSettings) }), }); +/** + * @internal + */ +export const CustomPatternFilterSensitiveLog = (obj: CustomPattern): any => ({ + ...obj, + ...(obj.patternName && { patternName: SENSITIVE_STRING }), + ...(obj.patternRegex && { patternRegex: SENSITIVE_STRING }), + ...(obj.patternDescription && { patternDescription: SENSITIVE_STRING }), + ...(obj.keywordRegex && { keywordRegex: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RedactionPlaceHolderFilterSensitiveLog = (obj: RedactionPlaceHolder): any => ({ + ...obj, + ...(obj.redactionPlaceHolderText && { redactionPlaceHolderText: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const InlineRedactionPatternFilterSensitiveLog = (obj: InlineRedactionPattern): any => ({ + ...obj, + ...(obj.builtInPatternId && { builtInPatternId: SENSITIVE_STRING }), + ...(obj.customPattern && { customPattern: CustomPatternFilterSensitiveLog(obj.customPattern) }), + ...(obj.redactionPlaceHolder && { + redactionPlaceHolder: RedactionPlaceHolderFilterSensitiveLog(obj.redactionPlaceHolder), + }), + ...(obj.enforcedUrls && { enforcedUrls: SENSITIVE_STRING }), + ...(obj.exemptUrls && { exemptUrls: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const InlineRedactionConfigurationFilterSensitiveLog = (obj: InlineRedactionConfiguration): any => ({ + ...obj, + ...(obj.inlineRedactionPatterns && { + inlineRedactionPatterns: obj.inlineRedactionPatterns.map((item) => InlineRedactionPatternFilterSensitiveLog(item)), + }), + ...(obj.globalEnforcedUrls && { globalEnforcedUrls: SENSITIVE_STRING }), + ...(obj.globalExemptUrls && { globalExemptUrls: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CreateDataProtectionSettingsRequestFilterSensitiveLog = ( + obj: CreateDataProtectionSettingsRequest +): any => ({ + ...obj, + ...(obj.displayName && { displayName: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), + ...(obj.tags && { tags: SENSITIVE_STRING }), + ...(obj.inlineRedactionConfiguration && { + inlineRedactionConfiguration: InlineRedactionConfigurationFilterSensitiveLog(obj.inlineRedactionConfiguration), + }), +}); + +/** + * @internal + */ +export const DataProtectionSettingsFilterSensitiveLog = (obj: DataProtectionSettings): any => ({ + ...obj, + ...(obj.inlineRedactionConfiguration && { + inlineRedactionConfiguration: InlineRedactionConfigurationFilterSensitiveLog(obj.inlineRedactionConfiguration), + }), + ...(obj.displayName && { displayName: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const GetDataProtectionSettingsResponseFilterSensitiveLog = (obj: GetDataProtectionSettingsResponse): any => ({ + ...obj, + ...(obj.dataProtectionSettings && { + dataProtectionSettings: DataProtectionSettingsFilterSensitiveLog(obj.dataProtectionSettings), + }), +}); + +/** + * @internal + */ +export const DataProtectionSettingsSummaryFilterSensitiveLog = (obj: DataProtectionSettingsSummary): any => ({ + ...obj, + ...(obj.displayName && { displayName: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListDataProtectionSettingsResponseFilterSensitiveLog = (obj: ListDataProtectionSettingsResponse): any => ({ + ...obj, + ...(obj.dataProtectionSettings && { + dataProtectionSettings: obj.dataProtectionSettings.map((item) => + DataProtectionSettingsSummaryFilterSensitiveLog(item) + ), + }), +}); + +/** + * @internal + */ +export const UpdateDataProtectionSettingsRequestFilterSensitiveLog = ( + obj: UpdateDataProtectionSettingsRequest +): any => ({ + ...obj, + ...(obj.inlineRedactionConfiguration && { + inlineRedactionConfiguration: InlineRedactionConfigurationFilterSensitiveLog(obj.inlineRedactionConfiguration), + }), + ...(obj.displayName && { displayName: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const UpdateDataProtectionSettingsResponseFilterSensitiveLog = ( + obj: UpdateDataProtectionSettingsResponse +): any => ({ + ...obj, + ...(obj.dataProtectionSettings && { + dataProtectionSettings: DataProtectionSettingsFilterSensitiveLog(obj.dataProtectionSettings), + }), +}); + /** * @internal */ diff --git a/clients/client-workspaces-web/src/pagination/ListDataProtectionSettingsPaginator.ts b/clients/client-workspaces-web/src/pagination/ListDataProtectionSettingsPaginator.ts new file mode 100644 index 000000000000..1e804d4ed680 --- /dev/null +++ b/clients/client-workspaces-web/src/pagination/ListDataProtectionSettingsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListDataProtectionSettingsCommand, + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput, +} from "../commands/ListDataProtectionSettingsCommand"; +import { WorkSpacesWebClient } from "../WorkSpacesWebClient"; +import { WorkSpacesWebPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListDataProtectionSettings: ( + config: WorkSpacesWebPaginationConfiguration, + input: ListDataProtectionSettingsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + WorkSpacesWebPaginationConfiguration, + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput +>(WorkSpacesWebClient, ListDataProtectionSettingsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-workspaces-web/src/pagination/index.ts b/clients/client-workspaces-web/src/pagination/index.ts index b1b9987634c8..67fffbbfb513 100644 --- a/clients/client-workspaces-web/src/pagination/index.ts +++ b/clients/client-workspaces-web/src/pagination/index.ts @@ -1,6 +1,7 @@ // smithy-typescript generated code export * from "./Interfaces"; export * from "./ListBrowserSettingsPaginator"; +export * from "./ListDataProtectionSettingsPaginator"; export * from "./ListIdentityProvidersPaginator"; export * from "./ListIpAccessSettingsPaginator"; export * from "./ListNetworkSettingsPaginator"; diff --git a/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts b/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts index 73a618e88c98..c41d5814a9df 100644 --- a/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts +++ b/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts @@ -30,6 +30,10 @@ import { AssociateBrowserSettingsCommandInput, AssociateBrowserSettingsCommandOutput, } from "../commands/AssociateBrowserSettingsCommand"; +import { + AssociateDataProtectionSettingsCommandInput, + AssociateDataProtectionSettingsCommandOutput, +} from "../commands/AssociateDataProtectionSettingsCommand"; import { AssociateIpAccessSettingsCommandInput, AssociateIpAccessSettingsCommandOutput, @@ -54,6 +58,10 @@ import { CreateBrowserSettingsCommandInput, CreateBrowserSettingsCommandOutput, } from "../commands/CreateBrowserSettingsCommand"; +import { + CreateDataProtectionSettingsCommandInput, + CreateDataProtectionSettingsCommandOutput, +} from "../commands/CreateDataProtectionSettingsCommand"; import { CreateIdentityProviderCommandInput, CreateIdentityProviderCommandOutput, @@ -77,6 +85,10 @@ import { DeleteBrowserSettingsCommandInput, DeleteBrowserSettingsCommandOutput, } from "../commands/DeleteBrowserSettingsCommand"; +import { + DeleteDataProtectionSettingsCommandInput, + DeleteDataProtectionSettingsCommandOutput, +} from "../commands/DeleteDataProtectionSettingsCommand"; import { DeleteIdentityProviderCommandInput, DeleteIdentityProviderCommandOutput, @@ -100,6 +112,10 @@ import { DisassociateBrowserSettingsCommandInput, DisassociateBrowserSettingsCommandOutput, } from "../commands/DisassociateBrowserSettingsCommand"; +import { + DisassociateDataProtectionSettingsCommandInput, + DisassociateDataProtectionSettingsCommandOutput, +} from "../commands/DisassociateDataProtectionSettingsCommand"; import { DisassociateIpAccessSettingsCommandInput, DisassociateIpAccessSettingsCommandOutput, @@ -122,6 +138,10 @@ import { } from "../commands/DisassociateUserSettingsCommand"; import { ExpireSessionCommandInput, ExpireSessionCommandOutput } from "../commands/ExpireSessionCommand"; import { GetBrowserSettingsCommandInput, GetBrowserSettingsCommandOutput } from "../commands/GetBrowserSettingsCommand"; +import { + GetDataProtectionSettingsCommandInput, + GetDataProtectionSettingsCommandOutput, +} from "../commands/GetDataProtectionSettingsCommand"; import { GetIdentityProviderCommandInput, GetIdentityProviderCommandOutput, @@ -151,6 +171,10 @@ import { ListBrowserSettingsCommandInput, ListBrowserSettingsCommandOutput, } from "../commands/ListBrowserSettingsCommand"; +import { + ListDataProtectionSettingsCommandInput, + ListDataProtectionSettingsCommandOutput, +} from "../commands/ListDataProtectionSettingsCommand"; import { ListIdentityProvidersCommandInput, ListIdentityProvidersCommandOutput, @@ -185,6 +209,10 @@ import { UpdateBrowserSettingsCommandInput, UpdateBrowserSettingsCommandOutput, } from "../commands/UpdateBrowserSettingsCommand"; +import { + UpdateDataProtectionSettingsCommandInput, + UpdateDataProtectionSettingsCommandOutput, +} from "../commands/UpdateDataProtectionSettingsCommand"; import { UpdateIdentityProviderCommandInput, UpdateIdentityProviderCommandOutput, @@ -211,12 +239,18 @@ import { ConflictException, CookieSpecification, CookieSynchronizationConfiguration, + CustomPattern, + DataProtectionSettings, + DataProtectionSettingsSummary, + InlineRedactionConfiguration, + InlineRedactionPattern, InternalServerException, IpAccessSettings, IpAccessSettingsSummary, IpRule, Portal, PortalSummary, + RedactionPlaceHolder, ResourceNotFoundException, ServiceQuotaExceededException, Session, @@ -247,6 +281,25 @@ export const se_AssociateBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1AssociateDataProtectionSettingsCommand + */ +export const se_AssociateDataProtectionSettingsCommand = async ( + input: AssociateDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/portals/{portalArn+}/dataProtectionSettings"); + b.p("portalArn", () => input.portalArn!, "{portalArn+}", true); + const query: any = map({ + [_dPSA]: [, __expectNonNull(input[_dPSA]!, `dataProtectionSettingsArn`)], + }); + let body: any; + b.m("PUT").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1AssociateIpAccessSettingsCommand */ @@ -368,6 +421,34 @@ export const se_CreateBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateDataProtectionSettingsCommand + */ +export const se_CreateDataProtectionSettingsCommand = async ( + input: CreateDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/dataProtectionSettings"); + let body: any; + body = JSON.stringify( + take(input, { + additionalEncryptionContext: (_) => _json(_), + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + customerManagedKey: [], + description: [], + displayName: [], + inlineRedactionConfiguration: (_) => _json(_), + tags: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateIdentityProviderCommand */ @@ -576,6 +657,22 @@ export const se_DeleteBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteDataProtectionSettingsCommand + */ +export const se_DeleteDataProtectionSettingsCommand = async ( + input: DeleteDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/dataProtectionSettings/{dataProtectionSettingsArn+}"); + b.p("dataProtectionSettingsArn", () => input.dataProtectionSettingsArn!, "{dataProtectionSettingsArn+}", true); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteIdentityProviderCommand */ @@ -709,6 +806,22 @@ export const se_DisassociateBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DisassociateDataProtectionSettingsCommand + */ +export const se_DisassociateDataProtectionSettingsCommand = async ( + input: DisassociateDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/portals/{portalArn+}/dataProtectionSettings"); + b.p("portalArn", () => input.portalArn!, "{portalArn+}", true); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DisassociateIpAccessSettingsCommand */ @@ -822,6 +935,22 @@ export const se_GetBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetDataProtectionSettingsCommand + */ +export const se_GetDataProtectionSettingsCommand = async ( + input: GetDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/dataProtectionSettings/{dataProtectionSettingsArn+}"); + b.p("dataProtectionSettingsArn", () => input.dataProtectionSettingsArn!, "{dataProtectionSettingsArn+}", true); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetIdentityProviderCommand */ @@ -1010,6 +1139,25 @@ export const se_ListBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListDataProtectionSettingsCommand + */ +export const se_ListDataProtectionSettingsCommand = async ( + input: ListDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/dataProtectionSettings"); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListIdentityProvidersCommand */ @@ -1271,6 +1419,32 @@ export const se_UpdateBrowserSettingsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateDataProtectionSettingsCommand + */ +export const se_UpdateDataProtectionSettingsCommand = async ( + input: UpdateDataProtectionSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/dataProtectionSettings/{dataProtectionSettingsArn+}"); + b.p("dataProtectionSettingsArn", () => input.dataProtectionSettingsArn!, "{dataProtectionSettingsArn+}", true); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + displayName: [], + inlineRedactionConfiguration: (_) => _json(_), + }) + ); + b.m("PATCH").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateIdentityProviderCommand */ @@ -1483,6 +1657,28 @@ export const de_AssociateBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1AssociateDataProtectionSettingsCommand + */ +export const de_AssociateDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + dataProtectionSettingsArn: __expectString, + portalArn: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1AssociateIpAccessSettingsCommand */ @@ -1614,6 +1810,27 @@ export const de_CreateBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateDataProtectionSettingsCommand + */ +export const de_CreateDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + dataProtectionSettingsArn: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateIdentityProviderCommand */ @@ -1779,6 +1996,23 @@ export const de_DeleteBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteDataProtectionSettingsCommand + */ +export const de_DeleteDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteIdentityProviderCommand */ @@ -1915,6 +2149,23 @@ export const de_DisassociateBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DisassociateDataProtectionSettingsCommand + */ +export const de_DisassociateDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DisassociateIpAccessSettingsCommand */ @@ -2038,6 +2289,27 @@ export const de_GetBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetDataProtectionSettingsCommand + */ +export const de_GetDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + dataProtectionSettings: (_) => de_DataProtectionSettings(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetIdentityProviderCommand */ @@ -2272,6 +2544,28 @@ export const de_ListBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListDataProtectionSettingsCommand + */ +export const de_ListDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + dataProtectionSettings: (_) => de_DataProtectionSettingsList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListIdentityProvidersCommand */ @@ -2547,6 +2841,27 @@ export const de_UpdateBrowserSettingsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateDataProtectionSettingsCommand + */ +export const de_UpdateDataProtectionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + dataProtectionSettings: (_) => de_DataProtectionSettings(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateIdentityProviderCommand */ @@ -2926,14 +3241,28 @@ const se_CertificateList = (input: Uint8Array[], context: __SerdeContext): any = // se_CookieSynchronizationConfiguration omitted. +// se_CustomPattern omitted. + // se_EncryptionContextMap omitted. +// se_GlobalInlineRedactionUrls omitted. + // se_IdentityProviderDetails omitted. +// se_InlineRedactionConfiguration omitted. + +// se_InlineRedactionPattern omitted. + +// se_InlineRedactionPatterns omitted. + +// se_InlineRedactionUrls omitted. + // se_IpRule omitted. // se_IpRuleList omitted. +// se_RedactionPlaceHolder omitted. + // se_SecurityGroupIdList omitted. // se_SubnetIdList omitted. @@ -2995,8 +3324,52 @@ const de_CertificateSummaryList = (output: any, context: __SerdeContext): Certif // de_CookieSynchronizationConfiguration omitted. +// de_CustomPattern omitted. + +/** + * deserializeAws_restJson1DataProtectionSettings + */ +const de_DataProtectionSettings = (output: any, context: __SerdeContext): DataProtectionSettings => { + return take(output, { + additionalEncryptionContext: _json, + associatedPortalArns: _json, + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + customerManagedKey: __expectString, + dataProtectionSettingsArn: __expectString, + description: __expectString, + displayName: __expectString, + inlineRedactionConfiguration: _json, + }) as any; +}; + +/** + * deserializeAws_restJson1DataProtectionSettingsList + */ +const de_DataProtectionSettingsList = (output: any, context: __SerdeContext): DataProtectionSettingsSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_DataProtectionSettingsSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1DataProtectionSettingsSummary + */ +const de_DataProtectionSettingsSummary = (output: any, context: __SerdeContext): DataProtectionSettingsSummary => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + dataProtectionSettingsArn: __expectString, + description: __expectString, + displayName: __expectString, + }) as any; +}; + // de_EncryptionContextMap omitted. +// de_GlobalInlineRedactionUrls omitted. + // de_IdentityProvider omitted. // de_IdentityProviderDetails omitted. @@ -3005,6 +3378,14 @@ const de_CertificateSummaryList = (output: any, context: __SerdeContext): Certif // de_IdentityProviderSummary omitted. +// de_InlineRedactionConfiguration omitted. + +// de_InlineRedactionPattern omitted. + +// de_InlineRedactionPatterns omitted. + +// de_InlineRedactionUrls omitted. + /** * deserializeAws_restJson1IpAccessSettings */ @@ -3068,6 +3449,7 @@ const de_Portal = (output: any, context: __SerdeContext): Portal => { browserType: __expectString, creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), customerManagedKey: __expectString, + dataProtectionSettingsArn: __expectString, displayName: __expectString, instanceType: __expectString, ipAccessSettingsArn: __expectString, @@ -3105,6 +3487,7 @@ const de_PortalSummary = (output: any, context: __SerdeContext): PortalSummary = browserSettingsArn: __expectString, browserType: __expectString, creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + dataProtectionSettingsArn: __expectString, displayName: __expectString, instanceType: __expectString, ipAccessSettingsArn: __expectString, @@ -3120,6 +3503,8 @@ const de_PortalSummary = (output: any, context: __SerdeContext): PortalSummary = }) as any; }; +// de_RedactionPlaceHolder omitted. + // de_SecurityGroupIdList omitted. /** @@ -3204,6 +3589,7 @@ const collectBodyString = (streamBody: any, context: __SerdeContext): Promise context.utf8Encoder(body)); const _bSA = "browserSettingsArn"; +const _dPSA = "dataProtectionSettingsArn"; const _iASA = "ipAccessSettingsArn"; const _mR = "maxResults"; const _nSA = "networkSettingsArn"; diff --git a/codegen/sdk-codegen/aws-models/workspaces-web.json b/codegen/sdk-codegen/aws-models/workspaces-web.json index 9aa7eb7de499..9d2b8549b281 100644 --- a/codegen/sdk-codegen/aws-models/workspaces-web.json +++ b/codegen/sdk-codegen/aws-models/workspaces-web.json @@ -38,6 +38,9 @@ { "target": "com.amazonaws.workspacesweb#BrowserSettingsResource" }, + { + "target": "com.amazonaws.workspacesweb#DataProtectionSettingsResource" + }, { "target": "com.amazonaws.workspacesweb#IdentityProviderResource" }, @@ -835,6 +838,91 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#AssociateDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#AssociateDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#AssociateDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#ConflictException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates a data protection settings resource with a web portal.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/portals/{portalArn+}/dataProtectionSettings", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesweb#AssociateDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "portalArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the web portal.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The ARN of the data protection settings.

", + "smithy.api#httpQuery": "dataProtectionSettingsArn", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#AssociateDataProtectionSettingsResponse": { + "type": "structure", + "members": { + "portalArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the web portal.

", + "smithy.api#required": {} + } + }, + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#AssociateIpAccessSettings": { "type": "operation", "input": { @@ -1411,6 +1499,17 @@ ] } }, + "com.amazonaws.workspacesweb#BuiltInPatternId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "^[_\\-\\d\\w]+$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.workspacesweb#Certificate": { "type": "structure", "members": { @@ -1543,6 +1642,15 @@ } } }, + "com.amazonaws.workspacesweb#ConfidenceLevel": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 3 + } + } + }, "com.amazonaws.workspacesweb#ConflictException": { "type": "structure", "members": { @@ -1757,6 +1865,113 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#CreateDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#CreateDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#CreateDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#ConflictException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a data protection settings resource that can be associated with a web portal.

", + "smithy.api#http": { + "method": "POST", + "uri": "/dataProtectionSettings", + "code": 200 + } + } + }, + "com.amazonaws.workspacesweb#CreateDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "displayName": { + "target": "com.amazonaws.workspacesweb#DisplayNameSafe", + "traits": { + "smithy.api#documentation": "

The display name of the data protection settings.

" + } + }, + "description": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe", + "traits": { + "smithy.api#documentation": "

The description of the data protection settings.

" + } + }, + "tags": { + "target": "com.amazonaws.workspacesweb#TagList", + "traits": { + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The tags to add to the data protection settings resource. A tag is a key-value pair.

" + } + }, + "customerManagedKey": { + "target": "com.amazonaws.workspacesweb#keyArn", + "traits": { + "smithy.api#documentation": "

The custom managed key of the data protection settings.

" + } + }, + "additionalEncryptionContext": { + "target": "com.amazonaws.workspacesweb#EncryptionContextMap", + "traits": { + "smithy.api#documentation": "

Additional encryption context of the data protection settings.

" + } + }, + "inlineRedactionConfiguration": { + "target": "com.amazonaws.workspacesweb#InlineRedactionConfiguration", + "traits": { + "smithy.api#documentation": "

The inline redaction configuration of the data protection settings that will be applied to all sessions.

" + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesweb#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. Idempotency ensures that an API request completes only once. With an idempotent\n request, if the original request completes successfully, subsequent retries with the same\n client token returns the result from the original successful request.

\n

If you do not specify a client token, one is automatically generated by the Amazon Web Services\n SDK.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#CreateDataProtectionSettingsResponse": { + "type": "structure", + "members": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#CreateIdentityProvider": { "type": "operation", "input": { @@ -2490,50 +2705,243 @@ "smithy.api#output": {} } }, - "com.amazonaws.workspacesweb#DeleteBrowserSettings": { - "type": "operation", - "input": { - "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest" - }, - "output": { - "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.workspacesweb#AccessDeniedException" - }, - { - "target": "com.amazonaws.workspacesweb#ConflictException" + "com.amazonaws.workspacesweb#CustomPattern": { + "type": "structure", + "members": { + "patternName": { + "target": "com.amazonaws.workspacesweb#PatternName", + "traits": { + "smithy.api#documentation": "

The pattern name for the custom pattern.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspacesweb#InternalServerException" + "patternRegex": { + "target": "com.amazonaws.workspacesweb#Regex", + "traits": { + "smithy.api#documentation": "

The pattern regex for the customer pattern. The format must follow JavaScript regex format. The pattern must be enclosed between slashes, and can have flags behind the second slash. For example: “/ab+c/gi”.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.workspacesweb#ThrottlingException" + "patternDescription": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe", + "traits": { + "smithy.api#documentation": "

The pattern description for the customer pattern.

" + } }, - { - "target": "com.amazonaws.workspacesweb#ValidationException" + "keywordRegex": { + "target": "com.amazonaws.workspacesweb#Regex", + "traits": { + "smithy.api#documentation": "

The keyword regex for the customer pattern. After there is a match to the pattern regex, the keyword regex is used to search within the proximity of the match. If there is a keyword match, then the match is confirmed. If no keyword regex is provided, the pattern regex match will automatically be confirmed. The format must follow JavaScript regex format. The pattern must be enclosed between slashes, and can have flags behind the second slash. For example, “/ab+c/gi”

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

Deletes browser settings.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/browserSettings/{browserSettingsArn+}", - "code": 200 - }, - "smithy.api#idempotent": {} + "smithy.api#documentation": "

The pattern configuration for redacting custom data types in session.

" } }, - "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest": { + "com.amazonaws.workspacesweb#DataProtectionSettings": { "type": "structure", "members": { - "browserSettingsArn": { + "dataProtectionSettingsArn": { "target": "com.amazonaws.workspacesweb#ARN", "traits": { - "smithy.api#documentation": "

The ARN of the browser settings.

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

The ARN of the data protection settings resource.

", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "dataProtectionSettingsArn" + } + }, + "inlineRedactionConfiguration": { + "target": "com.amazonaws.workspacesweb#InlineRedactionConfiguration", + "traits": { + "smithy.api#documentation": "

The inline redaction configuration for the data protection settings.

" + } + }, + "associatedPortalArns": { + "target": "com.amazonaws.workspacesweb#ArnList", + "traits": { + "smithy.api#documentation": "

A list of web portal ARNs that this data protection settings resource is associated\n with.

" + } + }, + "displayName": { + "target": "com.amazonaws.workspacesweb#DisplayNameSafe", + "traits": { + "smithy.api#documentation": "

The display name of the data protection settings.

" + } + }, + "description": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe", + "traits": { + "smithy.api#documentation": "

The description of the data protection settings.

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

The creation date timestamp of the data protection settings.

" + } + }, + "customerManagedKey": { + "target": "com.amazonaws.workspacesweb#keyArn", + "traits": { + "smithy.api#documentation": "

The customer managed key used to encrypt sensitive information in the data protection\n settings.

" + } + }, + "additionalEncryptionContext": { + "target": "com.amazonaws.workspacesweb#EncryptionContextMap", + "traits": { + "smithy.api#documentation": "

The additional encryption context of the data protection settings.

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

The data protection settings resource that can be associated with a web portal.

" + } + }, + "com.amazonaws.workspacesweb#DataProtectionSettingsList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesweb#DataProtectionSettingsSummary" + } + }, + "com.amazonaws.workspacesweb#DataProtectionSettingsResource": { + "type": "resource", + "identifiers": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN" + } + }, + "properties": { + "displayName": { + "target": "com.amazonaws.workspacesweb#DisplayNameSafe" + }, + "description": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe" + }, + "tags": { + "target": "com.amazonaws.workspacesweb#TagList" + }, + "customerManagedKey": { + "target": "com.amazonaws.workspacesweb#keyArn" + }, + "additionalEncryptionContext": { + "target": "com.amazonaws.workspacesweb#EncryptionContextMap" + }, + "inlineRedactionConfiguration": { + "target": "com.amazonaws.workspacesweb#InlineRedactionConfiguration" + }, + "associatedPortalArns": { + "target": "com.amazonaws.workspacesweb#ArnList" + }, + "creationDate": { + "target": "com.amazonaws.workspacesweb#Timestamp" + } + }, + "create": { + "target": "com.amazonaws.workspacesweb#CreateDataProtectionSettings" + }, + "read": { + "target": "com.amazonaws.workspacesweb#GetDataProtectionSettings" + }, + "update": { + "target": "com.amazonaws.workspacesweb#UpdateDataProtectionSettings" + }, + "delete": { + "target": "com.amazonaws.workspacesweb#DeleteDataProtectionSettings" + }, + "list": { + "target": "com.amazonaws.workspacesweb#ListDataProtectionSettings" + }, + "traits": { + "aws.api#arn": { + "template": "{dataProtectionSettingsArn}", + "absolute": true + }, + "aws.api#taggable": { + "property": "tags" + }, + "aws.cloudformation#cfnResource": { + "name": "DataProtectionSettings" + } + } + }, + "com.amazonaws.workspacesweb#DataProtectionSettingsSummary": { + "type": "structure", + "members": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings.

", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "dataProtectionSettingsArn" + } + }, + "displayName": { + "target": "com.amazonaws.workspacesweb#DisplayNameSafe", + "traits": { + "smithy.api#documentation": "

The display name of the data protection settings.

" + } + }, + "description": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe", + "traits": { + "smithy.api#documentation": "

The description of the data protection settings.

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

The creation date timestamp of the data protection settings.

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

The summary of the data protection settings.

" + } + }, + "com.amazonaws.workspacesweb#DeleteBrowserSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#ConflictException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes browser settings.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/browserSettings/{browserSettingsArn+}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest": { + "type": "structure", + "members": { + "browserSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the browser settings.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } }, @@ -2548,6 +2956,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#DeleteDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#DeleteDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#DeleteDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#ConflictException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes data protection settings.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/dataProtectionSettings/{dataProtectionSettingsArn+}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesweb#DeleteDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#DeleteDataProtectionSettingsResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#DeleteIdentityProvider": { "type": "operation", "input": { @@ -2965,6 +3431,17 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.workspacesweb#DescriptionSafe": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[ _\\-\\d\\w]+$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.workspacesweb#DisassociateBrowserSettings": { "type": "operation", "input": { @@ -3026,6 +3503,67 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#DisassociateDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#DisassociateDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#DisassociateDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#ConflictException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Disassociates data protection settings from a web portal.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/portals/{portalArn+}/dataProtectionSettings", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesweb#DisassociateDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "portalArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the web portal.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#DisassociateDataProtectionSettingsResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#DisassociateIpAccessSettings": { "type": "operation", "input": { @@ -3351,6 +3889,17 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.workspacesweb#DisplayNameSafe": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[ _\\-\\d\\w]+$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.workspacesweb#EnabledType": { "type": "string", "traits": { @@ -3513,6 +4062,72 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#GetDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#GetDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#GetDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the data protection settings.

", + "smithy.api#http": { + "method": "GET", + "uri": "/dataProtectionSettings/{dataProtectionSettingsArn+}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesweb#GetDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#GetDataProtectionSettingsResponse": { + "type": "structure", + "members": { + "dataProtectionSettings": { + "target": "com.amazonaws.workspacesweb#DataProtectionSettings", + "traits": { + "smithy.api#documentation": "

The data protection settings.

", + "smithy.api#nestedProperties": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#GetIdentityProvider": { "type": "operation", "input": { @@ -4206,6 +4821,18 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#GlobalInlineRedactionUrls": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesweb#InlineRedactionUrl" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.workspacesweb#IdentityProvider": { "type": "structure", "members": { @@ -4332,60 +4959,169 @@ "smithy.api#resourceIdentifier": "identityProviderArn" } }, - "identityProviderName": { - "target": "com.amazonaws.workspacesweb#IdentityProviderName", + "identityProviderName": { + "target": "com.amazonaws.workspacesweb#IdentityProviderName", + "traits": { + "smithy.api#documentation": "

The identity provider name.

" + } + }, + "identityProviderType": { + "target": "com.amazonaws.workspacesweb#IdentityProviderType", + "traits": { + "smithy.api#documentation": "

The identity provider type.

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

The summary of the identity provider.

" + } + }, + "com.amazonaws.workspacesweb#IdentityProviderType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SAML", + "name": "SAML" + }, + { + "value": "Facebook", + "name": "Facebook" + }, + { + "value": "Google", + "name": "Google" + }, + { + "value": "LoginWithAmazon", + "name": "LoginWithAmazon" + }, + { + "value": "SignInWithApple", + "name": "SignInWithApple" + }, + { + "value": "OIDC", + "name": "OIDC" + } + ] + } + }, + "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 60 + } + } + }, + "com.amazonaws.workspacesweb#InlineRedactionConfiguration": { + "type": "structure", + "members": { + "inlineRedactionPatterns": { + "target": "com.amazonaws.workspacesweb#InlineRedactionPatterns", + "traits": { + "smithy.api#documentation": "

The inline redaction patterns to be enabled for the inline redaction configuration.

", + "smithy.api#required": {} + } + }, + "globalEnforcedUrls": { + "target": "com.amazonaws.workspacesweb#GlobalInlineRedactionUrls", + "traits": { + "smithy.api#documentation": "

The global enforced URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level enforced URL list.

" + } + }, + "globalExemptUrls": { + "target": "com.amazonaws.workspacesweb#GlobalInlineRedactionUrls", + "traits": { + "smithy.api#documentation": "

The global exempt URL configuration for the inline redaction configuration. This is applied to patterns that do not have a pattern-level exempt URL list.

" + } + }, + "globalConfidenceLevel": { + "target": "com.amazonaws.workspacesweb#ConfidenceLevel", + "traits": { + "smithy.api#documentation": "

The global confidence level for the inline redaction configuration. This indicates the\n certainty of data type matches in the redaction process. Confidence level 3 means high\n confidence, and requires a formatted text pattern match in order for content to be\n redacted. Confidence level 2 means medium confidence, and redaction considers both\n formatted and unformatted text, and adds keyword associate to the logic. Confidence level 1\n means low confidence, and redaction is enforced for both formatted pattern + unformatted\n pattern without keyword. This is applied to patterns that do not have a pattern-level\n confidence level. Defaults to confidence level 2.

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

The configuration for in-session inline redaction.

" + } + }, + "com.amazonaws.workspacesweb#InlineRedactionPattern": { + "type": "structure", + "members": { + "builtInPatternId": { + "target": "com.amazonaws.workspacesweb#BuiltInPatternId", + "traits": { + "smithy.api#documentation": "

The built-in pattern from the list of preconfigured patterns. Either a customPattern or builtInPatternId is required.

" + } + }, + "customPattern": { + "target": "com.amazonaws.workspacesweb#CustomPattern", + "traits": { + "smithy.api#documentation": "

>The configuration for a custom pattern. Either a customPattern or builtInPatternId is required.

" + } + }, + "redactionPlaceHolder": { + "target": "com.amazonaws.workspacesweb#RedactionPlaceHolder", + "traits": { + "smithy.api#documentation": "

The redaction placeholder that will replace the redacted text in session for the inline redaction pattern.

", + "smithy.api#required": {} + } + }, + "enforcedUrls": { + "target": "com.amazonaws.workspacesweb#InlineRedactionUrls", + "traits": { + "smithy.api#documentation": "

The enforced URL configuration for the inline redaction pattern. This will override the global enforced URL configuration.

" + } + }, + "exemptUrls": { + "target": "com.amazonaws.workspacesweb#InlineRedactionUrls", "traits": { - "smithy.api#documentation": "

The identity provider name.

" + "smithy.api#documentation": "

The exempt URL configuration for the inline redaction pattern. This will override the global exempt URL configuration for the inline redaction pattern.

" } }, - "identityProviderType": { - "target": "com.amazonaws.workspacesweb#IdentityProviderType", + "confidenceLevel": { + "target": "com.amazonaws.workspacesweb#ConfidenceLevel", "traits": { - "smithy.api#documentation": "

The identity provider type.

" + "smithy.api#documentation": "

The confidence level for inline redaction pattern. This indicates the certainty of data\n type matches in the redaction process. Confidence level 3 means high confidence, and\n requires a formatted text pattern match in order for content to be redacted. Confidence\n level 2 means medium confidence, and redaction considers both formatted and unformatted\n text, and adds keyword associate to the logic. Confidence level 1 means low confidence, and\n redaction is enforced for both formatted pattern + unformatted pattern without keyword.\n This overrides the global confidence level.

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

The summary of the identity provider.

" + "smithy.api#documentation": "

The set of patterns that determine the data types redacted in session.

" } }, - "com.amazonaws.workspacesweb#IdentityProviderType": { + "com.amazonaws.workspacesweb#InlineRedactionPatterns": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesweb#InlineRedactionPattern" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + } + } + }, + "com.amazonaws.workspacesweb#InlineRedactionUrl": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "SAML", - "name": "SAML" - }, - { - "value": "Facebook", - "name": "Facebook" - }, - { - "value": "Google", - "name": "Google" - }, - { - "value": "LoginWithAmazon", - "name": "LoginWithAmazon" - }, - { - "value": "SignInWithApple", - "name": "SignInWithApple" - }, - { - "value": "OIDC", - "name": "OIDC" - } - ] + "smithy.api#pattern": "^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$", + "smithy.api#sensitive": {} } }, - "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes": { - "type": "integer", + "com.amazonaws.workspacesweb#InlineRedactionUrls": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesweb#InlineRedactionUrl" + }, "traits": { - "smithy.api#range": { - "min": 0, - "max": 60 + "smithy.api#length": { + "min": 1, + "max": 20 } } }, @@ -4743,6 +5479,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#ListDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#ListDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#ListDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list of data protection settings.

", + "smithy.api#http": { + "method": "GET", + "uri": "/dataProtectionSettings", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "dataProtectionSettings" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesweb#ListDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.workspacesweb#PaginationToken", + "traits": { + "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.workspacesweb#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to be included in the next page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#ListDataProtectionSettingsResponse": { + "type": "structure", + "members": { + "dataProtectionSettings": { + "target": "com.amazonaws.workspacesweb#DataProtectionSettingsList", + "traits": { + "smithy.api#documentation": "

The data protection settings.

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

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#ListIdentityProviders": { "type": "operation", "input": { @@ -5741,6 +6557,17 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.workspacesweb#PatternName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + }, + "smithy.api#pattern": "^[_\\-\\d\\w]+$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.workspacesweb#Portal": { "type": "structure", "members": { @@ -5794,6 +6621,12 @@ "smithy.api#documentation": "

The ARN of the browser settings that is associated with this web portal.

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

The ARN of the data protection settings.

" + } + }, "userSettingsArn": { "target": "com.amazonaws.workspacesweb#ARN", "traits": { @@ -5920,6 +6753,9 @@ "browserSettingsArn": { "target": "com.amazonaws.workspacesweb#ARN" }, + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN" + }, "userSettingsArn": { "target": "com.amazonaws.workspacesweb#ARN" }, @@ -5979,6 +6815,9 @@ { "target": "com.amazonaws.workspacesweb#AssociateBrowserSettings" }, + { + "target": "com.amazonaws.workspacesweb#AssociateDataProtectionSettings" + }, { "target": "com.amazonaws.workspacesweb#AssociateIpAccessSettings" }, @@ -5997,6 +6836,9 @@ { "target": "com.amazonaws.workspacesweb#DisassociateBrowserSettings" }, + { + "target": "com.amazonaws.workspacesweb#DisassociateDataProtectionSettings" + }, { "target": "com.amazonaws.workspacesweb#DisassociateIpAccessSettings" }, @@ -6028,6 +6870,7 @@ "name": "Portal", "additionalSchemas": [ "com.amazonaws.workspacesweb#AssociateBrowserSettingsRequest", + "com.amazonaws.workspacesweb#AssociateDataProtectionSettingsRequest", "com.amazonaws.workspacesweb#AssociateNetworkSettingsRequest", "com.amazonaws.workspacesweb#AssociateUserSettingsRequest", "com.amazonaws.workspacesweb#AssociateUserAccessLoggingSettingsRequest", @@ -6111,6 +6954,12 @@ "smithy.api#documentation": "

The ARN of the browser settings that is associated with the web portal.

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

The ARN of the data protection settings.

" + } + }, "userSettingsArn": { "target": "com.amazonaws.workspacesweb#ARN", "traits": { @@ -6167,6 +7016,60 @@ "com.amazonaws.workspacesweb#QuotaCode": { "type": "string" }, + "com.amazonaws.workspacesweb#RedactionPlaceHolder": { + "type": "structure", + "members": { + "redactionPlaceHolderType": { + "target": "com.amazonaws.workspacesweb#RedactionPlaceHolderType", + "traits": { + "smithy.api#documentation": "

The redaction placeholder type that will replace the redacted text in session.

", + "smithy.api#required": {} + } + }, + "redactionPlaceHolderText": { + "target": "com.amazonaws.workspacesweb#RedactionPlaceHolderText", + "traits": { + "smithy.api#documentation": "

The redaction placeholder text that will replace the redacted text in session for the custom text redaction placeholder type.

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

The redaction placeholder that will replace the redacted text in session.

" + } + }, + "com.amazonaws.workspacesweb#RedactionPlaceHolderText": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + }, + "smithy.api#pattern": "^[*_\\-\\d\\w]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesweb#RedactionPlaceHolderType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CustomText", + "name": "CUSTOM_TEXT" + } + ] + } + }, + "com.amazonaws.workspacesweb#Regex": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 300 + }, + "smithy.api#pattern": "^\\/((?:[^\\n])+)\\/([gimsuyvd]{0,8})$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.workspacesweb#RendererType": { "type": "string", "traits": { @@ -6928,6 +7831,97 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspacesweb#UpdateDataProtectionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesweb#UpdateDataProtectionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesweb#UpdateDataProtectionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesweb#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesweb#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesweb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesweb#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesweb#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates data protection settings.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/dataProtectionSettings/{dataProtectionSettingsArn+}", + "code": 200 + } + } + }, + "com.amazonaws.workspacesweb#UpdateDataProtectionSettingsRequest": { + "type": "structure", + "members": { + "dataProtectionSettingsArn": { + "target": "com.amazonaws.workspacesweb#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the data protection settings.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "inlineRedactionConfiguration": { + "target": "com.amazonaws.workspacesweb#InlineRedactionConfiguration", + "traits": { + "smithy.api#documentation": "

The inline redaction configuration of the data protection settings that will be applied to all sessions.

" + } + }, + "displayName": { + "target": "com.amazonaws.workspacesweb#DisplayNameSafe", + "traits": { + "smithy.api#documentation": "

The display name of the data protection settings.

" + } + }, + "description": { + "target": "com.amazonaws.workspacesweb#DescriptionSafe", + "traits": { + "smithy.api#documentation": "

The description of the data protection settings.

" + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesweb#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. Idempotency ensures that an API request completes only once. With an idempotent\n request, if the original request completes successfully, subsequent retries with the same\n client token return the result from the original successful request.

\n

If you do not specify a client token, one is automatically generated by the Amazon Web Services\n SDK.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesweb#UpdateDataProtectionSettingsResponse": { + "type": "structure", + "members": { + "dataProtectionSettings": { + "target": "com.amazonaws.workspacesweb#DataProtectionSettings", + "traits": { + "smithy.api#documentation": "

The data protection settings.

", + "smithy.api#nestedProperties": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workspacesweb#UpdateIdentityProvider": { "type": "operation", "input": {