
com.amazonaws.services.workdocs.AmazonWorkDocs Maven / Gradle / Ivy
/*
* Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.workdocs;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.workdocs.model.*;
/**
* Interface for accessing Amazon WorkDocs.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.workdocs.AbstractAmazonWorkDocs} instead.
*
*
*
* The WorkDocs API is designed for the following use cases:
*
*
* -
*
* File Migration: File migration applications are supported for users who want to migrate their files from an
* on-premise or off-premise file system or service. Users can insert files into a user directory structure, as well as
* allow for basic metadata changes, such as modifications to the permissions of files.
*
*
* -
*
* Security: Support security applications are supported for users who have additional security needs, such as
* anti-virus or data loss prevention. The APIs, in conjunction with Amazon CloudTrail, allow these applications to
* detect when changes occur in Amazon WorkDocs, so the application can take the necessary actions and replace the
* target file. The application can also choose to email the user if the target file violates the policy.
*
*
* -
*
* eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These
* applications can choose to mimic and/or record the actions in an Amazon WorkDocs site, in conjunction with Amazon
* CloudTrails, to replicate data for eDiscovery, backup, or analytical applications.
*
*
*
*
* All Amazon WorkDocs APIs are Amazon authenticated, certificate-signed APIs. They not only require the use of the AWS
* SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission
* policies. By creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM user gains full
* administrative visibility into the entire Amazon WorkDocs site (or as set in the IAM policy). This includes, but is
* not limited to, the ability to modify file permissions and upload any file to any user. This allows developers to
* perform the three use cases above, as well as give users the ability to grant access on a selective basis using the
* IAM model.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonWorkDocs {
/**
* 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 RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "workdocs";
/**
*
* Aborts the upload of the specified document version that was previously initiated by
* InitiateDocumentVersionUpload. The client should make this call only when it no longer intends to upload
* the document version, or fails to do so.
*
*
* @param abortDocumentVersionUploadRequest
* @return Result of the AbortDocumentVersionUpload operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.AbortDocumentVersionUpload
* @see AWS API Documentation
*/
AbortDocumentVersionUploadResult abortDocumentVersionUpload(AbortDocumentVersionUploadRequest abortDocumentVersionUploadRequest);
/**
*
* Activates the specified user. Only active users can access Amazon WorkDocs.
*
*
* @param activateUserRequest
* @return Result of the ActivateUser operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.ActivateUser
* @see AWS API
* Documentation
*/
ActivateUserResult activateUser(ActivateUserRequest activateUserRequest);
/**
*
* Creates a set of permissions for the specified folder or document. The resource permissions are overwritten if
* the principals already have different permissions.
*
*
* @param addResourcePermissionsRequest
* @return Result of the AddResourcePermissions operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.AddResourcePermissions
* @see AWS API Documentation
*/
AddResourcePermissionsResult addResourcePermissions(AddResourcePermissionsRequest addResourcePermissionsRequest);
/**
*
* Adds a new comment to the specified document version.
*
*
* @param createCommentRequest
* @return Result of the CreateComment operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws DocumentLockedForCommentsException
* This exception is thrown when the document is locked for comments and user tries to create or delete a
* comment on that document.
* @sample AmazonWorkDocs.CreateComment
* @see AWS API
* Documentation
*/
CreateCommentResult createComment(CreateCommentRequest createCommentRequest);
/**
*
* Adds one or more custom properties to the specified resource (a folder, document, or version).
*
*
* @param createCustomMetadataRequest
* @return Result of the CreateCustomMetadata operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws CustomMetadataLimitExceededException
* The limit has been reached on the number of custom properties for the specified resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.CreateCustomMetadata
* @see AWS
* API Documentation
*/
CreateCustomMetadataResult createCustomMetadata(CreateCustomMetadataRequest createCustomMetadataRequest);
/**
*
* Creates a folder with the specified name and parent folder.
*
*
* @param createFolderRequest
* @return Result of the CreateFolder operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws EntityAlreadyExistsException
* The resource already exists.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws LimitExceededException
* The maximum of 100,000 folders under the parent folder has been exceeded.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.CreateFolder
* @see AWS API
* Documentation
*/
CreateFolderResult createFolder(CreateFolderRequest createFolderRequest);
/**
*
* Adds the specified list of labels to the given resource (a document or folder)
*
*
* @param createLabelsRequest
* @return Result of the CreateLabels operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws TooManyLabelsException
* The limit has been reached on the number of labels for the specified resource.
* @sample AmazonWorkDocs.CreateLabels
* @see AWS API
* Documentation
*/
CreateLabelsResult createLabels(CreateLabelsRequest createLabelsRequest);
/**
*
* Configure WorkDocs to use Amazon SNS notifications.
*
*
* The endpoint receives a confirmation message, and must confirm the subscription. For more information, see Confirm the
* Subscription in the Amazon Simple Notification Service Developer Guide.
*
*
* @param createNotificationSubscriptionRequest
* @return Result of the CreateNotificationSubscription operation returned by the service.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws TooManySubscriptionsException
* You've reached the limit on the number of subscriptions for the WorkDocs instance.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.CreateNotificationSubscription
* @see AWS API Documentation
*/
CreateNotificationSubscriptionResult createNotificationSubscription(CreateNotificationSubscriptionRequest createNotificationSubscriptionRequest);
/**
*
* Creates a user in a Simple AD or Microsoft AD directory. The status of a newly created user is "ACTIVE". New
* users can access Amazon WorkDocs.
*
*
* @param createUserRequest
* @return Result of the CreateUser operation returned by the service.
* @throws EntityAlreadyExistsException
* The resource already exists.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.CreateUser
* @see AWS API
* Documentation
*/
CreateUserResult createUser(CreateUserRequest createUserRequest);
/**
*
* Deactivates the specified user, which revokes the user's access to Amazon WorkDocs.
*
*
* @param deactivateUserRequest
* @return Result of the DeactivateUser operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeactivateUser
* @see AWS API
* Documentation
*/
DeactivateUserResult deactivateUser(DeactivateUserRequest deactivateUserRequest);
/**
*
* Deletes the specified comment from the document version.
*
*
* @param deleteCommentRequest
* @return Result of the DeleteComment operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws DocumentLockedForCommentsException
* This exception is thrown when the document is locked for comments and user tries to create or delete a
* comment on that document.
* @sample AmazonWorkDocs.DeleteComment
* @see AWS API
* Documentation
*/
DeleteCommentResult deleteComment(DeleteCommentRequest deleteCommentRequest);
/**
*
* Deletes custom metadata from the specified resource.
*
*
* @param deleteCustomMetadataRequest
* @return Result of the DeleteCustomMetadata operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteCustomMetadata
* @see AWS
* API Documentation
*/
DeleteCustomMetadataResult deleteCustomMetadata(DeleteCustomMetadataRequest deleteCustomMetadataRequest);
/**
*
* Permanently deletes the specified document and its associated metadata.
*
*
* @param deleteDocumentRequest
* @return Result of the DeleteDocument operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws ConcurrentModificationException
* The resource hierarchy is changing.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteDocument
* @see AWS API
* Documentation
*/
DeleteDocumentResult deleteDocument(DeleteDocumentRequest deleteDocumentRequest);
/**
*
* Permanently deletes the specified folder and its contents.
*
*
* @param deleteFolderRequest
* @return Result of the DeleteFolder operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws ConcurrentModificationException
* The resource hierarchy is changing.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteFolder
* @see AWS API
* Documentation
*/
DeleteFolderResult deleteFolder(DeleteFolderRequest deleteFolderRequest);
/**
*
* Deletes the contents of the specified folder.
*
*
* @param deleteFolderContentsRequest
* @return Result of the DeleteFolderContents operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteFolderContents
* @see AWS
* API Documentation
*/
DeleteFolderContentsResult deleteFolderContents(DeleteFolderContentsRequest deleteFolderContentsRequest);
/**
*
* Deletes the specified list of labels from a resource.
*
*
* @param deleteLabelsRequest
* @return Result of the DeleteLabels operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteLabels
* @see AWS API
* Documentation
*/
DeleteLabelsResult deleteLabels(DeleteLabelsRequest deleteLabelsRequest);
/**
*
* Deletes the specified subscription from the specified organization.
*
*
* @param deleteNotificationSubscriptionRequest
* @return Result of the DeleteNotificationSubscription operation returned by the service.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @sample AmazonWorkDocs.DeleteNotificationSubscription
* @see AWS API Documentation
*/
DeleteNotificationSubscriptionResult deleteNotificationSubscription(DeleteNotificationSubscriptionRequest deleteNotificationSubscriptionRequest);
/**
*
* Deletes the specified user from a Simple AD or Microsoft AD directory.
*
*
* @param deleteUserRequest
* @return Result of the DeleteUser operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DeleteUser
* @see AWS API
* Documentation
*/
DeleteUserResult deleteUser(DeleteUserRequest deleteUserRequest);
/**
*
* Describes the user activities in a specified time period.
*
*
* @param describeActivitiesRequest
* @return Result of the DescribeActivities operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DescribeActivities
* @see AWS
* API Documentation
*/
DescribeActivitiesResult describeActivities(DescribeActivitiesRequest describeActivitiesRequest);
/**
*
* List all the comments for the specified document version.
*
*
* @param describeCommentsRequest
* @return Result of the DescribeComments operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DescribeComments
* @see AWS API
* Documentation
*/
DescribeCommentsResult describeComments(DescribeCommentsRequest describeCommentsRequest);
/**
*
* Retrieves the document versions for the specified document.
*
*
* By default, only active versions are returned.
*
*
* @param describeDocumentVersionsRequest
* @return Result of the DescribeDocumentVersions operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @sample AmazonWorkDocs.DescribeDocumentVersions
* @see AWS API Documentation
*/
DescribeDocumentVersionsResult describeDocumentVersions(DescribeDocumentVersionsRequest describeDocumentVersionsRequest);
/**
*
* Describes the contents of the specified folder, including its documents and subfolders.
*
*
* By default, Amazon WorkDocs returns the first 100 active document and folder metadata items. If there are more
* results, the response includes a marker that you can use to request the next set of results. You can also request
* initialized documents.
*
*
* @param describeFolderContentsRequest
* @return Result of the DescribeFolderContents operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @sample AmazonWorkDocs.DescribeFolderContents
* @see AWS API Documentation
*/
DescribeFolderContentsResult describeFolderContents(DescribeFolderContentsRequest describeFolderContentsRequest);
/**
*
* Lists the specified notification subscriptions.
*
*
* @param describeNotificationSubscriptionsRequest
* @return Result of the DescribeNotificationSubscriptions operation returned by the service.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DescribeNotificationSubscriptions
* @see AWS API Documentation
*/
DescribeNotificationSubscriptionsResult describeNotificationSubscriptions(DescribeNotificationSubscriptionsRequest describeNotificationSubscriptionsRequest);
/**
*
* Describes the permissions of a specified resource.
*
*
* @param describeResourcePermissionsRequest
* @return Result of the DescribeResourcePermissions operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DescribeResourcePermissions
* @see AWS API Documentation
*/
DescribeResourcePermissionsResult describeResourcePermissions(DescribeResourcePermissionsRequest describeResourcePermissionsRequest);
/**
*
* Describes the current user's special folders; the RootFolder
and the RecyleBin
.
* RootFolder
is the root of user's files and folders and RecyleBin
is the root of
* recycled items. This is not a valid action for SigV4 (administrative API) clients.
*
*
* @param describeRootFoldersRequest
* @return Result of the DescribeRootFolders operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.DescribeRootFolders
* @see AWS
* API Documentation
*/
DescribeRootFoldersResult describeRootFolders(DescribeRootFoldersRequest describeRootFoldersRequest);
/**
*
* Describes the specified users. You can describe all users or filter the results (for example, by status or
* organization).
*
*
* By default, Amazon WorkDocs returns the first 24 active or pending users. If there are more results, the response
* includes a marker that you can use to request the next set of results.
*
*
* @param describeUsersRequest
* @return Result of the DescribeUsers operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @sample AmazonWorkDocs.DescribeUsers
* @see AWS API
* Documentation
*/
DescribeUsersResult describeUsers(DescribeUsersRequest describeUsersRequest);
/**
*
* Retrieves details of the current user for whom the authentication token was generated. This is not a valid action
* for SigV4 (administrative API) clients.
*
*
* @param getCurrentUserRequest
* @return Result of the GetCurrentUser operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.GetCurrentUser
* @see AWS API
* Documentation
*/
GetCurrentUserResult getCurrentUser(GetCurrentUserRequest getCurrentUserRequest);
/**
*
* Retrieves details of a document.
*
*
* @param getDocumentRequest
* @return Result of the GetDocument operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.GetDocument
* @see AWS API
* Documentation
*/
GetDocumentResult getDocument(GetDocumentRequest getDocumentRequest);
/**
*
* Retrieves the path information (the hierarchy from the root folder) for the requested document.
*
*
* By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes
* the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the
* names of the parent folders.
*
*
* @param getDocumentPathRequest
* @return Result of the GetDocumentPath operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.GetDocumentPath
* @see AWS API
* Documentation
*/
GetDocumentPathResult getDocumentPath(GetDocumentPathRequest getDocumentPathRequest);
/**
*
* Retrieves version metadata for the specified document.
*
*
* @param getDocumentVersionRequest
* @return Result of the GetDocumentVersion operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @sample AmazonWorkDocs.GetDocumentVersion
* @see AWS
* API Documentation
*/
GetDocumentVersionResult getDocumentVersion(GetDocumentVersionRequest getDocumentVersionRequest);
/**
*
* Retrieves the metadata of the specified folder.
*
*
* @param getFolderRequest
* @return Result of the GetFolder operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws InvalidArgumentException
* The pagination marker and/or limit fields are not valid.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @sample AmazonWorkDocs.GetFolder
* @see AWS API
* Documentation
*/
GetFolderResult getFolder(GetFolderRequest getFolderRequest);
/**
*
* Retrieves the path information (the hierarchy from the root folder) for the specified folder.
*
*
* By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes
* the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the
* parent folder names.
*
*
* @param getFolderPathRequest
* @return Result of the GetFolderPath operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.GetFolderPath
* @see AWS API
* Documentation
*/
GetFolderPathResult getFolderPath(GetFolderPathRequest getFolderPathRequest);
/**
*
* Creates a new document object and version object.
*
*
* The client specifies the parent folder ID and name of the document to upload. The ID is optionally specified when
* creating a new version of an existing document. This is the first step to upload a document. Next, upload the
* document to the URL returned from the call, and then call UpdateDocumentVersion.
*
*
* To cancel the document upload, call AbortDocumentVersionUpload.
*
*
* @param initiateDocumentVersionUploadRequest
* @return Result of the InitiateDocumentVersionUpload operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws EntityAlreadyExistsException
* The resource already exists.
* @throws StorageLimitExceededException
* The storage limit has been exceeded.
* @throws StorageLimitWillExceedException
* The storage limit will be exceeded.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws DraftUploadOutOfSyncException
* This exception is thrown when a valid checkout ID is not presented on document version upload calls for a
* document that has been checked out from Web client.
* @throws ResourceAlreadyCheckedOutException
* The resource is already checked out.
* @sample AmazonWorkDocs.InitiateDocumentVersionUpload
* @see AWS API Documentation
*/
InitiateDocumentVersionUploadResult initiateDocumentVersionUpload(InitiateDocumentVersionUploadRequest initiateDocumentVersionUploadRequest);
/**
*
* Removes all the permissions from the specified resource.
*
*
* @param removeAllResourcePermissionsRequest
* @return Result of the RemoveAllResourcePermissions operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.RemoveAllResourcePermissions
* @see AWS API Documentation
*/
RemoveAllResourcePermissionsResult removeAllResourcePermissions(RemoveAllResourcePermissionsRequest removeAllResourcePermissionsRequest);
/**
*
* Removes the permission for the specified principal from the specified resource.
*
*
* @param removeResourcePermissionRequest
* @return Result of the RemoveResourcePermission operation returned by the service.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.RemoveResourcePermission
* @see AWS API Documentation
*/
RemoveResourcePermissionResult removeResourcePermission(RemoveResourcePermissionRequest removeResourcePermissionRequest);
/**
*
* Updates the specified attributes of a document. The user must have access to both the document and its parent
* folder, if applicable.
*
*
* @param updateDocumentRequest
* @return Result of the UpdateDocument operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws EntityAlreadyExistsException
* The resource already exists.
* @throws LimitExceededException
* The maximum of 100,000 folders under the parent folder has been exceeded.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws ConcurrentModificationException
* The resource hierarchy is changing.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.UpdateDocument
* @see AWS API
* Documentation
*/
UpdateDocumentResult updateDocument(UpdateDocumentRequest updateDocumentRequest);
/**
*
* Changes the status of the document version to ACTIVE.
*
*
* Amazon WorkDocs also sets its document container to ACTIVE. This is the last step in a document upload, after the
* client uploads the document to an S3-presigned URL returned by InitiateDocumentVersionUpload.
*
*
* @param updateDocumentVersionRequest
* @return Result of the UpdateDocumentVersion operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws ConcurrentModificationException
* The resource hierarchy is changing.
* @throws InvalidOperationException
* The operation is invalid.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.UpdateDocumentVersion
* @see AWS
* API Documentation
*/
UpdateDocumentVersionResult updateDocumentVersion(UpdateDocumentVersionRequest updateDocumentVersionRequest);
/**
*
* Updates the specified attributes of the specified folder. The user must have access to both the folder and its
* parent folder, if applicable.
*
*
* @param updateFolderRequest
* @return Result of the UpdateFolder operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws EntityAlreadyExistsException
* The resource already exists.
* @throws ProhibitedStateException
* The specified document version is not in the INITIALIZED state.
* @throws ConcurrentModificationException
* The resource hierarchy is changing.
* @throws LimitExceededException
* The maximum of 100,000 folders under the parent folder has been exceeded.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @sample AmazonWorkDocs.UpdateFolder
* @see AWS API
* Documentation
*/
UpdateFolderResult updateFolder(UpdateFolderRequest updateFolderRequest);
/**
*
* Updates the specified attributes of the specified user, and grants or revokes administrative privileges to the
* Amazon WorkDocs site.
*
*
* @param updateUserRequest
* @return Result of the UpdateUser operation returned by the service.
* @throws EntityNotExistsException
* The resource does not exist.
* @throws UnauthorizedOperationException
* The operation is not permitted.
* @throws UnauthorizedResourceAccessException
* The caller does not have access to perform the action on the resource.
* @throws IllegalUserStateException
* The user is undergoing transfer of ownership.
* @throws FailedDependencyException
* The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the
* organization is failing, such as a connected active directory.
* @throws ServiceUnavailableException
* One or more of the dependencies is unavailable.
* @throws DeactivatingLastSystemUserException
* The last user in the organization is being deactivated.
* @sample AmazonWorkDocs.UpdateUser
* @see AWS API
* Documentation
*/
UpdateUserResult updateUser(UpdateUserRequest updateUserRequest);
/**
* 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.
*/
void shutdown();
/**
* 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.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}