Amazon WorkSpaces

2022/10/25 - Amazon WorkSpaces - 4 updated api methods

Changes  This release adds new enums for supporting Workspaces Core features, including creating Manual running mode workspaces, importing regular Workspaces Core images and importing g4dn Workspaces Core images.

CreateWorkspaces (updated) Link ¶
Changes (request, response)
Request
{'Workspaces': {'WorkspaceProperties': {'RunningMode': {'MANUAL'}}}}
Response
{'FailedRequests': {'WorkspaceRequest': {'WorkspaceProperties': {'RunningMode': {'MANUAL'}}}},
 'PendingRequests': {'WorkspaceProperties': {'RunningMode': {'MANUAL'}}}}

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'|'MANUAL',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'|'GRAPHICS_G4DN'|'GRAPHICSPRO_G4DN'
            },
            '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 Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

    • UserName (string) -- [REQUIRED]

      The user name of the user for the WorkSpace. This user name must exist in the 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 symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

    • 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. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

      • UserVolumeSizeGib (integer) --

        The size of the user storage. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

      • 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'|'MANUAL',
                    'RunningModeAutoStopTimeoutInMinutes': 123,
                    'RootVolumeSizeGib': 123,
                    'UserVolumeSizeGib': 123,
                    'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'|'GRAPHICS_G4DN'|'GRAPHICSPRO_G4DN'
                },
                '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'|'MANUAL',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'|'GRAPHICS_G4DN'|'GRAPHICSPRO_G4DN'
            },
            '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 Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

          • UserName (string) --

            The user name of the user for the WorkSpace. This user name must exist in the 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 symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

          • 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. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

            • UserVolumeSizeGib (integer) --

              The size of the user storage. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

            • 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 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. The format of this name varies. For more information, see Launch a WorkSpace.

        • VolumeEncryptionKey (string) --

          The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

        • 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. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

          • UserVolumeSizeGib (integer) --

            The size of the user storage. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

          • 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': {'WorkspaceProperties': {'RunningMode': {'MANUAL'}}}}

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'|'MANUAL',
                'RunningModeAutoStopTimeoutInMinutes': 123,
                'RootVolumeSizeGib': 123,
                'UserVolumeSizeGib': 123,
                'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'|'GRAPHICS_G4DN'|'GRAPHICSPRO_G4DN'
            },
            '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 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. The format of this name varies. For more information, see Launch a WorkSpace.

        • VolumeEncryptionKey (string) --

          The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

        • 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. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

          • UserVolumeSizeGib (integer) --

            The size of the user storage. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

          • 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 page of results. This value is null when there are no more results to return.

ImportWorkspaceImage (updated) Link ¶
Changes (request)
{'IngestionProcess': {'BYOL_REGULAR_BYOP', 'BYOL_GRAPHICS_G4DN_BYOP'}}

Imports the specified Windows 10 Bring Your Own License (BYOL) or Windows Server 2016 BYOL image into Amazon WorkSpaces. The image must be an already licensed Amazon EC2 image that is in your Amazon Web Services account, and you must own the image. For more information about creating BYOL images, see Bring Your Own Windows Desktop Licenses.

See also: AWS API Documentation

Request Syntax

client.import_workspace_image(
    Ec2ImageId='string',
    IngestionProcess='BYOL_REGULAR'|'BYOL_GRAPHICS'|'BYOL_GRAPHICSPRO'|'BYOL_GRAPHICS_G4DN'|'BYOL_REGULAR_WSP'|'BYOL_REGULAR_BYOP'|'BYOL_GRAPHICS_G4DN_BYOP',
    ImageName='string',
    ImageDescription='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    Applications=[
        'Microsoft_Office_2016'|'Microsoft_Office_2019',
    ]
)
type Ec2ImageId:

string

param Ec2ImageId:

[REQUIRED]

The identifier of the EC2 image.

type IngestionProcess:

string

param IngestionProcess:

[REQUIRED]

The ingestion process to be used when importing the image, depending on which protocol you want to use for your BYOL Workspace image, either PCoIP, WorkSpaces Streaming Protocol (WSP), or bring your own protocol (BYOP). To use WSP, specify a value that ends in _WSP. To use PCoIP, specify a value that does not end in _WSP. To use BYOP, specify a value that ends in _BYOP.

For non-GPU-enabled bundles (bundles other than Graphics or GraphicsPro), specify BYOL_REGULAR, BYOL_REGULAR_WSP, or BYOL_REGULAR_BYOP, depending on the protocol.

type ImageName:

string

param ImageName:

[REQUIRED]

The name of the WorkSpace image.

type ImageDescription:

string

param ImageDescription:

[REQUIRED]

The description of the WorkSpace image.

type Tags:

list

param Tags:

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

  • (dict) --

    Describes a tag.

    • Key (string) -- [REQUIRED]

      The key of the tag.

    • Value (string) --

      The value of the tag.

type Applications:

list

param Applications:

If specified, the version of Microsoft Office to subscribe to. Valid only for Windows 10 BYOL images. For more information about subscribing to Office for BYOL images, see Bring Your Own Windows Desktop Licenses.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'ImageId': 'string'
}

Response Structure

  • (dict) --

    • ImageId (string) --

      The identifier of the WorkSpace image.

ModifyWorkspaceProperties (updated) Link ¶
Changes (request)
{'WorkspaceProperties': {'RunningMode': {'MANUAL'}}}

Modifies the specified WorkSpace properties. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

See also: AWS API Documentation

Request Syntax

client.modify_workspace_properties(
    WorkspaceId='string',
    WorkspaceProperties={
        'RunningMode': 'AUTO_STOP'|'ALWAYS_ON'|'MANUAL',
        'RunningModeAutoStopTimeoutInMinutes': 123,
        'RootVolumeSizeGib': 123,
        'UserVolumeSizeGib': 123,
        'ComputeTypeName': 'VALUE'|'STANDARD'|'PERFORMANCE'|'POWER'|'GRAPHICS'|'POWERPRO'|'GRAPHICSPRO'|'GRAPHICS_G4DN'|'GRAPHICSPRO_G4DN'
    }
)
type WorkspaceId:

string

param WorkspaceId:

[REQUIRED]

The identifier of the WorkSpace.

type WorkspaceProperties:

dict

param WorkspaceProperties:

[REQUIRED]

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. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

  • UserVolumeSizeGib (integer) --

    The size of the user storage. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.

  • ComputeTypeName (string) --

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

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --