Amazon WorkSpaces Web

2024/06/24 - Amazon WorkSpaces Web - 5 updated api methods

Changes  Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.

CreateIdentityProvider (updated) Link ¶
Changes (request)
{'tags': [{'Key': 'string', 'Value': 'string'}]}

Creates an identity provider resource that is then associated with a web portal.

See also: AWS API Documentation

Request Syntax

client.create_identity_provider(
    clientToken='string',
    identityProviderDetails={
        'string': 'string'
    },
    identityProviderName='string',
    identityProviderType='SAML'|'Facebook'|'Google'|'LoginWithAmazon'|'SignInWithApple'|'OIDC',
    portalArn='string',
    tags=[
        {
            'Key': 'string',
            'Value': '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 Amazon Web Services SDK.

This field is autopopulated if not provided.

type identityProviderDetails

dict

param identityProviderDetails

[REQUIRED]

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Facebook:

    • client_id

    • client_secret

    • authorize_scopes

    • api_version

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignout (boolean) optional

    • IDPInit (boolean) optional

    • RequestSigningAlgorithm (string) optional - Only accepts rsa-sha256

    • EncryptedResponses (boolean) optional

  • (string) --

    • (string) --

type identityProviderName

string

param identityProviderName

[REQUIRED]

The identity provider name.

type identityProviderType

string

param identityProviderType

[REQUIRED]

The identity provider type.

type portalArn

string

param portalArn

[REQUIRED]

The ARN of the web portal.

type tags

list

param tags

The tags to add to the identity provider 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

rtype

dict

returns

Response Syntax

{
    'identityProviderArn': 'string'
}

Response Structure

  • (dict) --

    • identityProviderArn (string) --

      The ARN of the identity provider.

CreateUserSettings (updated) Link ¶
Changes (request)
{'deepLinkAllowed': 'Disabled | Enabled'}

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',
    deepLinkAllowed='Disabled'|'Enabled',
    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 Amazon Web Services 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 deepLinkAllowed

string

param deepLinkAllowed

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

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': {'deepLinkAllowed': 'Disabled | Enabled'}}

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': {
        'additionalEncryptionContext': {
            'string': 'string'
        },
        'associatedPortalArns': [
            'string',
        ],
        'cookieSynchronizationConfiguration': {
            'allowlist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ],
            'blocklist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ]
        },
        'copyAllowed': 'Disabled'|'Enabled',
        'customerManagedKey': 'string',
        'deepLinkAllowed': '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.

      • additionalEncryptionContext (dict) --

        The additional encryption context of the user settings.

        • (string) --

          • (string) --

      • 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.

      • customerManagedKey (string) --

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

      • deepLinkAllowed (string) --

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

      • 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': {'deepLinkAllowed': 'Disabled | Enabled'}}

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',
            'deepLinkAllowed': '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.

        • deepLinkAllowed (string) --

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

        • 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
{'deepLinkAllowed': 'Disabled | Enabled'}
Response
{'userSettings': {'deepLinkAllowed': 'Disabled | Enabled'}}

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',
    deepLinkAllowed='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 Amazon Web Services 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 deepLinkAllowed

string

param deepLinkAllowed

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

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': {
        'additionalEncryptionContext': {
            'string': 'string'
        },
        'associatedPortalArns': [
            'string',
        ],
        'cookieSynchronizationConfiguration': {
            'allowlist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ],
            'blocklist': [
                {
                    'domain': 'string',
                    'name': 'string',
                    'path': 'string'
                },
            ]
        },
        'copyAllowed': 'Disabled'|'Enabled',
        'customerManagedKey': 'string',
        'deepLinkAllowed': '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.

      • additionalEncryptionContext (dict) --

        The additional encryption context of the user settings.

        • (string) --

          • (string) --

      • 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.

      • customerManagedKey (string) --

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

      • deepLinkAllowed (string) --

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

      • 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.