com.amazonaws.services.workspaces

## Class AmazonWorkspacesAsyncClient

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

All Implemented Interfaces:
  AmazonWorkspaces, AmazonWorkspacesAsync

    @ThreadSafe
    public class AmazonWorkspacesAsyncClient
    extends AmazonWorkspacesClient
    implements AmazonWorkspacesAsync

Client for accessing Amazon WorkSpaces asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an `AsyncHandler` can be used to receive notification when an asynchronous operation completes.

<fullname>Amazon WorkSpaces Service</fullname>

This reference provides detailed information about the Amazon WorkSpaces operations.

### Field Summary

### Fields inherited from class com.amazonaws.services.workspaces.AmazonWorkspacesClient

`configFactory`

### 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
`AmazonWorkspacesAsyncClient()` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces.
`AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials.
`AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials, executor service, and client configuration options.
`AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials and executor service.
`AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider.
`AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the provided AWS account credentials provider and client configuration options.
`AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider, executor service, and client configuration options.
`AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider and executor service.
`AmazonWorkspacesAsyncClient(ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces.

### Method Summary

All Methods Instance Methods Concrete Methods
`Future<CreateTagsResult>` `createTagsAsync(CreateTagsRequest request)` Creates tags for a WorkSpace.
`Future<CreateTagsResult>` `createTagsAsync(CreateTagsRequest request, AsyncHandler<CreateTagsRequest,CreateTagsResult> asyncHandler)` Creates tags for a WorkSpace.
`Future<CreateWorkspacesResult>` `createWorkspacesAsync(CreateWorkspacesRequest request)` Creates one or more WorkSpaces.
`Future<CreateWorkspacesResult>` `createWorkspacesAsync(CreateWorkspacesRequest request, AsyncHandler<CreateWorkspacesRequest,CreateWorkspacesResult> asyncHandler)` Creates one or more WorkSpaces.
`Future<DeleteTagsResult>` `deleteTagsAsync(DeleteTagsRequest request)` Deletes tags from a WorkSpace.
`Future<DeleteTagsResult>` `deleteTagsAsync(DeleteTagsRequest request, AsyncHandler<DeleteTagsRequest,DeleteTagsResult> asyncHandler)` Deletes tags from a WorkSpace.
`Future<DescribeTagsResult>` `describeTagsAsync(DescribeTagsRequest request)` Describes tags for a WorkSpace.
`Future<DescribeTagsResult>` `describeTagsAsync(DescribeTagsRequest request, AsyncHandler<DescribeTagsRequest,DescribeTagsResult> asyncHandler)` Describes tags for a WorkSpace.
`Future<DescribeWorkspaceBundlesResult>` `describeWorkspaceBundlesAsync()` Simplified method form for invoking the DescribeWorkspaceBundles operation.
`Future<DescribeWorkspaceBundlesResult>` `describeWorkspaceBundlesAsync(AsyncHandler<DescribeWorkspaceBundlesRequest,DescribeWorkspaceBundlesResult> asyncHandler)` Simplified method form for invoking the DescribeWorkspaceBundles operation with an AsyncHandler.
`Future<DescribeWorkspaceBundlesResult>` `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest request)` Obtains information about the WorkSpace bundles that are available to your account in the specified region.
`Future<DescribeWorkspaceBundlesResult>` `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest request, AsyncHandler<DescribeWorkspaceBundlesRequest,DescribeWorkspaceBundlesResult> asyncHandler)` Obtains information about the WorkSpace bundles that are available to your account in the specified region.
`Future<DescribeWorkspaceDirectoriesResult>` `describeWorkspaceDirectoriesAsync()` Simplified method form for invoking the DescribeWorkspaceDirectories operation.
`Future<DescribeWorkspaceDirectoriesResult>` `describeWorkspaceDirectoriesAsync(AsyncHandler<DescribeWorkspaceDirectoriesRequest,DescribeWorkspaceDirectoriesResult> asyncHandler)` Simplified method form for invoking the DescribeWorkspaceDirectories operation with an AsyncHandler.
`Future<DescribeWorkspaceDirectoriesResult>` `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest request)` Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.
`Future<DescribeWorkspaceDirectoriesResult>` `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest request, AsyncHandler<DescribeWorkspaceDirectoriesRequest,DescribeWorkspaceDirectoriesResult> asyncHandler)` Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.
`Future<DescribeWorkspacesResult>` `describeWorkspacesAsync()` Simplified method form for invoking the DescribeWorkspaces operation.
`Future<DescribeWorkspacesResult>` `describeWorkspacesAsync(AsyncHandler<DescribeWorkspacesRequest,DescribeWorkspacesResult> asyncHandler)` Simplified method form for invoking the DescribeWorkspaces operation with an AsyncHandler.
`Future<DescribeWorkspacesResult>` `describeWorkspacesAsync(DescribeWorkspacesRequest request)` Obtains information about the specified WorkSpaces.
`Future<DescribeWorkspacesResult>` `describeWorkspacesAsync(DescribeWorkspacesRequest request, AsyncHandler<DescribeWorkspacesRequest,DescribeWorkspacesResult> asyncHandler)` Obtains information about the specified WorkSpaces.
`Future<DescribeWorkspacesConnectionStatusResult>` `describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest request)` Describes the connection status of a specified WorkSpace.
`Future<DescribeWorkspacesConnectionStatusResult>` `describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest request, AsyncHandler<DescribeWorkspacesConnectionStatusRequest,DescribeWorkspacesConnectionStatusResult> asyncHandler)` Describes the connection status of a specified WorkSpace.
`ExecutorService` `getExecutorService()` Returns the executor service used by this client to execute async requests.
`Future<ModifyWorkspacePropertiesResult>` `modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest request)` Modifies the WorkSpace properties, including the RunningMode and AutoStop time.
`Future<ModifyWorkspacePropertiesResult>` `modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest request, AsyncHandler<ModifyWorkspacePropertiesRequest,ModifyWorkspacePropertiesResult> asyncHandler)` Modifies the WorkSpace properties, including the RunningMode and AutoStop time.
`Future<RebootWorkspacesResult>` `rebootWorkspacesAsync(RebootWorkspacesRequest request)` Reboots the specified WorkSpaces.
`Future<RebootWorkspacesResult>` `rebootWorkspacesAsync(RebootWorkspacesRequest request, AsyncHandler<RebootWorkspacesRequest,RebootWorkspacesResult> asyncHandler)` Reboots the specified WorkSpaces.
`Future<RebuildWorkspacesResult>` `rebuildWorkspacesAsync(RebuildWorkspacesRequest request)` Rebuilds the specified WorkSpaces.
`Future<RebuildWorkspacesResult>` `rebuildWorkspacesAsync(RebuildWorkspacesRequest request, AsyncHandler<RebuildWorkspacesRequest,RebuildWorkspacesResult> asyncHandler)` Rebuilds the specified WorkSpaces.
`void` `shutdown()` Shuts down the client, releasing all managed resources.
`Future<StartWorkspacesResult>` `startWorkspacesAsync(StartWorkspacesRequest request)` Starts the specified WorkSpaces.
`Future<StartWorkspacesResult>` `startWorkspacesAsync(StartWorkspacesRequest request, AsyncHandler<StartWorkspacesRequest,StartWorkspacesResult> asyncHandler)` Starts the specified WorkSpaces.
`Future<StopWorkspacesResult>` `stopWorkspacesAsync(StopWorkspacesRequest request)` Stops the specified WorkSpaces.
`Future<StopWorkspacesResult>` `stopWorkspacesAsync(StopWorkspacesRequest request, AsyncHandler<StopWorkspacesRequest,StopWorkspacesResult> asyncHandler)` Stops the specified WorkSpaces.
`Future<TerminateWorkspacesResult>` `terminateWorkspacesAsync(TerminateWorkspacesRequest request)` Terminates the specified WorkSpaces.
`Future<TerminateWorkspacesResult>` `terminateWorkspacesAsync(TerminateWorkspacesRequest request, AsyncHandler<TerminateWorkspacesRequest,TerminateWorkspacesResult> asyncHandler)` Terminates the specified WorkSpaces.

### Methods inherited from class com.amazonaws.services.workspaces.AmazonWorkspacesClient

`createTags, createWorkspaces, deleteTags, describeTags, describeWorkspaceBundles, describeWorkspaceBundles, describeWorkspaceDirectories, describeWorkspaceDirectories, describeWorkspaces, describeWorkspaces, describeWorkspacesConnectionStatus, getCachedResponseMetadata, modifyWorkspaceProperties, rebootWorkspaces, rebuildWorkspaces, startWorkspaces, stopWorkspaces, terminateWorkspaces`

### 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, 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

`createTags, createWorkspaces, deleteTags, describeTags, describeWorkspaceBundles, describeWorkspaceBundles, describeWorkspaceDirectories, describeWorkspaceDirectories, describeWorkspaces, describeWorkspaces, describeWorkspacesConnectionStatus, getCachedResponseMetadata, modifyWorkspaceProperties, rebootWorkspaces, rebuildWorkspaces, setEndpoint, setRegion, startWorkspaces, stopWorkspaces, terminateWorkspaces`

### Constructor Detail

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient()

Constructs a new asynchronous 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
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(ClientConfiguration clientConfiguration)

Constructs a new asynchronous 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
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

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

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials)

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

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

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

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials and executor service. Default client settings will be used.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentials awsCredentials,
                                       ClientConfiguration clientConfiguration,
                                       ExecutorService executorService)

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

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider)

Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider. Default client settings will be used.

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
See Also:
  `Executors.newFixedThreadPool(int)`

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ClientConfiguration clientConfiguration)

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

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on Amazon WorkSpaces using the specified AWS account credentials provider and executor service. Default client settings will be used.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonWorkspacesAsyncClient

    public AmazonWorkspacesAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ClientConfiguration clientConfiguration,
                                       ExecutorService executorService)

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

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

