Amazon WorkSpaces Web

2023/08/28 - Amazon WorkSpaces Web - 4 updated api methods

Changes  WorkSpaces Web now enables Admins to configure which cookies are synchronized from an end-user's local browser to the in-session browser. In conjunction with a browser extension, this feature enables enhanced Single-Sign On capability by reducing the number of times an end-user has to authenticate.

CreateUserSettings (updated) Link ¶
Changes (request)
{'additionalEncryptionContext': {'string': 'string'},
 'cookieSynchronizationConfiguration': {'allowlist': [{'domain': 'string',
                                                       'name': 'string',
                                                       'path': 'string'}],
                                        'blocklist': [{'domain': 'string',
                                                       'name': 'string',
                                                       'path': 'string'}]},
 'customerManagedKey': 'string'}

Creates a user settings resource that can be associated with a web portal. Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices.

See also: AWS API Documentation

Request Syntax

client.create_user_settings(
    additionalEncryptionContext={
        'string': 'string'
    },
    clientToken='string',
    cookieSynchronizationConfiguration={
        'allowlist': [
            {
                'domain': 'string',
                'name': 'string',
                'path': 'string'
            },
        ],
        'blocklist': [
            {
                'domain': 'string',
                'name': 'string',
                'path': 'string'
            },
        ]
    },
    copyAllowed='Disabled'|'Enabled',
    customerManagedKey='string',
    disconnectTimeoutInMinutes=123,
    downloadAllowed='Disabled'|'Enabled',
    idleDisconnectTimeoutInMinutes=123,
    pasteAllowed='Disabled'|'Enabled',
    printAllowed='Disabled'|'Enabled',
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    uploadAllowed='Disabled'|'Enabled'
)
type additionalEncryptionContext

dict

param additionalEncryptionContext

The additional encryption context of the user settings.

  • (string) --

    • (string) --

type clientToken

string

param clientToken

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 AWS SDK.

This field is autopopulated if not provided.

type cookieSynchronizationConfiguration

dict

param cookieSynchronizationConfiguration

The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

  • allowlist (list) -- [REQUIRED]

    The list of cookie specifications that are allowed to be synchronized to the remote browser.

    • (dict) --

      Specifies a single cookie or set of cookies in an end user's browser.

      • domain (string) -- [REQUIRED]

        The domain of the cookie.

      • name (string) --

        The name of the cookie.

      • path (string) --

        The path of the cookie.

  • blocklist (list) --

    The list of cookie specifications that are blocked from being synchronized to the remote browser.

    • (dict) --

      Specifies a single cookie or set of cookies in an end user's browser.

      • domain (string) -- [REQUIRED]

        The domain of the cookie.

      • name (string) --

        The name of the cookie.

      • path (string) --

        The path of the cookie.

type copyAllowed

string

param copyAllowed

[REQUIRED]

Specifies whether the user can copy text from the streaming session to the local device.

type customerManagedKey

string

param customerManagedKey

The customer managed key used to encrypt sensitive information in the user settings.

type disconnectTimeoutInMinutes

integer

param disconnectTimeoutInMinutes

The amount of time that a streaming session remains active after users disconnect.

type downloadAllowed

string

param downloadAllowed

[REQUIRED]

Specifies whether the user can download files from the streaming session to the local device.

type idleDisconnectTimeoutInMinutes

integer

param idleDisconnectTimeoutInMinutes

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

type pasteAllowed

string

param pasteAllowed

[REQUIRED]

Specifies whether the user can paste text from the local device to the streaming session.

type printAllowed

string

param printAllowed

[REQUIRED]

Specifies whether the user can print to the local device.

type tags

list

param tags

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

  • (dict) --

    The tag.

    • Key (string) -- [REQUIRED]

      The key of the tag.

    • Value (string) -- [REQUIRED]

      The value of the tag

type uploadAllowed

string

param uploadAllowed

[REQUIRED]

Specifies whether the user can upload files from the local device to the streaming session.

rtype

dict

returns

Response Syntax

{
    'userSettingsArn': 'string'
}

Response Structure

  • (dict) --

    • userSettingsArn (string) --

      The ARN of the user settings.

