com.amazonaws.services.workspaces

## Class AmazonWorkspacesClient

- java.lang.Object
- - com.amazonaws.AmazonWebServiceClient
  - - com.amazonaws.services.workspaces.AmazonWorkspacesClient

All Implemented Interfaces:
  AmazonWorkspaces

Direct Known Subclasses:
  AmazonWorkspacesAsyncClient

    @ThreadSafe
    public class AmazonWorkspacesClient
    extends AmazonWebServiceClient
    implements AmazonWorkspaces

Client for accessing Amazon WorkSpaces. All service calls made using this client are blocking, and will not return until the service call completes.

<fullname>Amazon WorkSpaces Service</fullname>

This reference provides detailed information about the Amazon WorkSpaces operations.

### Field Summary

Fields
`protected static ClientConfigurationFactory` `configFactory` Client configuration factory providing ClientConfigurations tailored to this client

### Fields inherited from class com.amazonaws.AmazonWebServiceClient

`client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset`

### Fields inherited from interface com.amazonaws.services.workspaces.AmazonWorkspaces

`ENDPOINT_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`AmazonWorkspacesClient()` Constructs a new client to invoke service methods on Amazon WorkSpaces.
`AmazonWorkspacesClient(AWSCredentials awsCredentials)` Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials.
`AmazonWorkspacesClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials and client configuration options.
`AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider)` Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider.
`AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider and client configuration options.
`AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector)` Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider, client configuration options, and request metric collector.
`AmazonWorkspacesClient(ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on Amazon WorkSpaces.

### Method Summary

All Methods Instance Methods Concrete Methods
`CreateTagsResult` `createTags(CreateTagsRequest createTagsRequest)` Creates tags for a WorkSpace.
`CreateWorkspacesResult` `createWorkspaces(CreateWorkspacesRequest createWorkspacesRequest)` Creates one or more WorkSpaces.
`DeleteTagsResult` `deleteTags(DeleteTagsRequest deleteTagsRequest)` Deletes tags from a WorkSpace.
`DescribeTagsResult` `describeTags(DescribeTagsRequest describeTagsRequest)` Describes tags for a WorkSpace.
`DescribeWorkspaceBundlesResult` `describeWorkspaceBundles()` Simplified method form for invoking the DescribeWorkspaceBundles operation.
`DescribeWorkspaceBundlesResult` `describeWorkspaceBundles(DescribeWorkspaceBundlesRequest describeWorkspaceBundlesRequest)` Obtains information about the WorkSpace bundles that are available to your account in the specified region.
`DescribeWorkspaceDirectoriesResult` `describeWorkspaceDirectories()` Simplified method form for invoking the DescribeWorkspaceDirectories operation.
`DescribeWorkspaceDirectoriesResult` `describeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest describeWorkspaceDirectoriesRequest)` Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.
`DescribeWorkspacesResult` `describeWorkspaces()` Simplified method form for invoking the DescribeWorkspaces operation.
`DescribeWorkspacesResult` `describeWorkspaces(DescribeWorkspacesRequest describeWorkspacesRequest)` Obtains information about the specified WorkSpaces.
`DescribeWorkspacesConnectionStatusResult` `describeWorkspacesConnectionStatus(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest)` Describes the connection status of a specified WorkSpace.
`ResponseMetadata` `getCachedResponseMetadata(AmazonWebServiceRequest request)` Returns additional metadata for a previously executed successful, request, typically used for debugging issues where a service isn't acting as expected.
`ModifyWorkspacePropertiesResult` `modifyWorkspaceProperties(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest)` Modifies the WorkSpace properties, including the RunningMode and AutoStop time.
`RebootWorkspacesResult` `rebootWorkspaces(RebootWorkspacesRequest rebootWorkspacesRequest)` Reboots the specified WorkSpaces.
`RebuildWorkspacesResult` `rebuildWorkspaces(RebuildWorkspacesRequest rebuildWorkspacesRequest)` Rebuilds the specified WorkSpaces.
`StartWorkspacesResult` `startWorkspaces(StartWorkspacesRequest startWorkspacesRequest)` Starts the specified WorkSpaces.
`StopWorkspacesResult` `stopWorkspaces(StopWorkspacesRequest stopWorkspacesRequest)` Stops the specified WorkSpaces.
`TerminateWorkspacesResult` `terminateWorkspaces(TerminateWorkspacesRequest terminateWorkspacesRequest)` Terminates the specified WorkSpaces.

### Methods inherited from class com.amazonaws.AmazonWebServiceClient

`addRequestHandler, addRequestHandler, beforeMarshalling, calculateCRC32FromCompressedData, checkMutability, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, createSignerProvider, endClientExecution, endClientExecution, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerProvider, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, makeImmutable, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shutdown, useStrictHostNameVerification, withEndpoint, withRegion, withRegion, withTimeOffset`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazonaws.services.workspaces.AmazonWorkspaces

`setEndpoint, setRegion, shutdown`

### Field Detail

#### configFactory

    protected static final ClientConfigurationFactory configFactory

Client configuration factory providing ClientConfigurations tailored to this client

### Constructor Detail

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient()

Constructs a new client to invoke service methods on Amazon WorkSpaces. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

See Also:
  `DefaultAWSCredentialsProviderChain`

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on Amazon WorkSpaces. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `clientConfiguration` - The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy settings, retry counts, etc.).
See Also:
  `DefaultAWSCredentialsProviderChain`

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(AWSCredentials awsCredentials)

Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(AWSCredentials awsCredentials,
                                  ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy settings, retry counts, etc.).

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider)

Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider,
                                  ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy settings, retry counts, etc.).

