From 4b613e3e5c1126ccd83cac81f09aef4783680fc4 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 20 Feb 2025 19:43:47 +0000 Subject: [PATCH] feat(client-workspaces-web): Add support for toolbar configuration under user settings. --- .../src/commands/CreateUserSettingsCommand.ts | 8 + .../src/commands/GetUserSettingsCommand.ts | 8 + .../src/commands/ListUserSettingsCommand.ts | 8 + .../src/commands/UpdateUserSettingsCommand.ts | 16 ++ .../src/models/models_0.ts | 119 +++++++++++++ .../src/protocols/Aws_restJson1.ts | 12 ++ .../aws-models/workspaces-web.json | 161 ++++++++++++++++++ 7 files changed, 332 insertions(+) diff --git a/clients/client-workspaces-web/src/commands/CreateUserSettingsCommand.ts b/clients/client-workspaces-web/src/commands/CreateUserSettingsCommand.ts index fd9151d0fbd0..5bb00ff87898 100644 --- a/clients/client-workspaces-web/src/commands/CreateUserSettingsCommand.ts +++ b/clients/client-workspaces-web/src/commands/CreateUserSettingsCommand.ts @@ -77,6 +77,14 @@ export interface CreateUserSettingsCommandOutput extends CreateUserSettingsRespo * "": "STRING_VALUE", * }, * deepLinkAllowed: "STRING_VALUE", + * toolbarConfiguration: { // ToolbarConfiguration + * toolbarType: "STRING_VALUE", + * visualMode: "STRING_VALUE", + * hiddenToolbarItems: [ // HiddenToolbarItemList + * "STRING_VALUE", + * ], + * maxDisplayResolution: "STRING_VALUE", + * }, * }; * const command = new CreateUserSettingsCommand(input); * const response = await client.send(command); diff --git a/clients/client-workspaces-web/src/commands/GetUserSettingsCommand.ts b/clients/client-workspaces-web/src/commands/GetUserSettingsCommand.ts index e0b590d21d56..d57e26ab483a 100644 --- a/clients/client-workspaces-web/src/commands/GetUserSettingsCommand.ts +++ b/clients/client-workspaces-web/src/commands/GetUserSettingsCommand.ts @@ -78,6 +78,14 @@ export interface GetUserSettingsCommandOutput extends GetUserSettingsResponse, _ * // "": "STRING_VALUE", * // }, * // deepLinkAllowed: "STRING_VALUE", + * // toolbarConfiguration: { // ToolbarConfiguration + * // toolbarType: "STRING_VALUE", + * // visualMode: "STRING_VALUE", + * // hiddenToolbarItems: [ // HiddenToolbarItemList + * // "STRING_VALUE", + * // ], + * // maxDisplayResolution: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-workspaces-web/src/commands/ListUserSettingsCommand.ts b/clients/client-workspaces-web/src/commands/ListUserSettingsCommand.ts index 339169cd5d79..725fe53b275a 100644 --- a/clients/client-workspaces-web/src/commands/ListUserSettingsCommand.ts +++ b/clients/client-workspaces-web/src/commands/ListUserSettingsCommand.ts @@ -73,6 +73,14 @@ export interface ListUserSettingsCommandOutput extends ListUserSettingsResponse, * // ], * // }, * // deepLinkAllowed: "STRING_VALUE", + * // toolbarConfiguration: { // ToolbarConfiguration + * // toolbarType: "STRING_VALUE", + * // visualMode: "STRING_VALUE", + * // hiddenToolbarItems: [ // HiddenToolbarItemList + * // "STRING_VALUE", + * // ], + * // maxDisplayResolution: "STRING_VALUE", + * // }, * // }, * // ], * // nextToken: "STRING_VALUE", diff --git a/clients/client-workspaces-web/src/commands/UpdateUserSettingsCommand.ts b/clients/client-workspaces-web/src/commands/UpdateUserSettingsCommand.ts index 9d2e39adea33..bdc0255fbd24 100644 --- a/clients/client-workspaces-web/src/commands/UpdateUserSettingsCommand.ts +++ b/clients/client-workspaces-web/src/commands/UpdateUserSettingsCommand.ts @@ -67,6 +67,14 @@ export interface UpdateUserSettingsCommandOutput extends UpdateUserSettingsRespo * ], * }, * deepLinkAllowed: "STRING_VALUE", + * toolbarConfiguration: { // ToolbarConfiguration + * toolbarType: "STRING_VALUE", + * visualMode: "STRING_VALUE", + * hiddenToolbarItems: [ // HiddenToolbarItemList + * "STRING_VALUE", + * ], + * maxDisplayResolution: "STRING_VALUE", + * }, * }; * const command = new UpdateUserSettingsCommand(input); * const response = await client.send(command); @@ -104,6 +112,14 @@ export interface UpdateUserSettingsCommandOutput extends UpdateUserSettingsRespo * // "": "STRING_VALUE", * // }, * // deepLinkAllowed: "STRING_VALUE", + * // toolbarConfiguration: { // ToolbarConfiguration + * // toolbarType: "STRING_VALUE", + * // visualMode: "STRING_VALUE", + * // hiddenToolbarItems: [ // HiddenToolbarItemList + * // "STRING_VALUE", + * // ], + * // maxDisplayResolution: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-workspaces-web/src/models/models_0.ts b/clients/client-workspaces-web/src/models/models_0.ts index de70c5765933..ffc5a23128d0 100644 --- a/clients/client-workspaces-web/src/models/models_0.ts +++ b/clients/client-workspaces-web/src/models/models_0.ts @@ -4090,6 +4090,101 @@ export const EnabledType = { */ export type EnabledType = (typeof EnabledType)[keyof typeof EnabledType]; +/** + * @public + * @enum + */ +export const ToolbarItem = { + DUAL_MONITOR: "DualMonitor", + FULL_SCREEN: "FullScreen", + MICROPHONE: "Microphone", + WEBCAM: "Webcam", + WINDOWS: "Windows", +} as const; + +/** + * @public + */ +export type ToolbarItem = (typeof ToolbarItem)[keyof typeof ToolbarItem]; + +/** + * @public + * @enum + */ +export const MaxDisplayResolution = { + RESOLUTION_1080P: "size1920X1080", + RESOLUTION_1440P: "size2560X1440", + RESOLUTION_1440P_ULTRA_WIDE: "size3440X1440", + RESOLUTION_600P: "size800X600", + RESOLUTION_720P: "size1280X720", + RESOLUTION_768P: "size1024X768", + RESOLUTION_DCI_4K: "size4096X2160", + RESOLUTION_UHD_4K: "size3840X2160", +} as const; + +/** + * @public + */ +export type MaxDisplayResolution = (typeof MaxDisplayResolution)[keyof typeof MaxDisplayResolution]; + +/** + * @public + * @enum + */ +export const ToolbarType = { + DOCKED: "Docked", + FLOATING: "Floating", +} as const; + +/** + * @public + */ +export type ToolbarType = (typeof ToolbarType)[keyof typeof ToolbarType]; + +/** + * @public + * @enum + */ +export const VisualMode = { + DARK: "Dark", + LIGHT: "Light", +} as const; + +/** + * @public + */ +export type VisualMode = (typeof VisualMode)[keyof typeof VisualMode]; + +/** + *

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

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

The type of toolbar displayed during the session.

+ * @public + */ + toolbarType?: ToolbarType | undefined; + + /** + *

The visual mode of the toolbar.

+ * @public + */ + visualMode?: VisualMode | undefined; + + /** + *

The list of toolbar items to be hidden.

+ * @public + */ + hiddenToolbarItems?: ToolbarItem[] | undefined; + + /** + *

The maximum display resolution that is allowed for the session.

+ * @public + */ + maxDisplayResolution?: MaxDisplayResolution | undefined; +} + /** * @public */ @@ -4185,6 +4280,12 @@ export interface CreateUserSettingsRequest { * @public */ deepLinkAllowed?: EnabledType | undefined; + + /** + *

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

+ * @public + */ + toolbarConfiguration?: ToolbarConfiguration | undefined; } /** @@ -4318,6 +4419,12 @@ export interface UserSettings { * @public */ deepLinkAllowed?: EnabledType | undefined; + + /** + *

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

+ * @public + */ + toolbarConfiguration?: ToolbarConfiguration | undefined; } /** @@ -4421,6 +4528,12 @@ export interface UserSettingsSummary { * @public */ deepLinkAllowed?: EnabledType | undefined; + + /** + *

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

+ * @public + */ + toolbarConfiguration?: ToolbarConfiguration | undefined; } /** @@ -4524,6 +4637,12 @@ export interface UpdateUserSettingsRequest { * @public */ deepLinkAllowed?: EnabledType | undefined; + + /** + *

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

+ * @public + */ + toolbarConfiguration?: ToolbarConfiguration | undefined; } /** diff --git a/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts b/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts index c41d5814a9df..e3b9faacc66e 100644 --- a/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts +++ b/clients/client-workspaces-web/src/protocols/Aws_restJson1.ts @@ -257,6 +257,8 @@ import { SessionSummary, Tag, ThrottlingException, + ToolbarConfiguration, + ToolbarItem, TooManyTagsException, ValidationException, } from "../models/models_0"; @@ -634,6 +636,7 @@ export const se_CreateUserSettingsCommand = async ( pasteAllowed: [], printAllowed: [], tags: (_) => _json(_), + toolbarConfiguration: (_) => _json(_), uploadAllowed: [], }) ); @@ -1628,6 +1631,7 @@ export const se_UpdateUserSettingsCommand = async ( idleDisconnectTimeoutInMinutes: [], pasteAllowed: [], printAllowed: [], + toolbarConfiguration: (_) => _json(_), uploadAllowed: [], }) ); @@ -3247,6 +3251,8 @@ const se_CertificateList = (input: Uint8Array[], context: __SerdeContext): any = // se_GlobalInlineRedactionUrls omitted. +// se_HiddenToolbarItemList omitted. + // se_IdentityProviderDetails omitted. // se_InlineRedactionConfiguration omitted. @@ -3271,6 +3277,8 @@ const se_CertificateList = (input: Uint8Array[], context: __SerdeContext): any = // se_TagList omitted. +// se_ToolbarConfiguration omitted. + // de_ArnList omitted. // de_BrowserSettings omitted. @@ -3370,6 +3378,8 @@ const de_DataProtectionSettingsSummary = (output: any, context: __SerdeContext): // de_GlobalInlineRedactionUrls omitted. +// de_HiddenToolbarItemList omitted. + // de_IdentityProvider omitted. // de_IdentityProviderDetails omitted. @@ -3554,6 +3564,8 @@ const de_SessionSummaryList = (output: any, context: __SerdeContext): SessionSum // de_TagList omitted. +// de_ToolbarConfiguration omitted. + // de_TrustStore omitted. // de_TrustStoreSummary omitted. diff --git a/codegen/sdk-codegen/aws-models/workspaces-web.json b/codegen/sdk-codegen/aws-models/workspaces-web.json index 9d2b8549b281..3f794ee5d53c 100644 --- a/codegen/sdk-codegen/aws-models/workspaces-web.json +++ b/codegen/sdk-codegen/aws-models/workspaces-web.json @@ -2684,6 +2684,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether the user can use deep links that open automatically when connecting to\n a session.

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

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

" + } } }, "traits": { @@ -4833,6 +4839,12 @@ } } }, + "com.amazonaws.workspacesweb#HiddenToolbarItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesweb#ToolbarItem" + } + }, "com.amazonaws.workspacesweb#IdentityProvider": { "type": "structure", "members": { @@ -6419,6 +6431,45 @@ } } }, + "com.amazonaws.workspacesweb#MaxDisplayResolution": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "size4096X2160", + "name": "RESOLUTION_DCI_4K" + }, + { + "value": "size3840X2160", + "name": "RESOLUTION_UHD_4K" + }, + { + "value": "size3440X1440", + "name": "RESOLUTION_1440P_ULTRA_WIDE" + }, + { + "value": "size2560X1440", + "name": "RESOLUTION_1440P" + }, + { + "value": "size1920X1080", + "name": "RESOLUTION_1080P" + }, + { + "value": "size1280X720", + "name": "RESOLUTION_720P" + }, + { + "value": "size1024X768", + "name": "RESOLUTION_768P" + }, + { + "value": "size800X600", + "name": "RESOLUTION_600P" + } + ] + } + }, "com.amazonaws.workspacesweb#MaxResults": { "type": "integer", "traits": { @@ -7587,6 +7638,80 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.workspacesweb#ToolbarConfiguration": { + "type": "structure", + "members": { + "toolbarType": { + "target": "com.amazonaws.workspacesweb#ToolbarType", + "traits": { + "smithy.api#documentation": "

The type of toolbar displayed during the session.

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

The visual mode of the toolbar.

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

The list of toolbar items to be hidden.

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

The maximum display resolution that is allowed for the session.

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

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

" + } + }, + "com.amazonaws.workspacesweb#ToolbarItem": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Windows", + "name": "WINDOWS" + }, + { + "value": "DualMonitor", + "name": "DUAL_MONITOR" + }, + { + "value": "FullScreen", + "name": "FULL_SCREEN" + }, + { + "value": "Webcam", + "name": "WEBCAM" + }, + { + "value": "Microphone", + "name": "MICROPHONE" + } + ] + } + }, + "com.amazonaws.workspacesweb#ToolbarType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Floating", + "name": "FLOATING" + }, + { + "value": "Docked", + "name": "DOCKED" + } + ] + } + }, "com.amazonaws.workspacesweb#TrustStore": { "type": "structure", "members": { @@ -8566,6 +8691,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether the user can use deep links that open automatically when connecting to\n a session.

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

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

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

Specifies whether the user can use deep links that open automatically when connecting to\n a session.

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

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

" + } } }, "traits": { @@ -8832,6 +8969,9 @@ }, "deepLinkAllowed": { "target": "com.amazonaws.workspacesweb#EnabledType" + }, + "toolbarConfiguration": { + "target": "com.amazonaws.workspacesweb#ToolbarConfiguration" } }, "create": { @@ -8928,6 +9068,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether the user can use deep links that open automatically when connecting to\n a session.

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

The configuration of the toolbar. This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.

" + } } }, "traits": { @@ -9021,6 +9167,21 @@ ] } }, + "com.amazonaws.workspacesweb#VisualMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Dark", + "name": "DARK" + }, + { + "value": "Light", + "name": "LIGHT" + } + ] + } + }, "com.amazonaws.workspacesweb#VpcId": { "type": "string", "traits": {