GetUserSettings (updated) Link ¶
Changes (response)
{'userSettings': {'cookieSynchronizationConfiguration': {'allowlist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}],
                                                         'blocklist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}]}}}

Gets user settings.

See also: AWS API Documentation

Request Syntax

client.get_user_settings(
    userSettingsArn='string'
)
type userSettingsArn

string

param userSettingsArn

[REQUIRED]

The ARN of the user settings.

rtype

dict

returns

Response Syntax

{
    'userSettings': {
        'associatedPortalArns': [
            'string',
        ],
        'cookieSynchronizationConfiguration': {
            'allowlist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ],
            'blocklist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ]
        },
        'copyAllowed': 'Disabled'|'Enabled',
        'disconnectTimeoutInMinutes': 123,
        'downloadAllowed': 'Disabled'|'Enabled',
        'idleDisconnectTimeoutInMinutes': 123,
        'pasteAllowed': 'Disabled'|'Enabled',
        'printAllowed': 'Disabled'|'Enabled',
        'uploadAllowed': 'Disabled'|'Enabled',
        'userSettingsArn': 'string'
    }
}

Response Structure

  • (dict) --

    • userSettings (dict) --

      The user settings.

      • associatedPortalArns (list) --

        A list of web portal ARNs that this user settings is associated with.

        • (string) --

      • cookieSynchronizationConfiguration (dict) --

        The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

        • allowlist (list) --

          The list of cookie specifications that are allowed to be synchronized to the remote browser.

          • (dict) --

            Specifies a single cookie or set of cookies in an end user's browser.

            • domain (string) --

              The domain of the cookie.

            • name (string) --

              The name of the cookie.

            • path (string) --

              The path of the cookie.

        • blocklist (list) --

          The list of cookie specifications that are blocked from being synchronized to the remote browser.

          • (dict) --

            Specifies a single cookie or set of cookies in an end user's browser.

            • domain (string) --

              The domain of the cookie.

            • name (string) --

              The name of the cookie.

            • path (string) --

              The path of the cookie.

      • copyAllowed (string) --

        Specifies whether the user can copy text from the streaming session to the local device.

      • disconnectTimeoutInMinutes (integer) --

        The amount of time that a streaming session remains active after users disconnect.

      • downloadAllowed (string) --

        Specifies whether the user can download files from the streaming session to the local device.

      • idleDisconnectTimeoutInMinutes (integer) --

        The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

      • pasteAllowed (string) --

        Specifies whether the user can paste text from the local device to the streaming session.

      • printAllowed (string) --

        Specifies whether the user can print to the local device.

      • uploadAllowed (string) --

        Specifies whether the user can upload files from the local device to the streaming session.

      • userSettingsArn (string) --

        The ARN of the user settings.

ListUserSettings (updated) Link ¶
Changes (response)
{'userSettings': {'cookieSynchronizationConfiguration': {'allowlist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}],
                                                         'blocklist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}]}}}

Retrieves a list of user settings.

See also: AWS API Documentation

Request Syntax

client.list_user_settings(
    maxResults=123,
    nextToken='string'
)
type maxResults

integer

param maxResults

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

type nextToken

string

param nextToken

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

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'userSettings': [
        {
            'cookieSynchronizationConfiguration': {
                'allowlist': [
                    {
                        'domain': 'string',
                        'name': 'string',
                        'path': 'string'
                    },
                ],
                'blocklist': [
                    {
                        'domain': 'string',
                        'name': 'string',
                        'path': 'string'
                    },
                ]
            },
            'copyAllowed': 'Disabled'|'Enabled',
            'disconnectTimeoutInMinutes': 123,
            'downloadAllowed': 'Disabled'|'Enabled',
            'idleDisconnectTimeoutInMinutes': 123,
            'pasteAllowed': 'Disabled'|'Enabled',
            'printAllowed': 'Disabled'|'Enabled',
            'uploadAllowed': 'Disabled'|'Enabled',
            'userSettingsArn': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • userSettings (list) --

      The user settings.

      • (dict) --

        The summary of user settings.

        • cookieSynchronizationConfiguration (dict) --

          The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

          • allowlist (list) --

            The list of cookie specifications that are allowed to be synchronized to the remote browser.

            • (dict) --

              Specifies a single cookie or set of cookies in an end user's browser.

              • domain (string) --

                The domain of the cookie.

              • name (string) --

                The name of the cookie.

              • path (string) --

                The path of the cookie.

          • blocklist (list) --

            The list of cookie specifications that are blocked from being synchronized to the remote browser.

            • (dict) --

              Specifies a single cookie or set of cookies in an end user's browser.

              • domain (string) --

                The domain of the cookie.

              • name (string) --

                The name of the cookie.

              • path (string) --

                The path of the cookie.

        • copyAllowed (string) --

          Specifies whether the user can copy text from the streaming session to the local device.

        • disconnectTimeoutInMinutes (integer) --

          The amount of time that a streaming session remains active after users disconnect.

        • downloadAllowed (string) --

          Specifies whether the user can download files from the streaming session to the local device.

        • idleDisconnectTimeoutInMinutes (integer) --

          The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

        • pasteAllowed (string) --

          Specifies whether the user can paste text from the local device to the streaming session.

        • printAllowed (string) --

          Specifies whether the user can print to the local device.

        • uploadAllowed (string) --

          Specifies whether the user can upload files from the local device to the streaming session.

        • userSettingsArn (string) --

          The ARN of the user settings.

UpdateUserSettings (updated) Link ¶
Changes (request, response)
Request
{'cookieSynchronizationConfiguration': {'allowlist': [{'domain': 'string',
                                                       'name': 'string',
                                                       'path': 'string'}],
                                        'blocklist': [{'domain': 'string',
                                                       'name': 'string',
                                                       'path': 'string'}]}}
Response
{'userSettings': {'cookieSynchronizationConfiguration': {'allowlist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}],
                                                         'blocklist': [{'domain': 'string',
                                                                        'name': 'string',
                                                                        'path': 'string'}]}}}

Updates the user settings.

See also: AWS API Documentation

Request Syntax

client.update_user_settings(
    clientToken='string',
    cookieSynchronizationConfiguration={
        'allowlist': [
            {
                'domain': 'string',
                'name': 'string',
                'path': 'string'
            },
        ],
        'blocklist': [
            {
                'domain': 'string',
                'name': 'string',
                'path': 'string'
            },
        ]
    },
    copyAllowed='Disabled'|'Enabled',
    disconnectTimeoutInMinutes=123,
    downloadAllowed='Disabled'|'Enabled',
    idleDisconnectTimeoutInMinutes=123,
    pasteAllowed='Disabled'|'Enabled',
    printAllowed='Disabled'|'Enabled',
    uploadAllowed='Disabled'|'Enabled',
    userSettingsArn='string'
)
type clientToken

string

param clientToken

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 AWS SDK.

This field is autopopulated if not provided.

type cookieSynchronizationConfiguration

dict

param cookieSynchronizationConfiguration

The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

If the allowlist and blocklist are empty, the configuration becomes null.

  • allowlist (list) -- [REQUIRED]

    The list of cookie specifications that are allowed to be synchronized to the remote browser.

    • (dict) --

      Specifies a single cookie or set of cookies in an end user's browser.

      • domain (string) -- [REQUIRED]

        The domain of the cookie.

      • name (string) --

        The name of the cookie.

      • path (string) --

        The path of the cookie.

  • blocklist (list) --

    The list of cookie specifications that are blocked from being synchronized to the remote browser.

    • (dict) --

      Specifies a single cookie or set of cookies in an end user's browser.

      • domain (string) -- [REQUIRED]

        The domain of the cookie.

      • name (string) --

        The name of the cookie.

      • path (string) --

        The path of the cookie.

type copyAllowed

string

param copyAllowed

Specifies whether the user can copy text from the streaming session to the local device.

type disconnectTimeoutInMinutes

integer

param disconnectTimeoutInMinutes

The amount of time that a streaming session remains active after users disconnect.

type downloadAllowed

string

param downloadAllowed

Specifies whether the user can download files from the streaming session to the local device.

type idleDisconnectTimeoutInMinutes

integer

param idleDisconnectTimeoutInMinutes

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

type pasteAllowed

string

param pasteAllowed

Specifies whether the user can paste text from the local device to the streaming session.

type printAllowed

string

param printAllowed

Specifies whether the user can print to the local device.

type uploadAllowed

string

param uploadAllowed

Specifies whether the user can upload files from the local device to the streaming session.

type userSettingsArn

string

param userSettingsArn

[REQUIRED]

The ARN of the user settings.

rtype

dict

returns

Response Syntax

{
    'userSettings': {
        'associatedPortalArns': [
            'string',
        ],
        'cookieSynchronizationConfiguration': {
            'allowlist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ],
            'blocklist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ]
        },
        'copyAllowed': 'Disabled'|'Enabled',
        'disconnectTimeoutInMinutes': 123,
        'downloadAllowed': 'Disabled'|'Enabled',
        'idleDisconnectTimeoutInMinutes': 123,
        'pasteAllowed': 'Disabled'|'Enabled',
        'printAllowed': 'Disabled'|'Enabled',
        'uploadAllowed': 'Disabled'|'Enabled',
        'userSettingsArn': 'string'
    }
}

Response Structure

  • (dict) --

    • userSettings (dict) --

      The user settings.

      • associatedPortalArns (list) --

        A list of web portal ARNs that this user settings is associated with.

        • (string) --

      • cookieSynchronizationConfiguration (dict) --

        The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

        • allowlist (list) --

          The list of cookie specifications that are allowed to be synchronized to the remote browser.

          • (dict) --

            Specifies a single cookie or set of cookies in an end user's browser.

            • domain (string) --

              The domain of the cookie.

            • name (string) --

              The name of the cookie.

            • path (string) --

              The path of the cookie.

        • blocklist (list) --

          The list of cookie specifications that are blocked from being synchronized to the remote browser.

          • (dict) --

            Specifies a single cookie or set of cookies in an end user's browser.

            • domain (string) --

              The domain of the cookie.

            • name (string) --

              The name of the cookie.

            • path (string) --

              The path of the cookie.

      • copyAllowed (string) --

        Specifies whether the user can copy text from the streaming session to the local device.

      • disconnectTimeoutInMinutes (integer) --

        The amount of time that a streaming session remains active after users disconnect.

      • downloadAllowed (string) --

        Specifies whether the user can download files from the streaming session to the local device.

      • idleDisconnectTimeoutInMinutes (integer) --

        The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

      • pasteAllowed (string) --

        Specifies whether the user can paste text from the local device to the streaming session.

      • printAllowed (string) --

        Specifies whether the user can print to the local device.

      • uploadAllowed (string) --

        Specifies whether the user can upload files from the local device to the streaming session.

      • userSettingsArn (string) --

        The ARN of the user settings.