#### AmazonWorkspacesClient

    public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider,
                                  ClientConfiguration clientConfiguration,
                                  RequestMetricCollector requestMetricCollector)

Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider, client configuration options, and request metric collector.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy settings, retry counts, etc.).
  `requestMetricCollector` - optional request metric collector

### Method Detail

#### createTags

    public CreateTagsResult createTags(CreateTagsRequest createTagsRequest)

Creates tags for a WorkSpace.

Specified by:
  `createTags` in interface `AmazonWorkspaces`
Parameters:
  `createTagsRequest` - The request of the CreateTags operation.
Returns:
  Result of the CreateTags operation returned by the service.
Throws:
  `ResourceNotFoundException` - The resource could not be found.
  `InvalidParameterValuesException` - One or more parameter values are not valid.
  `ResourceLimitExceededException` - Your resource limits have been exceeded.

#### createWorkspaces

    public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest createWorkspacesRequest)

Creates one or more WorkSpaces.

<note>

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

</note>

Specified by:
  `createWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `createWorkspacesRequest` - Contains the inputs for the CreateWorkspaces operation.
Returns:
  Result of the CreateWorkspaces operation returned by the service.
Throws:
  `ResourceLimitExceededException` - Your resource limits have been exceeded.
  `InvalidParameterValuesException` - One or more parameter values are not valid.

#### deleteTags

    public DeleteTagsResult deleteTags(DeleteTagsRequest deleteTagsRequest)

Deletes tags from a WorkSpace.

Specified by:
  `deleteTags` in interface `AmazonWorkspaces`
Parameters:
  `deleteTagsRequest` - The request of the DeleteTags operation.
Returns:
  Result of the DeleteTags operation returned by the service.
Throws:
  `ResourceNotFoundException` - The resource could not be found.
  `InvalidParameterValuesException` - One or more parameter values are not valid.

#### describeTags

    public DescribeTagsResult describeTags(DescribeTagsRequest describeTagsRequest)

Describes tags for a WorkSpace.

Specified by:
  `describeTags` in interface `AmazonWorkspaces`
Parameters:
  `describeTagsRequest` - The request of the DescribeTags operation.
Returns:
  Result of the DescribeTags operation returned by the service.
Throws:
  `ResourceNotFoundException` - The resource could not be found.

#### describeWorkspaceBundles

    public DescribeWorkspaceBundlesResult describeWorkspaceBundles(DescribeWorkspaceBundlesRequest describeWorkspaceBundlesRequest)

Obtains information about the WorkSpace bundles that are available to your account in the specified region.

You can filter the results with either the `BundleIds` parameter, or the `Owner` parameter, but not both.

This operation supports pagination with the use of the `NextToken` request and response parameters. If more results are available, the `NextToken` response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

Specified by:
  `describeWorkspaceBundles` in interface `AmazonWorkspaces`
Parameters:
  `describeWorkspaceBundlesRequest` - Contains the inputs for the DescribeWorkspaceBundles operation.
Returns:
  Result of the DescribeWorkspaceBundles operation returned by the service.
Throws:
  `InvalidParameterValuesException` - One or more parameter values are not valid.

#### describeWorkspaceBundles

    public DescribeWorkspaceBundlesResult describeWorkspaceBundles()

Description copied from interface: `AmazonWorkspaces`
Simplified method form for invoking the DescribeWorkspaceBundles operation.

Specified by:
  `describeWorkspaceBundles` in interface `AmazonWorkspaces`
See Also:
  `AmazonWorkspaces.describeWorkspaceBundles(DescribeWorkspaceBundlesRequest)`

#### describeWorkspaceDirectories

    public DescribeWorkspaceDirectoriesResult describeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest describeWorkspaceDirectoriesRequest)

Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.

This operation supports pagination with the use of the `NextToken` request and response parameters. If more results are available, the `NextToken` response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

Specified by:
  `describeWorkspaceDirectories` in interface `AmazonWorkspaces`
Parameters:
  `describeWorkspaceDirectoriesRequest` - Contains the inputs for the DescribeWorkspaceDirectories operation.
Returns:
  Result of the DescribeWorkspaceDirectories operation returned by the service.
Throws:
  `InvalidParameterValuesException` - One or more parameter values are not valid.

#### describeWorkspaceDirectories

    public DescribeWorkspaceDirectoriesResult describeWorkspaceDirectories()

Description copied from interface: `AmazonWorkspaces`
Simplified method form for invoking the DescribeWorkspaceDirectories operation.

Specified by:
  `describeWorkspaceDirectories` in interface `AmazonWorkspaces`
See Also:
  `AmazonWorkspaces.describeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest)`

#### describeWorkspaces

    public DescribeWorkspacesResult describeWorkspaces(DescribeWorkspacesRequest describeWorkspacesRequest)

Obtains information about the specified WorkSpaces.

Only one of the filter parameters, such as `BundleId`, `DirectoryId`, or `WorkspaceIds`, can be specified at a time.

This operation supports pagination with the use of the `NextToken` request and response parameters. If more results are available, the `NextToken` response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

Specified by:
  `describeWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `describeWorkspacesRequest` - Contains the inputs for the DescribeWorkspaces operation.
