com.amazonaws.services.workspaces

## Interface AmazonWorkspacesAsync

All Superinterfaces:
  AmazonWorkspaces

All Known Implementing Classes:
  AbstractAmazonWorkspacesAsync, AmazonWorkspacesAsyncClient

    public interface AmazonWorkspacesAsync
    extends AmazonWorkspaces

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

Note: Do not directly implement this interface, new methods are added to it regularly. Extend from `AbstractAmazonWorkspacesAsync` instead.

<fullname>Amazon WorkSpaces Service</fullname>

This reference provides detailed information about the Amazon WorkSpaces operations.

### Field Summary

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

`ENDPOINT_PREFIX`

### Method Summary

All Methods Instance Methods Abstract Methods
`Future<CreateTagsResult>` `createTagsAsync(CreateTagsRequest createTagsRequest)` Creates tags for a WorkSpace.
`Future<CreateTagsResult>` `createTagsAsync(CreateTagsRequest createTagsRequest, AsyncHandler<CreateTagsRequest,CreateTagsResult> asyncHandler)` Creates tags for a WorkSpace.
`Future<CreateWorkspacesResult>` `createWorkspacesAsync(CreateWorkspacesRequest createWorkspacesRequest)` Creates one or more WorkSpaces.
`Future<CreateWorkspacesResult>` `createWorkspacesAsync(CreateWorkspacesRequest createWorkspacesRequest, AsyncHandler<CreateWorkspacesRequest,CreateWorkspacesResult> asyncHandler)` Creates one or more WorkSpaces.
`Future<DeleteTagsResult>` `deleteTagsAsync(DeleteTagsRequest deleteTagsRequest)` Deletes tags from a WorkSpace.
`Future<DeleteTagsResult>` `deleteTagsAsync(DeleteTagsRequest deleteTagsRequest, AsyncHandler<DeleteTagsRequest,DeleteTagsResult> asyncHandler)` Deletes tags from a WorkSpace.
`Future<DescribeTagsResult>` `describeTagsAsync(DescribeTagsRequest describeTagsRequest)` Describes tags for a WorkSpace.
`Future<DescribeTagsResult>` `describeTagsAsync(DescribeTagsRequest describeTagsRequest, 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 describeWorkspaceBundlesRequest)` Obtains information about the WorkSpace bundles that are available to your account in the specified region.
`Future<DescribeWorkspaceBundlesResult>` `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest describeWorkspaceBundlesRequest, 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 describeWorkspaceDirectoriesRequest)` 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 describeWorkspaceDirectoriesRequest, 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 describeWorkspacesRequest)` Obtains information about the specified WorkSpaces.
`Future<DescribeWorkspacesResult>` `describeWorkspacesAsync(DescribeWorkspacesRequest describeWorkspacesRequest, AsyncHandler<DescribeWorkspacesRequest,DescribeWorkspacesResult> asyncHandler)` Obtains information about the specified WorkSpaces.
`Future<DescribeWorkspacesConnectionStatusResult>` `describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest)` Describes the connection status of a specified WorkSpace.
`Future<DescribeWorkspacesConnectionStatusResult>` `describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest, AsyncHandler<DescribeWorkspacesConnectionStatusRequest,DescribeWorkspacesConnectionStatusResult> asyncHandler)` Describes the connection status of a specified WorkSpace.
`Future<ModifyWorkspacePropertiesResult>` `modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest)` Modifies the WorkSpace properties, including the RunningMode and AutoStop time.
`Future<ModifyWorkspacePropertiesResult>` `modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest, AsyncHandler<ModifyWorkspacePropertiesRequest,ModifyWorkspacePropertiesResult> asyncHandler)` Modifies the WorkSpace properties, including the RunningMode and AutoStop time.
`Future<RebootWorkspacesResult>` `rebootWorkspacesAsync(RebootWorkspacesRequest rebootWorkspacesRequest)` Reboots the specified WorkSpaces.
`Future<RebootWorkspacesResult>` `rebootWorkspacesAsync(RebootWorkspacesRequest rebootWorkspacesRequest, AsyncHandler<RebootWorkspacesRequest,RebootWorkspacesResult> asyncHandler)` Reboots the specified WorkSpaces.
`Future<RebuildWorkspacesResult>` `rebuildWorkspacesAsync(RebuildWorkspacesRequest rebuildWorkspacesRequest)` Rebuilds the specified WorkSpaces.
`Future<RebuildWorkspacesResult>` `rebuildWorkspacesAsync(RebuildWorkspacesRequest rebuildWorkspacesRequest, AsyncHandler<RebuildWorkspacesRequest,RebuildWorkspacesResult> asyncHandler)` Rebuilds the specified WorkSpaces.
`Future<StartWorkspacesResult>` `startWorkspacesAsync(StartWorkspacesRequest startWorkspacesRequest)` Starts the specified WorkSpaces.
`Future<StartWorkspacesResult>` `startWorkspacesAsync(StartWorkspacesRequest startWorkspacesRequest, AsyncHandler<StartWorkspacesRequest,StartWorkspacesResult> asyncHandler)` Starts the specified WorkSpaces.
`Future<StopWorkspacesResult>` `stopWorkspacesAsync(StopWorkspacesRequest stopWorkspacesRequest)` Stops the specified WorkSpaces.
`Future<StopWorkspacesResult>` `stopWorkspacesAsync(StopWorkspacesRequest stopWorkspacesRequest, AsyncHandler<StopWorkspacesRequest,StopWorkspacesResult> asyncHandler)` Stops the specified WorkSpaces.
`Future<TerminateWorkspacesResult>` `terminateWorkspacesAsync(TerminateWorkspacesRequest terminateWorkspacesRequest)` Terminates the specified WorkSpaces.
`Future<TerminateWorkspacesResult>` `terminateWorkspacesAsync(TerminateWorkspacesRequest terminateWorkspacesRequest, AsyncHandler<TerminateWorkspacesRequest,TerminateWorkspacesResult> asyncHandler)` Terminates the specified WorkSpaces.

### 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, shutdown, startWorkspaces, stopWorkspaces, terminateWorkspaces`

