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.