Returns:
  Result of the DescribeWorkspaces operation returned by the service.
Throws:
  `InvalidParameterValuesException` - One or more parameter values are not valid.
  `ResourceUnavailableException` - The specified resource is not available.

#### describeWorkspaces

    public DescribeWorkspacesResult describeWorkspaces()

Description copied from interface: `AmazonWorkspaces`
Simplified method form for invoking the DescribeWorkspaces operation.

Specified by:
  `describeWorkspaces` in interface `AmazonWorkspaces`
See Also:
  `AmazonWorkspaces.describeWorkspaces(DescribeWorkspacesRequest)`

#### describeWorkspacesConnectionStatus

    public DescribeWorkspacesConnectionStatusResult describeWorkspacesConnectionStatus(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest)

Describes the connection status of a specified WorkSpace.

Specified by:
  `describeWorkspacesConnectionStatus` in interface `AmazonWorkspaces`
Parameters:
  `describeWorkspacesConnectionStatusRequest` -
Returns:
  Result of the DescribeWorkspacesConnectionStatus operation returned by the service.
Throws:
  `InvalidParameterValuesException` - One or more parameter values are not valid.

#### modifyWorkspaceProperties

    public ModifyWorkspacePropertiesResult modifyWorkspaceProperties(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest)

Modifies the WorkSpace properties, including the RunningMode and AutoStop time.

