Amazon WorkSpaces

2019/06/27 - Amazon WorkSpaces - 3 new 2 updated api methods

Changes  Added support for the WorkSpaces restore feature and copying WorkSpaces Images across AWS Regions.

DescribeWorkspaceSnapshots (new) Link ¶

Describes the snapshots for the specified WorkSpace.

See also: AWS API Documentation

Request Syntax

client.describe_workspace_snapshots(
    WorkspaceId='string'
)
type WorkspaceId

string

param WorkspaceId

[REQUIRED]

The identifier of the WorkSpace.

rtype

dict

returns

Response Syntax

{
    'RebuildSnapshots': [
        {
            'SnapshotTime': datetime(2015, 1, 1)
        },
    ],
    'RestoreSnapshots': [
        {
            'SnapshotTime': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    • RebuildSnapshots (list) --

      Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the root volume.

      • (dict) --

        Describes a snapshot.

        • SnapshotTime (datetime) --

          The time when the snapshot was created.

    • RestoreSnapshots (list) --

      Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.

      • (dict) --

        Describes a snapshot.

        • SnapshotTime (datetime) --

          The time when the snapshot was created.

CopyWorkspaceImage (new) Link ¶

Copies the specified image from the specified Region to the current Region.

See also: AWS API Documentation

Request Syntax

client.copy_workspace_image(
    Name='string',
    Description='string',
    SourceImageId='string',
    SourceRegion='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Name

string

param Name

[REQUIRED]

The name of the image.

type Description

string

param Description

A description of the image.

type SourceImageId

string

param SourceImageId

[REQUIRED]

The identifier of the source image.

type SourceRegion

string

param SourceRegion

[REQUIRED]

The identifier of the source Region.

type Tags

list

param Tags

The tags for the image.

  • (dict) --

    Describes a tag.

    • Key (string) -- [REQUIRED]

      The key of the tag.

    • Value (string) --

      The value of the tag.

rtype

dict

returns

Response Syntax

{
    'ImageId': 'string'
}

Response Structure

  • (dict) --

    • ImageId (string) --

      The identifier of the image.

RestoreWorkspace (new) Link ¶

Restores the specified WorkSpace to its last known healthy state.

You cannot restore a WorkSpace unless its state is AVAILABLE , ERROR , or UNHEALTHY .

Restoring a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Restore a WorkSpace.

This operation is asynchronous and returns before the WorkSpace is completely restored.

See also: AWS API Documentation

Request Syntax

client.restore_workspace(
    WorkspaceId='string',
    SnapshotCurrentVolumes=True|False
)
type WorkspaceId

string

param WorkspaceId

[REQUIRED]

The identifier of the WorkSpace.

type SnapshotCurrentVolumes

boolean

param SnapshotCurrentVolumes

Indicates whether to create snapshots of the root volume and user volume before restoring the WorkSpace.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreateWorkspaces (updated) Link ¶
Changes (response)
{'PendingRequests': {'State': {'RESTORING'}}}

Creates one or more WorkSpaces.

This operation is asynchronous and returns before the WorkSpaces are created.

See also: AWS API Documentation

Request Syntax

client.create_workspaces(
    Workspaces=[
        {
            'DirectoryId': 'string',
            'UserName': 'string',
            'BundleId': 'string',
            'VolumeEncryptionKey': 'string',
            'UserVolumeEncryptionEnabled': True|False,
            'RootVolumeEncryptionEnabled': True|False,
            'WorkspaceProperties': {
                'RunningMode': 'AUTO_STOP'|'ALWAYS_ON',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'
            },
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ]
)
type Workspaces

list

param Workspaces

[REQUIRED]

The WorkSpaces to create. You can specify up to 25 WorkSpaces.

  • (dict) --

    Describes the information used to create a WorkSpace.

    • DirectoryId (string) -- [REQUIRED]

      The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

    • UserName (string) -- [REQUIRED]

      The username of the user for the WorkSpace. This username must exist in the AWS Directory Service directory for the WorkSpace.

    • BundleId (string) -- [REQUIRED]

      The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

    • VolumeEncryptionKey (string) --

      The KMS key used to encrypt data stored on your WorkSpace.

    • UserVolumeEncryptionEnabled (boolean) --

      Indicates whether the data stored on the user volume is encrypted.

    • RootVolumeEncryptionEnabled (boolean) --

      Indicates whether the data stored on the root volume is encrypted.

    • WorkspaceProperties (dict) --

      The WorkSpace properties.

      • RunningMode (string) --

        The running mode. For more information, see Manage the WorkSpace Running Mode.

      • RunningModeAutoStopTimeoutInMinutes (integer) --

        The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

      • RootVolumeSizeGib (integer) --

        The size of the root volume.

      • UserVolumeSizeGib (integer) --

        The size of the user storage.

      • ComputeTypeName (string) --

        The compute type. For more information, see Amazon WorkSpaces Bundles.

    • Tags (list) --

      The tags for the WorkSpace.

      • (dict) --

        Describes a tag.

        • Key (string) -- [REQUIRED]

          The key of the tag.

        • Value (string) --

          The value of the tag.

rtype

dict

returns

Response Syntax

{
    'FailedRequests': [
        {
            'WorkspaceRequest': {
                'DirectoryId': 'string',
                'UserName': 'string',
                'BundleId': 'string',
                'VolumeEncryptionKey': 'string',
                'UserVolumeEncryptionEnabled': True|False,
                'RootVolumeEncryptionEnabled': True|False,
                'WorkspaceProperties': {
                    'RunningMode': 'AUTO_STOP'|'ALWAYS_ON',
                    'RunningModeAutoStopTimeoutInMinutes': 123,
                    'RootVolumeSizeGib': 123,
                    'UserVolumeSizeGib': 123,
                    'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'
                },
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            },
            'ErrorCode': 'string',
            'ErrorMessage': 'string'
        },
    ],
    'PendingRequests': [
        {
            'WorkspaceId': 'string',
            'DirectoryId': 'string',
            'UserName': 'string',
            'IpAddress': 'string',
            'State': 'PENDING'|'AVAILABLE'|'IMPAIRED'|'UNHEALTHY'|'REBOOTING'|'STARTING'|'REBUILDING'|'RESTORING'|'MAINTENANCE'|'ADMIN_MAINTENANCE'|'TERMINATING'|'TERMINATED'|'SUSPENDED'|'UPDATING'|'STOPPING'|'STOPPED'|'ERROR',
            'BundleId': 'string',
            'SubnetId': 'string',
            'ErrorMessage': 'string',
            'ErrorCode': 'string',
            'ComputerName': 'string',
            'VolumeEncryptionKey': 'string',
            'UserVolumeEncryptionEnabled': True|False,
            'RootVolumeEncryptionEnabled': True|False,
            'WorkspaceProperties': {
                'RunningMode': 'AUTO_STOP'|'ALWAYS_ON',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'
            },
            'ModificationStates': [
                {
                    'Resource': 'ROOT_VOLUME'|'USER_VOLUME'|'COMPUTE_TYPE',
                    'State': 'UPDATE_INITIATED'|'UPDATE_IN_PROGRESS'
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • FailedRequests (list) --

      Information about the WorkSpaces that could not be created.

      • (dict) --

        Describes a WorkSpace that cannot be created.

        • WorkspaceRequest (dict) --

          Information about the WorkSpace.

          • DirectoryId (string) --

            The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

          • UserName (string) --

            The username of the user for the WorkSpace. This username must exist in the AWS Directory Service directory for the WorkSpace.

          • BundleId (string) --

            The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

          • VolumeEncryptionKey (string) --

            The KMS key used to encrypt data stored on your WorkSpace.

          • UserVolumeEncryptionEnabled (boolean) --

            Indicates whether the data stored on the user volume is encrypted.

          • RootVolumeEncryptionEnabled (boolean) --

            Indicates whether the data stored on the root volume is encrypted.

          • WorkspaceProperties (dict) --

            The WorkSpace properties.

            • RunningMode (string) --

              The running mode. For more information, see Manage the WorkSpace Running Mode.

            • RunningModeAutoStopTimeoutInMinutes (integer) --

              The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

            • RootVolumeSizeGib (integer) --

              The size of the root volume.

            • UserVolumeSizeGib (integer) --

              The size of the user storage.

            • ComputeTypeName (string) --

              The compute type. For more information, see Amazon WorkSpaces Bundles.

          • Tags (list) --

            The tags for the WorkSpace.

            • (dict) --

              Describes a tag.

              • Key (string) --

                The key of the tag.

              • Value (string) --

                The value of the tag.

        • ErrorCode (string) --

          The error code that is returned if the WorkSpace cannot be created.

        • ErrorMessage (string) --

          The text of the error message that is returned if the WorkSpace cannot be created.

    • PendingRequests (list) --

      Information about the WorkSpaces that were created.

      Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call DescribeWorkspaces before the WorkSpace is created, the information returned can be incomplete.

      • (dict) --

        Describes a WorkSpace.

        • WorkspaceId (string) --

          The identifier of the WorkSpace.

        • DirectoryId (string) --

          The identifier of the AWS Directory Service directory for the WorkSpace.

        • UserName (string) --

          The user for the WorkSpace.

        • IpAddress (string) --

          The IP address of the WorkSpace.

        • State (string) --

          The operational state of the WorkSpace.

        • BundleId (string) --

          The identifier of the bundle used to create the WorkSpace.

        • SubnetId (string) --

          The identifier of the subnet for the WorkSpace.

        • ErrorMessage (string) --

          The text of the error message that is returned if the WorkSpace cannot be created.

        • ErrorCode (string) --

          The error code that is returned if the WorkSpace cannot be created.

        • ComputerName (string) --

          The name of the WorkSpace, as seen by the operating system.

        • VolumeEncryptionKey (string) --

          The KMS key used to encrypt data stored on your WorkSpace.

        • UserVolumeEncryptionEnabled (boolean) --

          Indicates whether the data stored on the user volume is encrypted.

        • RootVolumeEncryptionEnabled (boolean) --

          Indicates whether the data stored on the root volume is encrypted.

        • WorkspaceProperties (dict) --

          The properties of the WorkSpace.

          • RunningMode (string) --

            The running mode. For more information, see Manage the WorkSpace Running Mode.

          • RunningModeAutoStopTimeoutInMinutes (integer) --

            The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

          • RootVolumeSizeGib (integer) --

            The size of the root volume.

          • UserVolumeSizeGib (integer) --

            The size of the user storage.

          • ComputeTypeName (string) --

            The compute type. For more information, see Amazon WorkSpaces Bundles.

        • ModificationStates (list) --

          The modification states of the WorkSpace.

          • (dict) --

            Describes a WorkSpace modification.

            • Resource (string) --

              The resource.

            • State (string) --

              The modification state.

DescribeWorkspaces (updated) Link ¶
Changes (response)
{'Workspaces': {'State': {'RESTORING'}}}

Describes the specified WorkSpaces.

You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify only one filter at a time.

See also: AWS API Documentation

Request Syntax

client.describe_workspaces(
    WorkspaceIds=[
        'string',
    ],
    DirectoryId='string',
    UserName='string',
    BundleId='string',
    Limit=123,
    NextToken='string'
)
type WorkspaceIds

list

param WorkspaceIds

The identifiers of the WorkSpaces. You cannot combine this parameter with any other filter.

Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

  • (string) --

type DirectoryId

string

param DirectoryId

The identifier of the directory. In addition, you can optionally specify a specific directory user (see UserName ). You cannot combine this parameter with any other filter.

type UserName

string

param UserName

The name of the directory user. You must specify this parameter with DirectoryId .

type BundleId

string

param BundleId

The identifier of the bundle. All WorkSpaces that are created from this bundle are retrieved. You cannot combine this parameter with any other filter.

type Limit

integer

param Limit

The maximum number of items to return.

type NextToken

string

param NextToken

If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

rtype

dict

returns

Response Syntax

{
    'Workspaces': [
        {
            'WorkspaceId': 'string',
            'DirectoryId': 'string',
            'UserName': 'string',
            'IpAddress': 'string',
            'State': 'PENDING'|'AVAILABLE'|'IMPAIRED'|'UNHEALTHY'|'REBOOTING'|'STARTING'|'REBUILDING'|'RESTORING'|'MAINTENANCE'|'ADMIN_MAINTENANCE'|'TERMINATING'|'TERMINATED'|'SUSPENDED'|'UPDATING'|'STOPPING'|'STOPPED'|'ERROR',
            'BundleId': 'string',
            'SubnetId': 'string',
            'ErrorMessage': 'string',
            'ErrorCode': 'string',
            'ComputerName': 'string',
            'VolumeEncryptionKey': 'string',
            'UserVolumeEncryptionEnabled': True|False,
            'RootVolumeEncryptionEnabled': True|False,
            'WorkspaceProperties': {
                'RunningMode': 'AUTO_STOP'|'ALWAYS_ON',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'
            },
            'ModificationStates': [
                {
                    'Resource': 'ROOT_VOLUME'|'USER_VOLUME'|'COMPUTE_TYPE',
                    'State': 'UPDATE_INITIATED'|'UPDATE_IN_PROGRESS'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Workspaces (list) --

      Information about the WorkSpaces.

      Because CreateWorkspaces is an asynchronous operation, some of the returned information could be incomplete.

      • (dict) --

        Describes a WorkSpace.

        • WorkspaceId (string) --

          The identifier of the WorkSpace.

        • DirectoryId (string) --

          The identifier of the AWS Directory Service directory for the WorkSpace.

        • UserName (string) --

          The user for the WorkSpace.

        • IpAddress (string) --

          The IP address of the WorkSpace.

        • State (string) --

          The operational state of the WorkSpace.

        • BundleId (string) --

          The identifier of the bundle used to create the WorkSpace.

        • SubnetId (string) --

          The identifier of the subnet for the WorkSpace.

        • ErrorMessage (string) --

          The text of the error message that is returned if the WorkSpace cannot be created.

        • ErrorCode (string) --

          The error code that is returned if the WorkSpace cannot be created.

        • ComputerName (string) --

          The name of the WorkSpace, as seen by the operating system.

        • VolumeEncryptionKey (string) --

          The KMS key used to encrypt data stored on your WorkSpace.

        • UserVolumeEncryptionEnabled (boolean) --

          Indicates whether the data stored on the user volume is encrypted.

        • RootVolumeEncryptionEnabled (boolean) --

          Indicates whether the data stored on the root volume is encrypted.

        • WorkspaceProperties (dict) --

          The properties of the WorkSpace.

          • RunningMode (string) --

            The running mode. For more information, see Manage the WorkSpace Running Mode.

          • RunningModeAutoStopTimeoutInMinutes (integer) --

            The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

          • RootVolumeSizeGib (integer) --

            The size of the root volume.

          • UserVolumeSizeGib (integer) --

            The size of the user storage.

          • ComputeTypeName (string) --

            The compute type. For more information, see Amazon WorkSpaces Bundles.

        • ModificationStates (list) --

          The modification states of the WorkSpace.

          • (dict) --

            Describes a WorkSpace modification.

            • Resource (string) --

              The resource.

            • State (string) --

              The modification state.

    • NextToken (string) --

      The token to use to retrieve the next set of results, or null if no more results are available.