com.amazonaws.services.workspaces

## Interface AmazonWorkspaces

All Known Subinterfaces:
  AmazonWorkspacesAsync

All Known Implementing Classes:
  AbstractAmazonWorkspaces, AbstractAmazonWorkspacesAsync, AmazonWorkspacesAsyncClient, AmazonWorkspacesClient

    public interface AmazonWorkspaces

Interface for accessing Amazon WorkSpaces.

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

<fullname>Amazon WorkSpaces Service</fullname>

This reference provides detailed information about the Amazon WorkSpaces operations.

### Field Summary

Fields
`static String` `ENDPOINT_PREFIX` The region metadata service name for computing region endpoints.

### Method Summary

All Methods Instance Methods Abstract 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.
`void` `setEndpoint(String endpoint)` Overrides the default endpoint for this client ("https://workspaces.us-east-1.amazonaws.com").
`void` `setRegion(Region region)` An alternative to `setEndpoint(String)`, sets the regional endpoint for this client's service calls.
`void` `shutdown()` Shuts down this client object, releasing any resources that might be held open.
`StartWorkspacesResult` `startWorkspaces(StartWorkspacesRequest startWorkspacesRequest)` Starts the specified WorkSpaces.
`StopWorkspacesResult` `stopWorkspaces(StopWorkspacesRequest stopWorkspacesRequest)` Stops the specified WorkSpaces.
`TerminateWorkspacesResult` `terminateWorkspaces(TerminateWorkspacesRequest terminateWorkspacesRequest)` Terminates the specified WorkSpaces.

### Field Detail

#### ENDPOINT_PREFIX

    static final String ENDPOINT_PREFIX

The region metadata service name for computing region endpoints. You can use this value to retrieve metadata (such as supported regions) of the service.

See Also:
  `RegionUtils.getRegionsForService(String)`, Constant Field Values

### Method Detail

#### setEndpoint

    void setEndpoint(String endpoint)

Overrides the default endpoint for this client ("https://workspaces.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.

Callers can pass in just the endpoint (ex: "workspaces.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://workspaces.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's `ClientConfiguration` will be used, which by default is HTTPS.

For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912

This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

Parameters:
  `endpoint` - The endpoint (ex: "workspaces.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://workspaces.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.

#### setRegion

    void setRegion(Region region)

An alternative to `setEndpoint(String)`, sets the regional endpoint for this client's service calls. Callers can use this method to control which AWS region they want to work with.

By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the `ClientConfiguration` supplied at construction.

This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

Parameters:
  `region` - The region this client will communicate with. See `Region.getRegion(com.amazonaws.regions.Regions)` for accessing a given region. Must not be null and must be a region where the service is available.
See Also:
  `Region.getRegion(com.amazonaws.regions.Regions)`, `Region.createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)`, `Region.isServiceSupported(String)`

#### createTags

    CreateTagsResult createTags(CreateTagsRequest createTagsRequest)

Creates tags for a WorkSpace.

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

    CreateWorkspacesResult createWorkspaces(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:
  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

    DeleteTagsResult deleteTags(DeleteTagsRequest deleteTagsRequest)

Deletes tags from a WorkSpace.

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

    DescribeTagsResult describeTags(DescribeTagsRequest describeTagsRequest)

Describes tags for a WorkSpace.

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

    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.

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

    DescribeWorkspaceBundlesResult describeWorkspaceBundles()

Simplified method form for invoking the DescribeWorkspaceBundles operation.

See Also:
  `describeWorkspaceBundles(DescribeWorkspaceBundlesRequest)`

#### describeWorkspaceDirectories

    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.

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

    DescribeWorkspaceDirectoriesResult describeWorkspaceDirectories()

Simplified method form for invoking the DescribeWorkspaceDirectories operation.

See Also:
  `describeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest)`

#### describeWorkspaces

    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.

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

    DescribeWorkspacesResult describeWorkspaces()

Simplified method form for invoking the DescribeWorkspaces operation.

See Also:
  `describeWorkspaces(DescribeWorkspacesRequest)`

#### describeWorkspacesConnectionStatus

    DescribeWorkspacesConnectionStatusResult describeWorkspacesConnectionStatus(DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest)

Describes the connection status of a specified WorkSpace.

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

#### modifyWorkspaceProperties

    ModifyWorkspacePropertiesResult modifyWorkspaceProperties(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest)

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

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

    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>

Parameters:
  `rebootWorkspacesRequest` - Contains the inputs for the RebootWorkspaces operation.
Returns:
  Result of the RebootWorkspaces operation returned by the service.

#### rebuildWorkspaces

    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>

Parameters:
  `rebuildWorkspacesRequest` - Contains the inputs for the RebuildWorkspaces operation.
Returns:
  Result of the RebuildWorkspaces operation returned by the service.

#### startWorkspaces

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

Parameters:
  `startWorkspacesRequest` -
Returns:
  Result of the StartWorkspaces operation returned by the service.

#### stopWorkspaces

    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.

Parameters:
  `stopWorkspacesRequest` -
Returns:
  Result of the StopWorkspaces operation returned by the service.

#### terminateWorkspaces

    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>

Parameters:
  `terminateWorkspacesRequest` - Contains the inputs for the TerminateWorkspaces operation.
Returns:
  Result of the TerminateWorkspaces operation returned by the service.

#### shutdown

    void shutdown()

Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests.

#### getCachedResponseMetadata

    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 a request.

Parameters:
  `request` - The originally executed request.
Returns:
  The response metadata for the specified request, or null if none is available.