Specified by:
  `modifyWorkspaceProperties` in interface `AmazonWorkspaces`
Parameters:
  `modifyWorkspacePropertiesRequest` -
Returns:
  Result of the ModifyWorkspaceProperties operation returned by the service.
Throws:
  `InvalidParameterValuesException` - One or more parameter values are not valid.
  `InvalidResourceStateException` - The specified WorkSpace has an invalid state for this operation.
  `OperationInProgressException` - The properties of this WorkSpace are currently being modified. Try again in a moment.
  `UnsupportedWorkspaceConfigurationException` - The WorkSpace does not have the supported configuration for this operation. For more information, see the Amazon WorkSpaces Administration Guide.
  `ResourceNotFoundException` - The resource could not be found.
  `AccessDeniedException`
  `ResourceUnavailableException` - The specified resource is not available.

#### rebootWorkspaces

    public RebootWorkspacesResult rebootWorkspaces(RebootWorkspacesRequest rebootWorkspacesRequest)

Reboots the specified WorkSpaces.

To be able to reboot a WorkSpace, the WorkSpace must have a State of `AVAILABLE`, `IMPAIRED`, or `INOPERABLE`.

<note>

This operation is asynchronous and returns before the WorkSpaces have rebooted.

</note>

Specified by:
  `rebootWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `rebootWorkspacesRequest` - Contains the inputs for the RebootWorkspaces operation.
Returns:
  Result of the RebootWorkspaces operation returned by the service.

#### rebuildWorkspaces

    public RebuildWorkspacesResult rebuildWorkspaces(RebuildWorkspacesRequest rebuildWorkspacesRequest)

Rebuilds the specified WorkSpaces.

Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. Rebuilding a WorkSpace causes the following to occur:

- The system is restored to the image of the bundle that the WorkSpace is created from. Any applications that have been installed, or system settings that have been made since the WorkSpace was created will be lost.

- The data drive (D drive) is re-created from the last automatic snapshot taken of the data drive. The current contents of the data drive are overwritten. Automatic snapshots of the data drive are taken every 12 hours, so the snapshot can be as much as 12 hours old.

To be able to rebuild a WorkSpace, the WorkSpace must have a State of `AVAILABLE` or `ERROR`.

<note>

This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

</note>

Specified by:
  `rebuildWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `rebuildWorkspacesRequest` - Contains the inputs for the RebuildWorkspaces operation.
Returns:
  Result of the RebuildWorkspaces operation returned by the service.

#### startWorkspaces

    public StartWorkspacesResult startWorkspaces(StartWorkspacesRequest startWorkspacesRequest)

Starts the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to “STOPPED.”

Specified by:
  `startWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `startWorkspacesRequest` -
Returns:
  Result of the StartWorkspaces operation returned by the service.

#### stopWorkspaces

    public StopWorkspacesResult stopWorkspaces(StopWorkspacesRequest stopWorkspacesRequest)

Stops the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

Specified by:
  `stopWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `stopWorkspacesRequest` -
Returns:
  Result of the StopWorkspaces operation returned by the service.

#### terminateWorkspaces

    public TerminateWorkspacesResult terminateWorkspaces(TerminateWorkspacesRequest terminateWorkspacesRequest)

Terminates the specified WorkSpaces.

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is not maintained and will be destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

You can terminate a WorkSpace that is in any state except `SUSPENDED`.

<note>

This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

</note>

Specified by:
  `terminateWorkspaces` in interface `AmazonWorkspaces`
Parameters:
  `terminateWorkspacesRequest` - Contains the inputs for the TerminateWorkspaces operation.
Returns:
  Result of the TerminateWorkspaces operation returned by the service.

#### getCachedResponseMetadata

    public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)

Returns additional metadata for a previously executed successful, request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.

Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.

Specified by:
  `getCachedResponseMetadata` in interface `AmazonWorkspaces`
Parameters:
  `request` - The originally executed request
Returns:
  The response metadata for the specified request, or null if none is available.