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.

Note

The MANUAL running mode value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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.

        Note

        The MANUAL value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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

              Note

              The MANUAL value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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

          Note

          After a WorkSpace is terminated, the TERMINATED state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.

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

            Note

            The MANUAL value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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

          Note

          After a WorkSpace is terminated, the TERMINATED state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.

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

            Note

            The MANUAL value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

          • 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_GRAPHICS_G4DN_BYOP', 'BYOL_REGULAR_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.

Note

The BYOL_REGULAR_BYOP and BYOL_GRAPHICS_G4DN_BYOP values are only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use these values. For more information, see Amazon WorkSpaces Core.

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.

Note

Although this parameter is an array, only one item is allowed at this time.

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

Note

The MANUAL running mode value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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.

    Note

    The MANUAL value is only supported by Amazon WorkSpaces Core. Contact your account team to be allow-listed to use this value. For more information, see Amazon WorkSpaces Core.

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