### Method Detail

#### getExecutorService

    public ExecutorService getExecutorService()

Returns the executor service used by this client to execute async requests.

Returns:
  The executor service used by this client to execute async requests.

#### createTagsAsync

    public Future<CreateTagsResult> createTagsAsync(CreateTagsRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

Creates tags for a WorkSpace.

Specified by:
  `createTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the CreateTags operation.
Returns:
  A Java Future containing the result of the CreateTags operation returned by the service.

#### createTagsAsync

    public Future<CreateTagsResult> createTagsAsync(CreateTagsRequest request,
                                                    AsyncHandler<CreateTagsRequest,CreateTagsResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

Creates tags for a WorkSpace.

Specified by:
  `createTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the CreateTags operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateTags operation returned by the service.

#### createWorkspacesAsync

    public Future<CreateWorkspacesResult> createWorkspacesAsync(CreateWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

Creates one or more WorkSpaces.

<note>

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

</note>

Specified by:
  `createWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the CreateWorkspaces operation.
Returns:
  A Java Future containing the result of the CreateWorkspaces operation returned by the service.

#### createWorkspacesAsync

    public Future<CreateWorkspacesResult> createWorkspacesAsync(CreateWorkspacesRequest request,
                                                                AsyncHandler<CreateWorkspacesRequest,CreateWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

Creates one or more WorkSpaces.

<note>

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

</note>

Specified by:
  `createWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the CreateWorkspaces operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateWorkspaces operation returned by the service.

#### deleteTagsAsync

    public Future<DeleteTagsResult> deleteTagsAsync(DeleteTagsRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

Deletes tags from a WorkSpace.

Specified by:
  `deleteTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the DeleteTags operation.
Returns:
  A Java Future containing the result of the DeleteTags operation returned by the service.

#### deleteTagsAsync

    public Future<DeleteTagsResult> deleteTagsAsync(DeleteTagsRequest request,
                                                    AsyncHandler<DeleteTagsRequest,DeleteTagsResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

Deletes tags from a WorkSpace.

Specified by:
  `deleteTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the DeleteTags operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteTags operation returned by the service.

#### describeTagsAsync

    public Future<DescribeTagsResult> describeTagsAsync(DescribeTagsRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

Describes tags for a WorkSpace.

Specified by:
  `describeTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the DescribeTags operation.
Returns:
  A Java Future containing the result of the DescribeTags operation returned by the service.

#### describeTagsAsync

    public Future<DescribeTagsResult> describeTagsAsync(DescribeTagsRequest request,
                                                        AsyncHandler<DescribeTagsRequest,DescribeTagsResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

Describes tags for a WorkSpace.

Specified by:
  `describeTagsAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - The request of the DescribeTags operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DescribeTags operation returned by the service.

#### describeWorkspaceBundlesAsync

    public Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspaceBundlesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaceBundles operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceBundles operation returned by the service.

#### describeWorkspaceBundlesAsync

    public Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest request,
                                                                                AsyncHandler<DescribeWorkspaceBundlesRequest,DescribeWorkspaceBundlesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspaceBundlesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaceBundles operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceBundles operation returned by the service.

#### describeWorkspaceBundlesAsync

    public Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync()

Simplified method form for invoking the DescribeWorkspaceBundles operation.

Specified by:
  `describeWorkspaceBundlesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest)`

#### describeWorkspaceBundlesAsync

    public Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync(AsyncHandler<DescribeWorkspaceBundlesRequest,DescribeWorkspaceBundlesResult> asyncHandler)

Simplified method form for invoking the DescribeWorkspaceBundles operation with an AsyncHandler.

Specified by:
  `describeWorkspaceBundlesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspaceDirectoriesAsync

    public Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspaceDirectoriesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaceDirectories operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceDirectories operation returned by the service.

#### describeWorkspaceDirectoriesAsync

    public Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest request,
                                                                                        AsyncHandler<DescribeWorkspaceDirectoriesRequest,DescribeWorkspaceDirectoriesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspaceDirectoriesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaceDirectories operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceDirectories operation returned by the service.

#### describeWorkspaceDirectoriesAsync

    public Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync()

Simplified method form for invoking the DescribeWorkspaceDirectories operation.

Specified by:
  `describeWorkspaceDirectoriesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest)`

#### describeWorkspaceDirectoriesAsync

    public Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync(AsyncHandler<DescribeWorkspaceDirectoriesRequest,DescribeWorkspaceDirectoriesResult> asyncHandler)

Simplified method form for invoking the DescribeWorkspaceDirectories operation with an AsyncHandler.

Specified by:
  `describeWorkspaceDirectoriesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspacesAsync

    public Future<DescribeWorkspacesResult> describeWorkspacesAsync(DescribeWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaces operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaces operation returned by the service.

#### describeWorkspacesAsync

    public Future<DescribeWorkspacesResult> describeWorkspacesAsync(DescribeWorkspacesRequest request,
                                                                    AsyncHandler<DescribeWorkspacesRequest,DescribeWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `describeWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the DescribeWorkspaces operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaces operation returned by the service.

#### describeWorkspacesAsync

    public Future<DescribeWorkspacesResult> describeWorkspacesAsync()

Simplified method form for invoking the DescribeWorkspaces operation.

Specified by:
  `describeWorkspacesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspacesAsync(DescribeWorkspacesRequest)`

#### describeWorkspacesAsync

    public Future<DescribeWorkspacesResult> describeWorkspacesAsync(AsyncHandler<DescribeWorkspacesRequest,DescribeWorkspacesResult> asyncHandler)

Simplified method form for invoking the DescribeWorkspaces operation with an AsyncHandler.

Specified by:
  `describeWorkspacesAsync` in interface `AmazonWorkspacesAsync`
See Also:
  `describeWorkspacesAsync(DescribeWorkspacesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspacesConnectionStatusAsync

    public Future<DescribeWorkspacesConnectionStatusResult> describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

Describes the connection status of a specified WorkSpace.

Specified by:
  `describeWorkspacesConnectionStatusAsync` in interface `AmazonWorkspacesAsync`
Returns:
  A Java Future containing the result of the DescribeWorkspacesConnectionStatus operation returned by the service.

#### describeWorkspacesConnectionStatusAsync

    public Future<DescribeWorkspacesConnectionStatusResult> describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest request,
                                                                                                    AsyncHandler<DescribeWorkspacesConnectionStatusRequest,DescribeWorkspacesConnectionStatusResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

Describes the connection status of a specified WorkSpace.

Specified by:
  `describeWorkspacesConnectionStatusAsync` in interface `AmazonWorkspacesAsync`
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DescribeWorkspacesConnectionStatus operation returned by the service.

#### modifyWorkspacePropertiesAsync

    public Future<ModifyWorkspacePropertiesResult> modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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

Specified by:
  `modifyWorkspacePropertiesAsync` in interface `AmazonWorkspacesAsync`
Returns:
  A Java Future containing the result of the ModifyWorkspaceProperties operation returned by the service.

#### modifyWorkspacePropertiesAsync

    public Future<ModifyWorkspacePropertiesResult> modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest request,
                                                                                  AsyncHandler<ModifyWorkspacePropertiesRequest,ModifyWorkspacePropertiesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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

Specified by:
  `modifyWorkspacePropertiesAsync` in interface `AmazonWorkspacesAsync`
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ModifyWorkspaceProperties operation returned by the service.

#### rebootWorkspacesAsync

    public Future<RebootWorkspacesResult> rebootWorkspacesAsync(RebootWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `rebootWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the RebootWorkspaces operation.
Returns:
  A Java Future containing the result of the RebootWorkspaces operation returned by the service.

#### rebootWorkspacesAsync

    public Future<RebootWorkspacesResult> rebootWorkspacesAsync(RebootWorkspacesRequest request,
                                                                AsyncHandler<RebootWorkspacesRequest,RebootWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `rebootWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the RebootWorkspaces operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the RebootWorkspaces operation returned by the service.

#### rebuildWorkspacesAsync

    public Future<RebuildWorkspacesResult> rebuildWorkspacesAsync(RebuildWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `rebuildWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the RebuildWorkspaces operation.
Returns:
  A Java Future containing the result of the RebuildWorkspaces operation returned by the service.

#### rebuildWorkspacesAsync

    public Future<RebuildWorkspacesResult> rebuildWorkspacesAsync(RebuildWorkspacesRequest request,
                                                                  AsyncHandler<RebuildWorkspacesRequest,RebuildWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `rebuildWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the RebuildWorkspaces operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the RebuildWorkspaces operation returned by the service.

#### startWorkspacesAsync

    public Future<StartWorkspacesResult> startWorkspacesAsync(StartWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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

Specified by:
  `startWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Returns:
  A Java Future containing the result of the StartWorkspaces operation returned by the service.

#### startWorkspacesAsync

    public Future<StartWorkspacesResult> startWorkspacesAsync(StartWorkspacesRequest request,
                                                              AsyncHandler<StartWorkspacesRequest,StartWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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

Specified by:
  `startWorkspacesAsync` in interface `AmazonWorkspacesAsync`
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the StartWorkspaces operation returned by the service.

#### stopWorkspacesAsync

    public Future<StopWorkspacesResult> stopWorkspacesAsync(StopWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `stopWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Returns:
  A Java Future containing the result of the StopWorkspaces operation returned by the service.

#### stopWorkspacesAsync

    public Future<StopWorkspacesResult> stopWorkspacesAsync(StopWorkspacesRequest request,
                                                            AsyncHandler<StopWorkspacesRequest,StopWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `stopWorkspacesAsync` in interface `AmazonWorkspacesAsync`
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the StopWorkspaces operation returned by the service.

#### terminateWorkspacesAsync

    public Future<TerminateWorkspacesResult> terminateWorkspacesAsync(TerminateWorkspacesRequest request)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `terminateWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the TerminateWorkspaces operation.
Returns:
  A Java Future containing the result of the TerminateWorkspaces operation returned by the service.

#### terminateWorkspacesAsync

    public Future<TerminateWorkspacesResult> terminateWorkspacesAsync(TerminateWorkspacesRequest request,
                                                                      AsyncHandler<TerminateWorkspacesRequest,TerminateWorkspacesResult> asyncHandler)

Description copied from interface: `AmazonWorkspacesAsync`

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:
  `terminateWorkspacesAsync` in interface `AmazonWorkspacesAsync`
Parameters:
  `request` - Contains the inputs for the TerminateWorkspaces operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the TerminateWorkspaces operation returned by the service.

#### shutdown

    public void shutdown()

Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call `getExecutorService().shutdown()` followed by `getExecutorService().awaitTermination()` prior to calling this method.

Specified by:
  `shutdown` in interface `AmazonWorkspaces`
Overrides:
  `shutdown` in class `AmazonWebServiceClient`