
com.amazonaws.services.workdocs.AmazonWorkDocsClient 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 org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.services.workdocs.AmazonWorkDocsClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.workdocs.model.*;
import com.amazonaws.services.workdocs.model.transform.*;
/**
* Client for accessing Amazon WorkDocs. All service calls made using this client are blocking, and will not return
* until the service call completes.
*
*
* 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.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonWorkDocsClient extends AmazonWebServiceClient implements AmazonWorkDocs {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonWorkDocs.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "workdocs";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.withContentTypeOverride("")
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("FailedDependencyException").withModeledClass(
com.amazonaws.services.workdocs.model.FailedDependencyException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ConcurrentModificationException").withModeledClass(
com.amazonaws.services.workdocs.model.ConcurrentModificationException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidOperationException").withModeledClass(
com.amazonaws.services.workdocs.model.InvalidOperationException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("CustomMetadataLimitExceededException").withModeledClass(
com.amazonaws.services.workdocs.model.CustomMetadataLimitExceededException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("UnauthorizedResourceAccessException").withModeledClass(
com.amazonaws.services.workdocs.model.UnauthorizedResourceAccessException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("TooManySubscriptionsException").withModeledClass(
com.amazonaws.services.workdocs.model.TooManySubscriptionsException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("EntityAlreadyExistsException").withModeledClass(
com.amazonaws.services.workdocs.model.EntityAlreadyExistsException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("EntityNotExistsException").withModeledClass(
com.amazonaws.services.workdocs.model.EntityNotExistsException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DocumentLockedForCommentsException").withModeledClass(
com.amazonaws.services.workdocs.model.DocumentLockedForCommentsException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("StorageLimitExceededException").withModeledClass(
com.amazonaws.services.workdocs.model.StorageLimitExceededException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("StorageLimitWillExceedException").withModeledClass(
com.amazonaws.services.workdocs.model.StorageLimitWillExceedException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ProhibitedStateException").withModeledClass(
com.amazonaws.services.workdocs.model.ProhibitedStateException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withModeledClass(
com.amazonaws.services.workdocs.model.LimitExceededException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("IllegalUserStateException").withModeledClass(
com.amazonaws.services.workdocs.model.IllegalUserStateException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidArgumentException").withModeledClass(
com.amazonaws.services.workdocs.model.InvalidArgumentException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("UnauthorizedOperationException").withModeledClass(
com.amazonaws.services.workdocs.model.UnauthorizedOperationException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("TooManyLabelsException").withModeledClass(
com.amazonaws.services.workdocs.model.TooManyLabelsException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DraftUploadOutOfSyncException").withModeledClass(
com.amazonaws.services.workdocs.model.DraftUploadOutOfSyncException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceAlreadyCheckedOutException").withModeledClass(
com.amazonaws.services.workdocs.model.ResourceAlreadyCheckedOutException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ServiceUnavailableException").withModeledClass(
com.amazonaws.services.workdocs.model.ServiceUnavailableException.class))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DeactivatingLastSystemUserException").withModeledClass(
com.amazonaws.services.workdocs.model.DeactivatingLastSystemUserException.class))
.withBaseServiceExceptionClass(com.amazonaws.services.workdocs.model.AmazonWorkDocsException.class));
public static AmazonWorkDocsClientBuilder builder() {
return AmazonWorkDocsClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Amazon WorkDocs using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonWorkDocsClient(AwsSyncClientParams clientParams) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("workdocs.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/workdocs/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/workdocs/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* 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
*/
@Override
public AbortDocumentVersionUploadResult abortDocumentVersionUpload(AbortDocumentVersionUploadRequest request) {
request = beforeClientExecution(request);
return executeAbortDocumentVersionUpload(request);
}
@SdkInternalApi
final AbortDocumentVersionUploadResult executeAbortDocumentVersionUpload(AbortDocumentVersionUploadRequest abortDocumentVersionUploadRequest) {
ExecutionContext executionContext = createExecutionContext(abortDocumentVersionUploadRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AbortDocumentVersionUploadRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(abortDocumentVersionUploadRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AbortDocumentVersionUploadResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public ActivateUserResult activateUser(ActivateUserRequest request) {
request = beforeClientExecution(request);
return executeActivateUser(request);
}
@SdkInternalApi
final ActivateUserResult executeActivateUser(ActivateUserRequest activateUserRequest) {
ExecutionContext executionContext = createExecutionContext(activateUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ActivateUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(activateUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ActivateUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public AddResourcePermissionsResult addResourcePermissions(AddResourcePermissionsRequest request) {
request = beforeClientExecution(request);
return executeAddResourcePermissions(request);
}
@SdkInternalApi
final AddResourcePermissionsResult executeAddResourcePermissions(AddResourcePermissionsRequest addResourcePermissionsRequest) {
ExecutionContext executionContext = createExecutionContext(addResourcePermissionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AddResourcePermissionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addResourcePermissionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AddResourcePermissionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateCommentResult createComment(CreateCommentRequest request) {
request = beforeClientExecution(request);
return executeCreateComment(request);
}
@SdkInternalApi
final CreateCommentResult executeCreateComment(CreateCommentRequest createCommentRequest) {
ExecutionContext executionContext = createExecutionContext(createCommentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateCommentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createCommentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateCommentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateCustomMetadataResult createCustomMetadata(CreateCustomMetadataRequest request) {
request = beforeClientExecution(request);
return executeCreateCustomMetadata(request);
}
@SdkInternalApi
final CreateCustomMetadataResult executeCreateCustomMetadata(CreateCustomMetadataRequest createCustomMetadataRequest) {
ExecutionContext executionContext = createExecutionContext(createCustomMetadataRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateCustomMetadataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createCustomMetadataRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateCustomMetadataResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateFolderResult createFolder(CreateFolderRequest request) {
request = beforeClientExecution(request);
return executeCreateFolder(request);
}
@SdkInternalApi
final CreateFolderResult executeCreateFolder(CreateFolderRequest createFolderRequest) {
ExecutionContext executionContext = createExecutionContext(createFolderRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateFolderRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createFolderRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateFolderResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateLabelsResult createLabels(CreateLabelsRequest request) {
request = beforeClientExecution(request);
return executeCreateLabels(request);
}
@SdkInternalApi
final CreateLabelsResult executeCreateLabels(CreateLabelsRequest createLabelsRequest) {
ExecutionContext executionContext = createExecutionContext(createLabelsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateLabelsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createLabelsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateLabelsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateNotificationSubscriptionResult createNotificationSubscription(CreateNotificationSubscriptionRequest request) {
request = beforeClientExecution(request);
return executeCreateNotificationSubscription(request);
}
@SdkInternalApi
final CreateNotificationSubscriptionResult executeCreateNotificationSubscription(CreateNotificationSubscriptionRequest createNotificationSubscriptionRequest) {
ExecutionContext executionContext = createExecutionContext(createNotificationSubscriptionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateNotificationSubscriptionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createNotificationSubscriptionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateNotificationSubscriptionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public CreateUserResult createUser(CreateUserRequest request) {
request = beforeClientExecution(request);
return executeCreateUser(request);
}
@SdkInternalApi
final CreateUserResult executeCreateUser(CreateUserRequest createUserRequest) {
ExecutionContext executionContext = createExecutionContext(createUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeactivateUserResult deactivateUser(DeactivateUserRequest request) {
request = beforeClientExecution(request);
return executeDeactivateUser(request);
}
@SdkInternalApi
final DeactivateUserResult executeDeactivateUser(DeactivateUserRequest deactivateUserRequest) {
ExecutionContext executionContext = createExecutionContext(deactivateUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeactivateUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deactivateUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeactivateUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteCommentResult deleteComment(DeleteCommentRequest request) {
request = beforeClientExecution(request);
return executeDeleteComment(request);
}
@SdkInternalApi
final DeleteCommentResult executeDeleteComment(DeleteCommentRequest deleteCommentRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCommentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteCommentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteCommentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteCommentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteCustomMetadataResult deleteCustomMetadata(DeleteCustomMetadataRequest request) {
request = beforeClientExecution(request);
return executeDeleteCustomMetadata(request);
}
@SdkInternalApi
final DeleteCustomMetadataResult executeDeleteCustomMetadata(DeleteCustomMetadataRequest deleteCustomMetadataRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCustomMetadataRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteCustomMetadataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteCustomMetadataRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteCustomMetadataResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteDocumentResult deleteDocument(DeleteDocumentRequest request) {
request = beforeClientExecution(request);
return executeDeleteDocument(request);
}
@SdkInternalApi
final DeleteDocumentResult executeDeleteDocument(DeleteDocumentRequest deleteDocumentRequest) {
ExecutionContext executionContext = createExecutionContext(deleteDocumentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteDocumentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteDocumentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteDocumentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteFolderResult deleteFolder(DeleteFolderRequest request) {
request = beforeClientExecution(request);
return executeDeleteFolder(request);
}
@SdkInternalApi
final DeleteFolderResult executeDeleteFolder(DeleteFolderRequest deleteFolderRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFolderRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFolderRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFolderRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFolderResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteFolderContentsResult deleteFolderContents(DeleteFolderContentsRequest request) {
request = beforeClientExecution(request);
return executeDeleteFolderContents(request);
}
@SdkInternalApi
final DeleteFolderContentsResult executeDeleteFolderContents(DeleteFolderContentsRequest deleteFolderContentsRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFolderContentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFolderContentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFolderContentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFolderContentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteLabelsResult deleteLabels(DeleteLabelsRequest request) {
request = beforeClientExecution(request);
return executeDeleteLabels(request);
}
@SdkInternalApi
final DeleteLabelsResult executeDeleteLabels(DeleteLabelsRequest deleteLabelsRequest) {
ExecutionContext executionContext = createExecutionContext(deleteLabelsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteLabelsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteLabelsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteLabelsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteNotificationSubscriptionResult deleteNotificationSubscription(DeleteNotificationSubscriptionRequest request) {
request = beforeClientExecution(request);
return executeDeleteNotificationSubscription(request);
}
@SdkInternalApi
final DeleteNotificationSubscriptionResult executeDeleteNotificationSubscription(DeleteNotificationSubscriptionRequest deleteNotificationSubscriptionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteNotificationSubscriptionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteNotificationSubscriptionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteNotificationSubscriptionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteNotificationSubscriptionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DeleteUserResult deleteUser(DeleteUserRequest request) {
request = beforeClientExecution(request);
return executeDeleteUser(request);
}
@SdkInternalApi
final DeleteUserResult executeDeleteUser(DeleteUserRequest deleteUserRequest) {
ExecutionContext executionContext = createExecutionContext(deleteUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeActivitiesResult describeActivities(DescribeActivitiesRequest request) {
request = beforeClientExecution(request);
return executeDescribeActivities(request);
}
@SdkInternalApi
final DescribeActivitiesResult executeDescribeActivities(DescribeActivitiesRequest describeActivitiesRequest) {
ExecutionContext executionContext = createExecutionContext(describeActivitiesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeActivitiesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeActivitiesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeActivitiesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeCommentsResult describeComments(DescribeCommentsRequest request) {
request = beforeClientExecution(request);
return executeDescribeComments(request);
}
@SdkInternalApi
final DescribeCommentsResult executeDescribeComments(DescribeCommentsRequest describeCommentsRequest) {
ExecutionContext executionContext = createExecutionContext(describeCommentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeCommentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeCommentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeCommentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeDocumentVersionsResult describeDocumentVersions(DescribeDocumentVersionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeDocumentVersions(request);
}
@SdkInternalApi
final DescribeDocumentVersionsResult executeDescribeDocumentVersions(DescribeDocumentVersionsRequest describeDocumentVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeDocumentVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeDocumentVersionsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeDocumentVersionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeDocumentVersionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeFolderContentsResult describeFolderContents(DescribeFolderContentsRequest request) {
request = beforeClientExecution(request);
return executeDescribeFolderContents(request);
}
@SdkInternalApi
final DescribeFolderContentsResult executeDescribeFolderContents(DescribeFolderContentsRequest describeFolderContentsRequest) {
ExecutionContext executionContext = createExecutionContext(describeFolderContentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeFolderContentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFolderContentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeFolderContentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeNotificationSubscriptionsResult describeNotificationSubscriptions(DescribeNotificationSubscriptionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeNotificationSubscriptions(request);
}
@SdkInternalApi
final DescribeNotificationSubscriptionsResult executeDescribeNotificationSubscriptions(
DescribeNotificationSubscriptionsRequest describeNotificationSubscriptionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeNotificationSubscriptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeNotificationSubscriptionsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeNotificationSubscriptionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeNotificationSubscriptionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeResourcePermissionsResult describeResourcePermissions(DescribeResourcePermissionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeResourcePermissions(request);
}
@SdkInternalApi
final DescribeResourcePermissionsResult executeDescribeResourcePermissions(DescribeResourcePermissionsRequest describeResourcePermissionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeResourcePermissionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeResourcePermissionsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeResourcePermissionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeResourcePermissionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeRootFoldersResult describeRootFolders(DescribeRootFoldersRequest request) {
request = beforeClientExecution(request);
return executeDescribeRootFolders(request);
}
@SdkInternalApi
final DescribeRootFoldersResult executeDescribeRootFolders(DescribeRootFoldersRequest describeRootFoldersRequest) {
ExecutionContext executionContext = createExecutionContext(describeRootFoldersRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeRootFoldersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeRootFoldersRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeRootFoldersResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public DescribeUsersResult describeUsers(DescribeUsersRequest request) {
request = beforeClientExecution(request);
return executeDescribeUsers(request);
}
@SdkInternalApi
final DescribeUsersResult executeDescribeUsers(DescribeUsersRequest describeUsersRequest) {
ExecutionContext executionContext = createExecutionContext(describeUsersRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeUsersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeUsersRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeUsersResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetCurrentUserResult getCurrentUser(GetCurrentUserRequest request) {
request = beforeClientExecution(request);
return executeGetCurrentUser(request);
}
@SdkInternalApi
final GetCurrentUserResult executeGetCurrentUser(GetCurrentUserRequest getCurrentUserRequest) {
ExecutionContext executionContext = createExecutionContext(getCurrentUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetCurrentUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getCurrentUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetCurrentUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetDocumentResult getDocument(GetDocumentRequest request) {
request = beforeClientExecution(request);
return executeGetDocument(request);
}
@SdkInternalApi
final GetDocumentResult executeGetDocument(GetDocumentRequest getDocumentRequest) {
ExecutionContext executionContext = createExecutionContext(getDocumentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDocumentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDocumentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDocumentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetDocumentPathResult getDocumentPath(GetDocumentPathRequest request) {
request = beforeClientExecution(request);
return executeGetDocumentPath(request);
}
@SdkInternalApi
final GetDocumentPathResult executeGetDocumentPath(GetDocumentPathRequest getDocumentPathRequest) {
ExecutionContext executionContext = createExecutionContext(getDocumentPathRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDocumentPathRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDocumentPathRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDocumentPathResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetDocumentVersionResult getDocumentVersion(GetDocumentVersionRequest request) {
request = beforeClientExecution(request);
return executeGetDocumentVersion(request);
}
@SdkInternalApi
final GetDocumentVersionResult executeGetDocumentVersion(GetDocumentVersionRequest getDocumentVersionRequest) {
ExecutionContext executionContext = createExecutionContext(getDocumentVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDocumentVersionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDocumentVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDocumentVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetFolderResult getFolder(GetFolderRequest request) {
request = beforeClientExecution(request);
return executeGetFolder(request);
}
@SdkInternalApi
final GetFolderResult executeGetFolder(GetFolderRequest getFolderRequest) {
ExecutionContext executionContext = createExecutionContext(getFolderRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFolderRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFolderRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFolderResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public GetFolderPathResult getFolderPath(GetFolderPathRequest request) {
request = beforeClientExecution(request);
return executeGetFolderPath(request);
}
@SdkInternalApi
final GetFolderPathResult executeGetFolderPath(GetFolderPathRequest getFolderPathRequest) {
ExecutionContext executionContext = createExecutionContext(getFolderPathRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFolderPathRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFolderPathRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFolderPathResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public InitiateDocumentVersionUploadResult initiateDocumentVersionUpload(InitiateDocumentVersionUploadRequest request) {
request = beforeClientExecution(request);
return executeInitiateDocumentVersionUpload(request);
}
@SdkInternalApi
final InitiateDocumentVersionUploadResult executeInitiateDocumentVersionUpload(InitiateDocumentVersionUploadRequest initiateDocumentVersionUploadRequest) {
ExecutionContext executionContext = createExecutionContext(initiateDocumentVersionUploadRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new InitiateDocumentVersionUploadRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(initiateDocumentVersionUploadRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new InitiateDocumentVersionUploadResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public RemoveAllResourcePermissionsResult removeAllResourcePermissions(RemoveAllResourcePermissionsRequest request) {
request = beforeClientExecution(request);
return executeRemoveAllResourcePermissions(request);
}
@SdkInternalApi
final RemoveAllResourcePermissionsResult executeRemoveAllResourcePermissions(RemoveAllResourcePermissionsRequest removeAllResourcePermissionsRequest) {
ExecutionContext executionContext = createExecutionContext(removeAllResourcePermissionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RemoveAllResourcePermissionsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(removeAllResourcePermissionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new RemoveAllResourcePermissionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public RemoveResourcePermissionResult removeResourcePermission(RemoveResourcePermissionRequest request) {
request = beforeClientExecution(request);
return executeRemoveResourcePermission(request);
}
@SdkInternalApi
final RemoveResourcePermissionResult executeRemoveResourcePermission(RemoveResourcePermissionRequest removeResourcePermissionRequest) {
ExecutionContext executionContext = createExecutionContext(removeResourcePermissionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RemoveResourcePermissionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(removeResourcePermissionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new RemoveResourcePermissionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public UpdateDocumentResult updateDocument(UpdateDocumentRequest request) {
request = beforeClientExecution(request);
return executeUpdateDocument(request);
}
@SdkInternalApi
final UpdateDocumentResult executeUpdateDocument(UpdateDocumentRequest updateDocumentRequest) {
ExecutionContext executionContext = createExecutionContext(updateDocumentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateDocumentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateDocumentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateDocumentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public UpdateDocumentVersionResult updateDocumentVersion(UpdateDocumentVersionRequest request) {
request = beforeClientExecution(request);
return executeUpdateDocumentVersion(request);
}
@SdkInternalApi
final UpdateDocumentVersionResult executeUpdateDocumentVersion(UpdateDocumentVersionRequest updateDocumentVersionRequest) {
ExecutionContext executionContext = createExecutionContext(updateDocumentVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateDocumentVersionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateDocumentVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateDocumentVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public UpdateFolderResult updateFolder(UpdateFolderRequest request) {
request = beforeClientExecution(request);
return executeUpdateFolder(request);
}
@SdkInternalApi
final UpdateFolderResult executeUpdateFolder(UpdateFolderRequest updateFolderRequest) {
ExecutionContext executionContext = createExecutionContext(updateFolderRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFolderRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFolderRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFolderResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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
*/
@Override
public UpdateUserResult updateUser(UpdateUserRequest request) {
request = beforeClientExecution(request);
return executeUpdateUser(request);
}
@SdkInternalApi
final UpdateUserResult executeUpdateUser(UpdateUserRequest updateUserRequest) {
ExecutionContext executionContext = createExecutionContext(updateUserRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateUserRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* Returns additional metadata for a previously executed successful, request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
request.setEndpoint(endpoint);
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
}