/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace WorkDocs { /** *

The Amazon 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-premises or off-premises 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 antivirus or data loss * prevention. The API actions, along with CloudTrail, allow these applications to * detect when changes occur in Amazon WorkDocs. Then, the application can take the * necessary actions and replace the target file. If the target file violates the * policy, the application can also choose to email the user.

  • *

    eDiscovery/Analytics: General administrative applications are supported, such * as eDiscovery and analytics. These applications can choose to mimic or record * the actions in an Amazon WorkDocs site, along with CloudTrail, to replicate data * for eDiscovery, backup, or analytical applications.

All * Amazon WorkDocs API actions are Amazon authenticated and certificate-signed. * They not only require the use of the Amazon Web Services 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.

The pricing for Amazon WorkDocs APIs varies depending on * the API call type for these actions:

  • READ (Get*) *

  • WRITE (Activate*, Add*, Create*, Deactivate*, * Initiate*, Update*)

  • LIST (Describe*) *

  • DELETE*, CANCEL

For * information about Amazon WorkDocs API pricing, see Amazon WorkDocs Pricing.

* */ class AWS_WORKDOCS_API WorkDocsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef WorkDocsClientConfiguration ClientConfigurationType; typedef WorkDocsEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WorkDocsClient(const Aws::WorkDocs::WorkDocsClientConfiguration& clientConfiguration = Aws::WorkDocs::WorkDocsClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WorkDocsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::WorkDocs::WorkDocsClientConfiguration& clientConfiguration = Aws::WorkDocs::WorkDocsClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ WorkDocsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::WorkDocs::WorkDocsClientConfiguration& clientConfiguration = Aws::WorkDocs::WorkDocsClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WorkDocsClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WorkDocsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ WorkDocsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~WorkDocsClient(); /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::AbortDocumentVersionUploadOutcome AbortDocumentVersionUpload(const Model::AbortDocumentVersionUploadRequest& request) const; /** * A Callable wrapper for AbortDocumentVersionUpload that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AbortDocumentVersionUploadOutcomeCallable AbortDocumentVersionUploadCallable(const AbortDocumentVersionUploadRequestT& request) const { return SubmitCallable(&WorkDocsClient::AbortDocumentVersionUpload, request); } /** * An Async wrapper for AbortDocumentVersionUpload that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AbortDocumentVersionUploadAsync(const AbortDocumentVersionUploadRequestT& request, const AbortDocumentVersionUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::AbortDocumentVersionUpload, request, handler, context); } /** *

Activates the specified user. Only active users can access Amazon * WorkDocs.

See Also:

AWS * API Reference

*/ virtual Model::ActivateUserOutcome ActivateUser(const Model::ActivateUserRequest& request) const; /** * A Callable wrapper for ActivateUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ActivateUserOutcomeCallable ActivateUserCallable(const ActivateUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::ActivateUser, request); } /** * An Async wrapper for ActivateUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ActivateUserAsync(const ActivateUserRequestT& request, const ActivateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::ActivateUser, request, handler, context); } /** *

Creates a set of permissions for the specified folder or document. The * resource permissions are overwritten if the principals already have different * permissions.

See Also:

AWS * API Reference

*/ virtual Model::AddResourcePermissionsOutcome AddResourcePermissions(const Model::AddResourcePermissionsRequest& request) const; /** * A Callable wrapper for AddResourcePermissions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddResourcePermissionsOutcomeCallable AddResourcePermissionsCallable(const AddResourcePermissionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::AddResourcePermissions, request); } /** * An Async wrapper for AddResourcePermissions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddResourcePermissionsAsync(const AddResourcePermissionsRequestT& request, const AddResourcePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::AddResourcePermissions, request, handler, context); } /** *

Adds a new comment to the specified document version.

See * Also:

AWS * API Reference

*/ virtual Model::CreateCommentOutcome CreateComment(const Model::CreateCommentRequest& request) const; /** * A Callable wrapper for CreateComment that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCommentOutcomeCallable CreateCommentCallable(const CreateCommentRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateComment, request); } /** * An Async wrapper for CreateComment that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCommentAsync(const CreateCommentRequestT& request, const CreateCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateComment, request, handler, context); } /** *

Adds one or more custom properties to the specified resource (a folder, * document, or version).

See Also:

AWS * API Reference

*/ virtual Model::CreateCustomMetadataOutcome CreateCustomMetadata(const Model::CreateCustomMetadataRequest& request) const; /** * A Callable wrapper for CreateCustomMetadata that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCustomMetadataOutcomeCallable CreateCustomMetadataCallable(const CreateCustomMetadataRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateCustomMetadata, request); } /** * An Async wrapper for CreateCustomMetadata that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCustomMetadataAsync(const CreateCustomMetadataRequestT& request, const CreateCustomMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateCustomMetadata, request, handler, context); } /** *

Creates a folder with the specified name and parent folder.

See * Also:

AWS * API Reference

*/ virtual Model::CreateFolderOutcome CreateFolder(const Model::CreateFolderRequest& request) const; /** * A Callable wrapper for CreateFolder that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateFolderOutcomeCallable CreateFolderCallable(const CreateFolderRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateFolder, request); } /** * An Async wrapper for CreateFolder that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateFolderAsync(const CreateFolderRequestT& request, const CreateFolderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateFolder, request, handler, context); } /** *

Adds the specified list of labels to the given resource (a document or * folder)

See Also:

AWS * API Reference

*/ virtual Model::CreateLabelsOutcome CreateLabels(const Model::CreateLabelsRequest& request) const; /** * A Callable wrapper for CreateLabels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateLabelsOutcomeCallable CreateLabelsCallable(const CreateLabelsRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateLabels, request); } /** * An Async wrapper for CreateLabels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateLabelsAsync(const CreateLabelsRequestT& request, const CreateLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateLabels, request, handler, context); } /** *

Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint * receives a confirmation message, and must confirm the subscription.

For * more information, see Setting * up notifications for an IAM user or role in the Amazon WorkDocs Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateNotificationSubscriptionOutcome CreateNotificationSubscription(const Model::CreateNotificationSubscriptionRequest& request) const; /** * A Callable wrapper for CreateNotificationSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateNotificationSubscriptionOutcomeCallable CreateNotificationSubscriptionCallable(const CreateNotificationSubscriptionRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateNotificationSubscription, request); } /** * An Async wrapper for CreateNotificationSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateNotificationSubscriptionAsync(const CreateNotificationSubscriptionRequestT& request, const CreateNotificationSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateNotificationSubscription, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateUserOutcome CreateUser(const Model::CreateUserRequest& request) const; /** * A Callable wrapper for CreateUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateUserOutcomeCallable CreateUserCallable(const CreateUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::CreateUser, request); } /** * An Async wrapper for CreateUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateUserAsync(const CreateUserRequestT& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::CreateUser, request, handler, context); } /** *

Deactivates the specified user, which revokes the user's access to Amazon * WorkDocs.

See Also:

AWS * API Reference

*/ virtual Model::DeactivateUserOutcome DeactivateUser(const Model::DeactivateUserRequest& request) const; /** * A Callable wrapper for DeactivateUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeactivateUserOutcomeCallable DeactivateUserCallable(const DeactivateUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeactivateUser, request); } /** * An Async wrapper for DeactivateUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeactivateUserAsync(const DeactivateUserRequestT& request, const DeactivateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeactivateUser, request, handler, context); } /** *

Deletes the specified comment from the document version.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteCommentOutcome DeleteComment(const Model::DeleteCommentRequest& request) const; /** * A Callable wrapper for DeleteComment that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCommentOutcomeCallable DeleteCommentCallable(const DeleteCommentRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteComment, request); } /** * An Async wrapper for DeleteComment that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCommentAsync(const DeleteCommentRequestT& request, const DeleteCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteComment, request, handler, context); } /** *

Deletes custom metadata from the specified resource.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteCustomMetadataOutcome DeleteCustomMetadata(const Model::DeleteCustomMetadataRequest& request) const; /** * A Callable wrapper for DeleteCustomMetadata that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCustomMetadataOutcomeCallable DeleteCustomMetadataCallable(const DeleteCustomMetadataRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteCustomMetadata, request); } /** * An Async wrapper for DeleteCustomMetadata that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCustomMetadataAsync(const DeleteCustomMetadataRequestT& request, const DeleteCustomMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteCustomMetadata, request, handler, context); } /** *

Permanently deletes the specified document and its associated * metadata.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDocumentOutcome DeleteDocument(const Model::DeleteDocumentRequest& request) const; /** * A Callable wrapper for DeleteDocument that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDocumentOutcomeCallable DeleteDocumentCallable(const DeleteDocumentRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteDocument, request); } /** * An Async wrapper for DeleteDocument that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDocumentAsync(const DeleteDocumentRequestT& request, const DeleteDocumentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteDocument, request, handler, context); } /** *

Deletes a specific version of a document.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDocumentVersionOutcome DeleteDocumentVersion(const Model::DeleteDocumentVersionRequest& request) const; /** * A Callable wrapper for DeleteDocumentVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDocumentVersionOutcomeCallable DeleteDocumentVersionCallable(const DeleteDocumentVersionRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteDocumentVersion, request); } /** * An Async wrapper for DeleteDocumentVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDocumentVersionAsync(const DeleteDocumentVersionRequestT& request, const DeleteDocumentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteDocumentVersion, request, handler, context); } /** *

Permanently deletes the specified folder and its contents.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteFolderOutcome DeleteFolder(const Model::DeleteFolderRequest& request) const; /** * A Callable wrapper for DeleteFolder that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteFolderOutcomeCallable DeleteFolderCallable(const DeleteFolderRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteFolder, request); } /** * An Async wrapper for DeleteFolder that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteFolderAsync(const DeleteFolderRequestT& request, const DeleteFolderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteFolder, request, handler, context); } /** *

Deletes the contents of the specified folder.

See Also:

AWS * API Reference

*/ virtual Model::DeleteFolderContentsOutcome DeleteFolderContents(const Model::DeleteFolderContentsRequest& request) const; /** * A Callable wrapper for DeleteFolderContents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteFolderContentsOutcomeCallable DeleteFolderContentsCallable(const DeleteFolderContentsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteFolderContents, request); } /** * An Async wrapper for DeleteFolderContents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteFolderContentsAsync(const DeleteFolderContentsRequestT& request, const DeleteFolderContentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteFolderContents, request, handler, context); } /** *

Deletes the specified list of labels from a resource.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteLabelsOutcome DeleteLabels(const Model::DeleteLabelsRequest& request) const; /** * A Callable wrapper for DeleteLabels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLabelsOutcomeCallable DeleteLabelsCallable(const DeleteLabelsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteLabels, request); } /** * An Async wrapper for DeleteLabels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLabelsAsync(const DeleteLabelsRequestT& request, const DeleteLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteLabels, request, handler, context); } /** *

Deletes the specified subscription from the specified * organization.

See Also:

AWS * API Reference

*/ virtual Model::DeleteNotificationSubscriptionOutcome DeleteNotificationSubscription(const Model::DeleteNotificationSubscriptionRequest& request) const; /** * A Callable wrapper for DeleteNotificationSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteNotificationSubscriptionOutcomeCallable DeleteNotificationSubscriptionCallable(const DeleteNotificationSubscriptionRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteNotificationSubscription, request); } /** * An Async wrapper for DeleteNotificationSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteNotificationSubscriptionAsync(const DeleteNotificationSubscriptionRequestT& request, const DeleteNotificationSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteNotificationSubscription, request, handler, context); } /** *

Deletes the specified user from a Simple AD or Microsoft AD directory.

*

Deleting a user immediately and permanently deletes all content * in that user's folder structure. Site retention policies do NOT apply to this * type of deletion.

See Also:

AWS * API Reference

*/ virtual Model::DeleteUserOutcome DeleteUser(const Model::DeleteUserRequest& request) const; /** * A Callable wrapper for DeleteUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteUserOutcomeCallable DeleteUserCallable(const DeleteUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::DeleteUser, request); } /** * An Async wrapper for DeleteUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteUserAsync(const DeleteUserRequestT& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DeleteUser, request, handler, context); } /** *

Describes the user activities in a specified time period.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeActivitiesOutcome DescribeActivities(const Model::DescribeActivitiesRequest& request) const; /** * A Callable wrapper for DescribeActivities that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeActivitiesOutcomeCallable DescribeActivitiesCallable(const DescribeActivitiesRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeActivities, request); } /** * An Async wrapper for DescribeActivities that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeActivitiesAsync(const DescribeActivitiesRequestT& request, const DescribeActivitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeActivities, request, handler, context); } /** *

List all the comments for the specified document version.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeCommentsOutcome DescribeComments(const Model::DescribeCommentsRequest& request) const; /** * A Callable wrapper for DescribeComments that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCommentsOutcomeCallable DescribeCommentsCallable(const DescribeCommentsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeComments, request); } /** * An Async wrapper for DescribeComments that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCommentsAsync(const DescribeCommentsRequestT& request, const DescribeCommentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeComments, request, handler, context); } /** *

Retrieves the document versions for the specified document.

By * default, only active versions are returned.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDocumentVersionsOutcome DescribeDocumentVersions(const Model::DescribeDocumentVersionsRequest& request) const; /** * A Callable wrapper for DescribeDocumentVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDocumentVersionsOutcomeCallable DescribeDocumentVersionsCallable(const DescribeDocumentVersionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeDocumentVersions, request); } /** * An Async wrapper for DescribeDocumentVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDocumentVersionsAsync(const DescribeDocumentVersionsRequestT& request, const DescribeDocumentVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeDocumentVersions, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeFolderContentsOutcome DescribeFolderContents(const Model::DescribeFolderContentsRequest& request) const; /** * A Callable wrapper for DescribeFolderContents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFolderContentsOutcomeCallable DescribeFolderContentsCallable(const DescribeFolderContentsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeFolderContents, request); } /** * An Async wrapper for DescribeFolderContents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFolderContentsAsync(const DescribeFolderContentsRequestT& request, const DescribeFolderContentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeFolderContents, request, handler, context); } /** *

Describes the groups specified by the query. Groups are defined by the * underlying Active Directory.

See Also:

AWS * API Reference

*/ virtual Model::DescribeGroupsOutcome DescribeGroups(const Model::DescribeGroupsRequest& request) const; /** * A Callable wrapper for DescribeGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGroupsOutcomeCallable DescribeGroupsCallable(const DescribeGroupsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeGroups, request); } /** * An Async wrapper for DescribeGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGroupsAsync(const DescribeGroupsRequestT& request, const DescribeGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeGroups, request, handler, context); } /** *

Lists the specified notification subscriptions.

See Also:

AWS * API Reference

*/ virtual Model::DescribeNotificationSubscriptionsOutcome DescribeNotificationSubscriptions(const Model::DescribeNotificationSubscriptionsRequest& request) const; /** * A Callable wrapper for DescribeNotificationSubscriptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeNotificationSubscriptionsOutcomeCallable DescribeNotificationSubscriptionsCallable(const DescribeNotificationSubscriptionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeNotificationSubscriptions, request); } /** * An Async wrapper for DescribeNotificationSubscriptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeNotificationSubscriptionsAsync(const DescribeNotificationSubscriptionsRequestT& request, const DescribeNotificationSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeNotificationSubscriptions, request, handler, context); } /** *

Describes the permissions of a specified resource.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeResourcePermissionsOutcome DescribeResourcePermissions(const Model::DescribeResourcePermissionsRequest& request) const; /** * A Callable wrapper for DescribeResourcePermissions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeResourcePermissionsOutcomeCallable DescribeResourcePermissionsCallable(const DescribeResourcePermissionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeResourcePermissions, request); } /** * An Async wrapper for DescribeResourcePermissions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeResourcePermissionsAsync(const DescribeResourcePermissionsRequestT& request, const DescribeResourcePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeResourcePermissions, request, handler, context); } /** *

Describes the current user's special folders; the RootFolder and * the RecycleBin. RootFolder is the root of user's files * and folders and RecycleBin is the root of recycled items. This is * not a valid action for SigV4 (administrative API) clients.

This action * requires an authentication token. To get an authentication token, register an * application with Amazon WorkDocs. For more information, see Authentication * and Access Control for User Applications in the Amazon WorkDocs Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::DescribeRootFoldersOutcome DescribeRootFolders(const Model::DescribeRootFoldersRequest& request) const; /** * A Callable wrapper for DescribeRootFolders that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeRootFoldersOutcomeCallable DescribeRootFoldersCallable(const DescribeRootFoldersRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeRootFolders, request); } /** * An Async wrapper for DescribeRootFolders that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeRootFoldersAsync(const DescribeRootFoldersRequestT& request, const DescribeRootFoldersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeRootFolders, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeUsersOutcome DescribeUsers(const Model::DescribeUsersRequest& request) const; /** * A Callable wrapper for DescribeUsers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeUsersOutcomeCallable DescribeUsersCallable(const DescribeUsersRequestT& request) const { return SubmitCallable(&WorkDocsClient::DescribeUsers, request); } /** * An Async wrapper for DescribeUsers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeUsersAsync(const DescribeUsersRequestT& request, const DescribeUsersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::DescribeUsers, request, handler, context); } /** *

Retrieves details of the current user for whom the authentication token was * generated. This is not a valid action for SigV4 (administrative API) * clients.

This action requires an authentication token. To get an * authentication token, register an application with Amazon WorkDocs. For more * information, see Authentication * and Access Control for User Applications in the Amazon WorkDocs Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::GetCurrentUserOutcome GetCurrentUser(const Model::GetCurrentUserRequest& request) const; /** * A Callable wrapper for GetCurrentUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCurrentUserOutcomeCallable GetCurrentUserCallable(const GetCurrentUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetCurrentUser, request); } /** * An Async wrapper for GetCurrentUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCurrentUserAsync(const GetCurrentUserRequestT& request, const GetCurrentUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetCurrentUser, request, handler, context); } /** *

Retrieves details of a document.

See Also:

AWS * API Reference

*/ virtual Model::GetDocumentOutcome GetDocument(const Model::GetDocumentRequest& request) const; /** * A Callable wrapper for GetDocument that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDocumentOutcomeCallable GetDocumentCallable(const GetDocumentRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetDocument, request); } /** * An Async wrapper for GetDocument that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDocumentAsync(const GetDocumentRequestT& request, const GetDocumentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetDocument, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetDocumentPathOutcome GetDocumentPath(const Model::GetDocumentPathRequest& request) const; /** * A Callable wrapper for GetDocumentPath that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDocumentPathOutcomeCallable GetDocumentPathCallable(const GetDocumentPathRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetDocumentPath, request); } /** * An Async wrapper for GetDocumentPath that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDocumentPathAsync(const GetDocumentPathRequestT& request, const GetDocumentPathResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetDocumentPath, request, handler, context); } /** *

Retrieves version metadata for the specified document.

See * Also:

AWS * API Reference

*/ virtual Model::GetDocumentVersionOutcome GetDocumentVersion(const Model::GetDocumentVersionRequest& request) const; /** * A Callable wrapper for GetDocumentVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDocumentVersionOutcomeCallable GetDocumentVersionCallable(const GetDocumentVersionRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetDocumentVersion, request); } /** * An Async wrapper for GetDocumentVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDocumentVersionAsync(const GetDocumentVersionRequestT& request, const GetDocumentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetDocumentVersion, request, handler, context); } /** *

Retrieves the metadata of the specified folder.

See Also:

AWS * API Reference

*/ virtual Model::GetFolderOutcome GetFolder(const Model::GetFolderRequest& request) const; /** * A Callable wrapper for GetFolder that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetFolderOutcomeCallable GetFolderCallable(const GetFolderRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetFolder, request); } /** * An Async wrapper for GetFolder that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetFolderAsync(const GetFolderRequestT& request, const GetFolderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetFolder, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetFolderPathOutcome GetFolderPath(const Model::GetFolderPathRequest& request) const; /** * A Callable wrapper for GetFolderPath that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetFolderPathOutcomeCallable GetFolderPathCallable(const GetFolderPathRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetFolderPath, request); } /** * An Async wrapper for GetFolderPath that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetFolderPathAsync(const GetFolderPathRequestT& request, const GetFolderPathResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetFolderPath, request, handler, context); } /** *

Retrieves a collection of resources, including folders and documents. The * only CollectionType supported is * SHARED_WITH_ME.

See Also:

AWS * API Reference

*/ virtual Model::GetResourcesOutcome GetResources(const Model::GetResourcesRequest& request) const; /** * A Callable wrapper for GetResources that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetResourcesOutcomeCallable GetResourcesCallable(const GetResourcesRequestT& request) const { return SubmitCallable(&WorkDocsClient::GetResources, request); } /** * An Async wrapper for GetResources that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetResourcesAsync(const GetResourcesRequestT& request, const GetResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::GetResources, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::InitiateDocumentVersionUploadOutcome InitiateDocumentVersionUpload(const Model::InitiateDocumentVersionUploadRequest& request) const; /** * A Callable wrapper for InitiateDocumentVersionUpload that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::InitiateDocumentVersionUploadOutcomeCallable InitiateDocumentVersionUploadCallable(const InitiateDocumentVersionUploadRequestT& request) const { return SubmitCallable(&WorkDocsClient::InitiateDocumentVersionUpload, request); } /** * An Async wrapper for InitiateDocumentVersionUpload that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void InitiateDocumentVersionUploadAsync(const InitiateDocumentVersionUploadRequestT& request, const InitiateDocumentVersionUploadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::InitiateDocumentVersionUpload, request, handler, context); } /** *

Removes all the permissions from the specified resource.

See * Also:

AWS * API Reference

*/ virtual Model::RemoveAllResourcePermissionsOutcome RemoveAllResourcePermissions(const Model::RemoveAllResourcePermissionsRequest& request) const; /** * A Callable wrapper for RemoveAllResourcePermissions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveAllResourcePermissionsOutcomeCallable RemoveAllResourcePermissionsCallable(const RemoveAllResourcePermissionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::RemoveAllResourcePermissions, request); } /** * An Async wrapper for RemoveAllResourcePermissions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveAllResourcePermissionsAsync(const RemoveAllResourcePermissionsRequestT& request, const RemoveAllResourcePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::RemoveAllResourcePermissions, request, handler, context); } /** *

Removes the permission for the specified principal from the specified * resource.

See Also:

AWS * API Reference

*/ virtual Model::RemoveResourcePermissionOutcome RemoveResourcePermission(const Model::RemoveResourcePermissionRequest& request) const; /** * A Callable wrapper for RemoveResourcePermission that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveResourcePermissionOutcomeCallable RemoveResourcePermissionCallable(const RemoveResourcePermissionRequestT& request) const { return SubmitCallable(&WorkDocsClient::RemoveResourcePermission, request); } /** * An Async wrapper for RemoveResourcePermission that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveResourcePermissionAsync(const RemoveResourcePermissionRequestT& request, const RemoveResourcePermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::RemoveResourcePermission, request, handler, context); } /** *

Recovers a deleted version of an Amazon WorkDocs document.

See * Also:

AWS * API Reference

*/ virtual Model::RestoreDocumentVersionsOutcome RestoreDocumentVersions(const Model::RestoreDocumentVersionsRequest& request) const; /** * A Callable wrapper for RestoreDocumentVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RestoreDocumentVersionsOutcomeCallable RestoreDocumentVersionsCallable(const RestoreDocumentVersionsRequestT& request) const { return SubmitCallable(&WorkDocsClient::RestoreDocumentVersions, request); } /** * An Async wrapper for RestoreDocumentVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RestoreDocumentVersionsAsync(const RestoreDocumentVersionsRequestT& request, const RestoreDocumentVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::RestoreDocumentVersions, request, handler, context); } /** *

Searches metadata and the content of folders, documents, document versions, * and comments.

See Also:

AWS * API Reference

*/ virtual Model::SearchResourcesOutcome SearchResources(const Model::SearchResourcesRequest& request) const; /** * A Callable wrapper for SearchResources that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchResourcesOutcomeCallable SearchResourcesCallable(const SearchResourcesRequestT& request) const { return SubmitCallable(&WorkDocsClient::SearchResources, request); } /** * An Async wrapper for SearchResources that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchResourcesAsync(const SearchResourcesRequestT& request, const SearchResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::SearchResources, request, handler, context); } /** *

Updates the specified attributes of a document. The user must have access to * both the document and its parent folder, if applicable.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateDocumentOutcome UpdateDocument(const Model::UpdateDocumentRequest& request) const; /** * A Callable wrapper for UpdateDocument that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDocumentOutcomeCallable UpdateDocumentCallable(const UpdateDocumentRequestT& request) const { return SubmitCallable(&WorkDocsClient::UpdateDocument, request); } /** * An Async wrapper for UpdateDocument that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDocumentAsync(const UpdateDocumentRequestT& request, const UpdateDocumentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::UpdateDocument, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::UpdateDocumentVersionOutcome UpdateDocumentVersion(const Model::UpdateDocumentVersionRequest& request) const; /** * A Callable wrapper for UpdateDocumentVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDocumentVersionOutcomeCallable UpdateDocumentVersionCallable(const UpdateDocumentVersionRequestT& request) const { return SubmitCallable(&WorkDocsClient::UpdateDocumentVersion, request); } /** * An Async wrapper for UpdateDocumentVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDocumentVersionAsync(const UpdateDocumentVersionRequestT& request, const UpdateDocumentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::UpdateDocumentVersion, request, handler, context); } /** *

Updates the specified attributes of the specified folder. The user must have * access to both the folder and its parent folder, if applicable.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateFolderOutcome UpdateFolder(const Model::UpdateFolderRequest& request) const; /** * A Callable wrapper for UpdateFolder that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateFolderOutcomeCallable UpdateFolderCallable(const UpdateFolderRequestT& request) const { return SubmitCallable(&WorkDocsClient::UpdateFolder, request); } /** * An Async wrapper for UpdateFolder that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateFolderAsync(const UpdateFolderRequestT& request, const UpdateFolderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::UpdateFolder, request, handler, context); } /** *

Updates the specified attributes of the specified user, and grants or revokes * administrative privileges to the Amazon WorkDocs site.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateUserOutcome UpdateUser(const Model::UpdateUserRequest& request) const; /** * A Callable wrapper for UpdateUser that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateUserOutcomeCallable UpdateUserCallable(const UpdateUserRequestT& request) const { return SubmitCallable(&WorkDocsClient::UpdateUser, request); } /** * An Async wrapper for UpdateUser that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateUserAsync(const UpdateUserRequestT& request, const UpdateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&WorkDocsClient::UpdateUser, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const WorkDocsClientConfiguration& clientConfiguration); WorkDocsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace WorkDocs } // namespace Aws