### Method Detail

#### createTagsAsync

    Future<CreateTagsResult> createTagsAsync(CreateTagsRequest createTagsRequest)

Creates tags for a WorkSpace.

Parameters:
  `createTagsRequest` - The request of the CreateTags operation.
Returns:
  A Java Future containing the result of the CreateTags operation returned by the service.

#### createTagsAsync

    Future<CreateTagsResult> createTagsAsync(CreateTagsRequest createTagsRequest,
                                             AsyncHandler<CreateTagsRequest,CreateTagsResult> asyncHandler)

Creates tags for a WorkSpace.

Parameters:
  `createTagsRequest` - 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

    Future<CreateWorkspacesResult> createWorkspacesAsync(CreateWorkspacesRequest createWorkspacesRequest)

Creates one or more WorkSpaces.

<note>

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

</note>

Parameters:
  `createWorkspacesRequest` - Contains the inputs for the CreateWorkspaces operation.
Returns:
  A Java Future containing the result of the CreateWorkspaces operation returned by the service.

#### createWorkspacesAsync

    Future<CreateWorkspacesResult> createWorkspacesAsync(CreateWorkspacesRequest createWorkspacesRequest,
                                                         AsyncHandler<CreateWorkspacesRequest,CreateWorkspacesResult> asyncHandler)

Creates one or more WorkSpaces.

<note>

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

</note>

Parameters:
  `createWorkspacesRequest` - 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

    Future<DeleteTagsResult> deleteTagsAsync(DeleteTagsRequest deleteTagsRequest)

Deletes tags from a WorkSpace.

Parameters:
  `deleteTagsRequest` - The request of the DeleteTags operation.
Returns:
  A Java Future containing the result of the DeleteTags operation returned by the service.

