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.