#### deleteTagsAsync

    Future<DeleteTagsResult> deleteTagsAsync(DeleteTagsRequest deleteTagsRequest,
                                             AsyncHandler<DeleteTagsRequest,DeleteTagsResult> asyncHandler)

Deletes tags from a WorkSpace.

Parameters:
  `deleteTagsRequest` - 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

    Future<DescribeTagsResult> describeTagsAsync(DescribeTagsRequest describeTagsRequest)

Describes tags for a WorkSpace.

Parameters:
  `describeTagsRequest` - The request of the DescribeTags operation.
Returns:
  A Java Future containing the result of the DescribeTags operation returned by the service.

#### describeTagsAsync

    Future<DescribeTagsResult> describeTagsAsync(DescribeTagsRequest describeTagsRequest,
                                                 AsyncHandler<DescribeTagsRequest,DescribeTagsResult> asyncHandler)

Describes tags for a WorkSpace.

Parameters:
  `describeTagsRequest` - 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

    Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync(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.

Parameters:
  `describeWorkspaceBundlesRequest` - Contains the inputs for the DescribeWorkspaceBundles operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceBundles operation returned by the service.

#### describeWorkspaceBundlesAsync

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

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.

Parameters:
  `describeWorkspaceBundlesRequest` - 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

    Future<DescribeWorkspaceBundlesResult> describeWorkspaceBundlesAsync()

Simplified method form for invoking the DescribeWorkspaceBundles operation.

See Also:
  `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest)`

#### describeWorkspaceBundlesAsync

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

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

See Also:
  `describeWorkspaceBundlesAsync(DescribeWorkspaceBundlesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspaceDirectoriesAsync

    Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync(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.

Parameters:
  `describeWorkspaceDirectoriesRequest` - Contains the inputs for the DescribeWorkspaceDirectories operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaceDirectories operation returned by the service.

#### describeWorkspaceDirectoriesAsync

    Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest describeWorkspaceDirectoriesRequest,
                                                                                 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.

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.

Parameters:
  `describeWorkspaceDirectoriesRequest` - 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

    Future<DescribeWorkspaceDirectoriesResult> describeWorkspaceDirectoriesAsync()

Simplified method form for invoking the DescribeWorkspaceDirectories operation.

See Also:
  `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest)`

#### describeWorkspaceDirectoriesAsync

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

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

See Also:
  `describeWorkspaceDirectoriesAsync(DescribeWorkspaceDirectoriesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspacesAsync

    Future<DescribeWorkspacesResult> describeWorkspacesAsync(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.

Parameters:
  `describeWorkspacesRequest` - Contains the inputs for the DescribeWorkspaces operation.
Returns:
  A Java Future containing the result of the DescribeWorkspaces operation returned by the service.

#### describeWorkspacesAsync

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

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.

Parameters:
  `describeWorkspacesRequest` - 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

    Future<DescribeWorkspacesResult> describeWorkspacesAsync()

Simplified method form for invoking the DescribeWorkspaces operation.

See Also:
  `describeWorkspacesAsync(DescribeWorkspacesRequest)`

#### describeWorkspacesAsync

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

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

See Also:
  `describeWorkspacesAsync(DescribeWorkspacesRequest, com.amazonaws.handlers.AsyncHandler)`

#### describeWorkspacesConnectionStatusAsync

    Future<DescribeWorkspacesConnectionStatusResult> describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest)

Describes the connection status of a specified WorkSpace.

Parameters:
  `describeWorkspacesConnectionStatusRequest` -
Returns:
  A Java Future containing the result of the DescribeWorkspacesConnectionStatus operation returned by the service.

#### describeWorkspacesConnectionStatusAsync

    Future<DescribeWorkspacesConnectionStatusResult> describeWorkspacesConnectionStatusAsync(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest,
                                                                                             AsyncHandler<DescribeWorkspacesConnectionStatusRequest,DescribeWorkspacesConnectionStatusResult> asyncHandler)

Describes the connection status of a specified WorkSpace.

Parameters:
  `describeWorkspacesConnectionStatusRequest` -
  `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

    Future<ModifyWorkspacePropertiesResult> modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest)

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

Parameters:
  `modifyWorkspacePropertiesRequest` -
Returns:
  A Java Future containing the result of the ModifyWorkspaceProperties operation returned by the service.

#### modifyWorkspacePropertiesAsync

    Future<ModifyWorkspacePropertiesResult> modifyWorkspacePropertiesAsync(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest,
                                                                           AsyncHandler<ModifyWorkspacePropertiesRequest,ModifyWorkspacePropertiesResult> asyncHandler)

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

Parameters:
  `modifyWorkspacePropertiesRequest` -
  `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

    Future<RebootWorkspacesResult> rebootWorkspacesAsync(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>

Parameters:
  `rebootWorkspacesRequest` - Contains the inputs for the RebootWorkspaces operation.
Returns:
  A Java Future containing the result of the RebootWorkspaces operation returned by the service.

#### rebootWorkspacesAsync

    Future<RebootWorkspacesResult> rebootWorkspacesAsync(RebootWorkspacesRequest rebootWorkspacesRequest,
                                                         AsyncHandler<RebootWorkspacesRequest,RebootWorkspacesResult> asyncHandler)

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>

Parameters:
  `rebootWorkspacesRequest` - 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

    Future<RebuildWorkspacesResult> rebuildWorkspacesAsync(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>

Parameters:
  `rebuildWorkspacesRequest` - Contains the inputs for the RebuildWorkspaces operation.
Returns:
  A Java Future containing the result of the RebuildWorkspaces operation returned by the service.

#### rebuildWorkspacesAsync

    Future<RebuildWorkspacesResult> rebuildWorkspacesAsync(RebuildWorkspacesRequest rebuildWorkspacesRequest,
                                                           AsyncHandler<RebuildWorkspacesRequest,RebuildWorkspacesResult> asyncHandler)

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>

Parameters:
  `rebuildWorkspacesRequest` - 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

    Future<StartWorkspacesResult> startWorkspacesAsync(StartWorkspacesRequest startWorkspacesRequest)

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

Parameters:
  `startWorkspacesRequest` -
Returns:
  A Java Future containing the result of the StartWorkspaces operation returned by the service.

#### startWorkspacesAsync

    Future<StartWorkspacesResult> startWorkspacesAsync(StartWorkspacesRequest startWorkspacesRequest,
                                                       AsyncHandler<StartWorkspacesRequest,StartWorkspacesResult> asyncHandler)

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

Parameters:
  `startWorkspacesRequest` -
  `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

    Future<StopWorkspacesResult> stopWorkspacesAsync(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.

Parameters:
  `stopWorkspacesRequest` -
Returns:
  A Java Future containing the result of the StopWorkspaces operation returned by the service.

#### stopWorkspacesAsync

    Future<StopWorkspacesResult> stopWorkspacesAsync(StopWorkspacesRequest stopWorkspacesRequest,
                                                     AsyncHandler<StopWorkspacesRequest,StopWorkspacesResult> asyncHandler)

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.

Parameters:
  `stopWorkspacesRequest` -
  `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

    Future<TerminateWorkspacesResult> terminateWorkspacesAsync(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>

Parameters:
  `terminateWorkspacesRequest` - Contains the inputs for the TerminateWorkspaces operation.
Returns:
  A Java Future containing the result of the TerminateWorkspaces operation returned by the service.

#### terminateWorkspacesAsync

    Future<TerminateWorkspacesResult> terminateWorkspacesAsync(TerminateWorkspacesRequest terminateWorkspacesRequest,
                                                               AsyncHandler<TerminateWorkspacesRequest,TerminateWorkspacesResult> asyncHandler)

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>

Parameters:
  `terminateWorkspacesRequest` - 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.