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

Amazon DocumentDB is a fast, reliable, and fully managed database service. * Amazon DocumentDB makes it easy to set up, operate, and scale MongoDB-compatible * databases in the cloud. With Amazon DocumentDB, you can run the same application * code and use the same drivers and tools that you use with MongoDB.

*/ class AWS_DOCDB_API DocDBClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSXMLClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef DocDBClientConfiguration ClientConfigurationType; typedef DocDBEndpointProvider 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. */ DocDBClient(const Aws::DocDB::DocDBClientConfiguration& clientConfiguration = Aws::DocDB::DocDBClientConfiguration(), 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. */ DocDBClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::DocDB::DocDBClientConfiguration& clientConfiguration = Aws::DocDB::DocDBClientConfiguration()); /** * 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 */ DocDBClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::DocDB::DocDBClientConfiguration& clientConfiguration = Aws::DocDB::DocDBClientConfiguration()); /* 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. */ DocDBClient(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. */ DocDBClient(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 */ DocDBClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~DocDBClient(); /** * Converts any request object to a presigned URL with the GET method, using region for the signer and a timeout of 15 minutes. */ Aws::String ConvertRequestToPresignedUrl(const Aws::AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const; /** *

Adds a source identifier to an existing event notification * subscription.

See Also:

AWS * API Reference

*/ virtual Model::AddSourceIdentifierToSubscriptionOutcome AddSourceIdentifierToSubscription(const Model::AddSourceIdentifierToSubscriptionRequest& request) const; /** * A Callable wrapper for AddSourceIdentifierToSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddSourceIdentifierToSubscriptionOutcomeCallable AddSourceIdentifierToSubscriptionCallable(const AddSourceIdentifierToSubscriptionRequestT& request) const { return SubmitCallable(&DocDBClient::AddSourceIdentifierToSubscription, request); } /** * An Async wrapper for AddSourceIdentifierToSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddSourceIdentifierToSubscriptionAsync(const AddSourceIdentifierToSubscriptionRequestT& request, const AddSourceIdentifierToSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::AddSourceIdentifierToSubscription, request, handler, context); } /** *

Adds metadata tags to an Amazon DocumentDB resource. You can use these tags * with cost allocation reporting to track costs that are associated with Amazon * DocumentDB resources or in a Condition statement in an Identity and * Access Management (IAM) policy for Amazon DocumentDB.

See Also:

* AWS * API Reference

*/ virtual Model::AddTagsToResourceOutcome AddTagsToResource(const Model::AddTagsToResourceRequest& request) const; /** * A Callable wrapper for AddTagsToResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddTagsToResourceOutcomeCallable AddTagsToResourceCallable(const AddTagsToResourceRequestT& request) const { return SubmitCallable(&DocDBClient::AddTagsToResource, request); } /** * An Async wrapper for AddTagsToResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddTagsToResourceAsync(const AddTagsToResourceRequestT& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::AddTagsToResource, request, handler, context); } /** *

Applies a pending maintenance action to a resource (for example, to an Amazon * DocumentDB instance).

See Also:

AWS * API Reference

*/ virtual Model::ApplyPendingMaintenanceActionOutcome ApplyPendingMaintenanceAction(const Model::ApplyPendingMaintenanceActionRequest& request) const; /** * A Callable wrapper for ApplyPendingMaintenanceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ApplyPendingMaintenanceActionOutcomeCallable ApplyPendingMaintenanceActionCallable(const ApplyPendingMaintenanceActionRequestT& request) const { return SubmitCallable(&DocDBClient::ApplyPendingMaintenanceAction, request); } /** * An Async wrapper for ApplyPendingMaintenanceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ApplyPendingMaintenanceActionAsync(const ApplyPendingMaintenanceActionRequestT& request, const ApplyPendingMaintenanceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ApplyPendingMaintenanceAction, request, handler, context); } /** *

Copies the specified cluster parameter group.

See Also:

AWS * API Reference

*/ virtual Model::CopyDBClusterParameterGroupOutcome CopyDBClusterParameterGroup(const Model::CopyDBClusterParameterGroupRequest& request) const; /** * A Callable wrapper for CopyDBClusterParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CopyDBClusterParameterGroupOutcomeCallable CopyDBClusterParameterGroupCallable(const CopyDBClusterParameterGroupRequestT& request) const { return SubmitCallable(&DocDBClient::CopyDBClusterParameterGroup, request); } /** * An Async wrapper for CopyDBClusterParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CopyDBClusterParameterGroupAsync(const CopyDBClusterParameterGroupRequestT& request, const CopyDBClusterParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CopyDBClusterParameterGroup, request, handler, context); } /** *

Copies a snapshot of a cluster.

To copy a cluster snapshot from a * shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier * must be the Amazon Resource Name (ARN) of the shared cluster snapshot. You can * only copy a shared DB cluster snapshot, whether encrypted or not, in the same * Amazon Web Services Region.

To cancel the copy operation after it is in * progress, delete the target cluster snapshot identified by * TargetDBClusterSnapshotIdentifier while that cluster snapshot is in * the copying status.

See Also:

AWS * API Reference

*/ virtual Model::CopyDBClusterSnapshotOutcome CopyDBClusterSnapshot(const Model::CopyDBClusterSnapshotRequest& request) const; /** * A Callable wrapper for CopyDBClusterSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CopyDBClusterSnapshotOutcomeCallable CopyDBClusterSnapshotCallable(const CopyDBClusterSnapshotRequestT& request) const { return SubmitCallable(&DocDBClient::CopyDBClusterSnapshot, request); } /** * An Async wrapper for CopyDBClusterSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CopyDBClusterSnapshotAsync(const CopyDBClusterSnapshotRequestT& request, const CopyDBClusterSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CopyDBClusterSnapshot, request, handler, context); } /** *

Creates a new Amazon DocumentDB cluster.

See Also:

AWS * API Reference

*/ virtual Model::CreateDBClusterOutcome CreateDBCluster(const Model::CreateDBClusterRequest& request) const; /** * A Callable wrapper for CreateDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDBClusterOutcomeCallable CreateDBClusterCallable(const CreateDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::CreateDBCluster, request); } /** * An Async wrapper for CreateDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDBClusterAsync(const CreateDBClusterRequestT& request, const CreateDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateDBCluster, request, handler, context); } /** *

Creates a new cluster parameter group.

Parameters in a cluster * parameter group apply to all of the instances in a cluster.

A cluster * parameter group is initially created with the default parameters for the * database engine used by instances in the cluster. In Amazon DocumentDB, you * cannot make modifications directly to the default.docdb3.6 cluster * parameter group. If your Amazon DocumentDB cluster is using the default cluster * parameter group and you want to modify a value in it, you must first * create a new parameter group or * copy an existing parameter group, modify it, and then apply the modified * parameter group to your cluster. For the new cluster parameter group and * associated settings to take effect, you must then reboot the instances in the * cluster without failover. For more information, see * Modifying Amazon DocumentDB Cluster Parameter Groups.

See * Also:

AWS * API Reference

*/ virtual Model::CreateDBClusterParameterGroupOutcome CreateDBClusterParameterGroup(const Model::CreateDBClusterParameterGroupRequest& request) const; /** * A Callable wrapper for CreateDBClusterParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDBClusterParameterGroupOutcomeCallable CreateDBClusterParameterGroupCallable(const CreateDBClusterParameterGroupRequestT& request) const { return SubmitCallable(&DocDBClient::CreateDBClusterParameterGroup, request); } /** * An Async wrapper for CreateDBClusterParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDBClusterParameterGroupAsync(const CreateDBClusterParameterGroupRequestT& request, const CreateDBClusterParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateDBClusterParameterGroup, request, handler, context); } /** *

Creates a snapshot of a cluster.

See Also:

AWS * API Reference

*/ virtual Model::CreateDBClusterSnapshotOutcome CreateDBClusterSnapshot(const Model::CreateDBClusterSnapshotRequest& request) const; /** * A Callable wrapper for CreateDBClusterSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDBClusterSnapshotOutcomeCallable CreateDBClusterSnapshotCallable(const CreateDBClusterSnapshotRequestT& request) const { return SubmitCallable(&DocDBClient::CreateDBClusterSnapshot, request); } /** * An Async wrapper for CreateDBClusterSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDBClusterSnapshotAsync(const CreateDBClusterSnapshotRequestT& request, const CreateDBClusterSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateDBClusterSnapshot, request, handler, context); } /** *

Creates a new instance.

See Also:

AWS * API Reference

*/ virtual Model::CreateDBInstanceOutcome CreateDBInstance(const Model::CreateDBInstanceRequest& request) const; /** * A Callable wrapper for CreateDBInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDBInstanceOutcomeCallable CreateDBInstanceCallable(const CreateDBInstanceRequestT& request) const { return SubmitCallable(&DocDBClient::CreateDBInstance, request); } /** * An Async wrapper for CreateDBInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDBInstanceAsync(const CreateDBInstanceRequestT& request, const CreateDBInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateDBInstance, request, handler, context); } /** *

Creates a new subnet group. subnet groups must contain at least one subnet in * at least two Availability Zones in the Amazon Web Services Region.

See * Also:

AWS * API Reference

*/ virtual Model::CreateDBSubnetGroupOutcome CreateDBSubnetGroup(const Model::CreateDBSubnetGroupRequest& request) const; /** * A Callable wrapper for CreateDBSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDBSubnetGroupOutcomeCallable CreateDBSubnetGroupCallable(const CreateDBSubnetGroupRequestT& request) const { return SubmitCallable(&DocDBClient::CreateDBSubnetGroup, request); } /** * An Async wrapper for CreateDBSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDBSubnetGroupAsync(const CreateDBSubnetGroupRequestT& request, const CreateDBSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateDBSubnetGroup, request, handler, context); } /** *

Creates an Amazon DocumentDB event notification subscription. This action * requires a topic Amazon Resource Name (ARN) created by using the Amazon * DocumentDB console, the Amazon SNS console, or the Amazon SNS API. To obtain an * ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the * topic. The ARN is displayed in the Amazon SNS console.

You can specify * the type of source (SourceType) that you want to be notified of. * You can also provide a list of Amazon DocumentDB sources * (SourceIds) that trigger the events, and you can provide a list of * event categories (EventCategories) for events that you want to be * notified of. For example, you can specify SourceType = db-instance, * SourceIds = mydbinstance1, mydbinstance2 and EventCategories * = Availability, Backup.

If you specify both the * SourceType and SourceIds (such as SourceType = * db-instance and SourceIdentifier = myDBInstance1), you are * notified of all the db-instance events for the specified source. If * you specify a SourceType but do not specify a * SourceIdentifier, you receive notice of the events for that source * type for all your Amazon DocumentDB sources. If you do not specify either the * SourceType or the SourceIdentifier, you are notified * of events generated from all Amazon DocumentDB sources belonging to your * customer account.

See Also:

AWS * API Reference

*/ virtual Model::CreateEventSubscriptionOutcome CreateEventSubscription(const Model::CreateEventSubscriptionRequest& request) const; /** * A Callable wrapper for CreateEventSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateEventSubscriptionOutcomeCallable CreateEventSubscriptionCallable(const CreateEventSubscriptionRequestT& request) const { return SubmitCallable(&DocDBClient::CreateEventSubscription, request); } /** * An Async wrapper for CreateEventSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateEventSubscriptionAsync(const CreateEventSubscriptionRequestT& request, const CreateEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateEventSubscription, request, handler, context); } /** *

Creates an Amazon DocumentDB global cluster that can span multiple multiple * Amazon Web Services Regions. The global cluster contains one primary cluster * with read-write capability, and up-to give read-only secondary clusters. Global * clusters uses storage-based fast replication across regions with latencies less * than one second, using dedicated infrastructure with no impact to your * workload’s performance.

You can create a global cluster that is * initially empty, and then add a primary and a secondary to it. Or you can * specify an existing cluster during the create operation, and this cluster * becomes the primary of the global cluster.

This action only * applies to Amazon DocumentDB clusters.

See Also:

AWS * API Reference

*/ virtual Model::CreateGlobalClusterOutcome CreateGlobalCluster(const Model::CreateGlobalClusterRequest& request) const; /** * A Callable wrapper for CreateGlobalCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateGlobalClusterOutcomeCallable CreateGlobalClusterCallable(const CreateGlobalClusterRequestT& request) const { return SubmitCallable(&DocDBClient::CreateGlobalCluster, request); } /** * An Async wrapper for CreateGlobalCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateGlobalClusterAsync(const CreateGlobalClusterRequestT& request, const CreateGlobalClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::CreateGlobalCluster, request, handler, context); } /** *

Deletes a previously provisioned cluster. When you delete a cluster, all * automated backups for that cluster are deleted and can't be recovered. Manual DB * cluster snapshots of the specified cluster are not deleted.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteDBClusterOutcome DeleteDBCluster(const Model::DeleteDBClusterRequest& request) const; /** * A Callable wrapper for DeleteDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDBClusterOutcomeCallable DeleteDBClusterCallable(const DeleteDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteDBCluster, request); } /** * An Async wrapper for DeleteDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDBClusterAsync(const DeleteDBClusterRequestT& request, const DeleteDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteDBCluster, request, handler, context); } /** *

Deletes a specified cluster parameter group. The cluster parameter group to * be deleted can't be associated with any clusters.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDBClusterParameterGroupOutcome DeleteDBClusterParameterGroup(const Model::DeleteDBClusterParameterGroupRequest& request) const; /** * A Callable wrapper for DeleteDBClusterParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDBClusterParameterGroupOutcomeCallable DeleteDBClusterParameterGroupCallable(const DeleteDBClusterParameterGroupRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteDBClusterParameterGroup, request); } /** * An Async wrapper for DeleteDBClusterParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDBClusterParameterGroupAsync(const DeleteDBClusterParameterGroupRequestT& request, const DeleteDBClusterParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteDBClusterParameterGroup, request, handler, context); } /** *

Deletes a cluster snapshot. If the snapshot is being copied, the copy * operation is terminated.

The cluster snapshot must be in the * available state to be deleted.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteDBClusterSnapshotOutcome DeleteDBClusterSnapshot(const Model::DeleteDBClusterSnapshotRequest& request) const; /** * A Callable wrapper for DeleteDBClusterSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDBClusterSnapshotOutcomeCallable DeleteDBClusterSnapshotCallable(const DeleteDBClusterSnapshotRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteDBClusterSnapshot, request); } /** * An Async wrapper for DeleteDBClusterSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDBClusterSnapshotAsync(const DeleteDBClusterSnapshotRequestT& request, const DeleteDBClusterSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteDBClusterSnapshot, request, handler, context); } /** *

Deletes a previously provisioned instance.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDBInstanceOutcome DeleteDBInstance(const Model::DeleteDBInstanceRequest& request) const; /** * A Callable wrapper for DeleteDBInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDBInstanceOutcomeCallable DeleteDBInstanceCallable(const DeleteDBInstanceRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteDBInstance, request); } /** * An Async wrapper for DeleteDBInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDBInstanceAsync(const DeleteDBInstanceRequestT& request, const DeleteDBInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteDBInstance, request, handler, context); } /** *

Deletes a subnet group.

The specified database subnet group * must not be associated with any DB instances.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteDBSubnetGroupOutcome DeleteDBSubnetGroup(const Model::DeleteDBSubnetGroupRequest& request) const; /** * A Callable wrapper for DeleteDBSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDBSubnetGroupOutcomeCallable DeleteDBSubnetGroupCallable(const DeleteDBSubnetGroupRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteDBSubnetGroup, request); } /** * An Async wrapper for DeleteDBSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDBSubnetGroupAsync(const DeleteDBSubnetGroupRequestT& request, const DeleteDBSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteDBSubnetGroup, request, handler, context); } /** *

Deletes an Amazon DocumentDB event notification subscription.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteEventSubscriptionOutcome DeleteEventSubscription(const Model::DeleteEventSubscriptionRequest& request) const; /** * A Callable wrapper for DeleteEventSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteEventSubscriptionOutcomeCallable DeleteEventSubscriptionCallable(const DeleteEventSubscriptionRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteEventSubscription, request); } /** * An Async wrapper for DeleteEventSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteEventSubscriptionAsync(const DeleteEventSubscriptionRequestT& request, const DeleteEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteEventSubscription, request, handler, context); } /** *

Deletes a global cluster. The primary and secondary clusters must already be * detached or deleted before attempting to delete a global cluster.

*

This action only applies to Amazon DocumentDB clusters.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteGlobalClusterOutcome DeleteGlobalCluster(const Model::DeleteGlobalClusterRequest& request) const; /** * A Callable wrapper for DeleteGlobalCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteGlobalClusterOutcomeCallable DeleteGlobalClusterCallable(const DeleteGlobalClusterRequestT& request) const { return SubmitCallable(&DocDBClient::DeleteGlobalCluster, request); } /** * An Async wrapper for DeleteGlobalCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteGlobalClusterAsync(const DeleteGlobalClusterRequestT& request, const DeleteGlobalClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DeleteGlobalCluster, request, handler, context); } /** *

Returns a list of certificate authority (CA) certificates provided by Amazon * DocumentDB for this Amazon Web Services account.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCertificatesOutcome DescribeCertificates(const Model::DescribeCertificatesRequest& request) const; /** * A Callable wrapper for DescribeCertificates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCertificatesOutcomeCallable DescribeCertificatesCallable(const DescribeCertificatesRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeCertificates, request); } /** * An Async wrapper for DescribeCertificates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCertificatesAsync(const DescribeCertificatesRequestT& request, const DescribeCertificatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeCertificates, request, handler, context); } /** *

Returns a list of DBClusterParameterGroup descriptions. If a * DBClusterParameterGroupName parameter is specified, the list * contains only the description of the specified cluster parameter group. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBClusterParameterGroupsOutcome DescribeDBClusterParameterGroups(const Model::DescribeDBClusterParameterGroupsRequest& request) const; /** * A Callable wrapper for DescribeDBClusterParameterGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBClusterParameterGroupsOutcomeCallable DescribeDBClusterParameterGroupsCallable(const DescribeDBClusterParameterGroupsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBClusterParameterGroups, request); } /** * An Async wrapper for DescribeDBClusterParameterGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBClusterParameterGroupsAsync(const DescribeDBClusterParameterGroupsRequestT& request, const DescribeDBClusterParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBClusterParameterGroups, request, handler, context); } /** *

Returns the detailed parameter list for a particular cluster parameter * group.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBClusterParametersOutcome DescribeDBClusterParameters(const Model::DescribeDBClusterParametersRequest& request) const; /** * A Callable wrapper for DescribeDBClusterParameters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBClusterParametersOutcomeCallable DescribeDBClusterParametersCallable(const DescribeDBClusterParametersRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBClusterParameters, request); } /** * An Async wrapper for DescribeDBClusterParameters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBClusterParametersAsync(const DescribeDBClusterParametersRequestT& request, const DescribeDBClusterParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBClusterParameters, request, handler, context); } /** *

Returns a list of cluster snapshot attribute names and values for a manual DB * cluster snapshot.

When you share snapshots with other Amazon Web Services * accounts, DescribeDBClusterSnapshotAttributes returns the * restore attribute and a list of IDs for the Amazon Web Services * accounts that are authorized to copy or restore the manual cluster snapshot. If * all is included in the list of values for the restore * attribute, then the manual cluster snapshot is public and can be copied or * restored by all Amazon Web Services accounts.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBClusterSnapshotAttributesOutcome DescribeDBClusterSnapshotAttributes(const Model::DescribeDBClusterSnapshotAttributesRequest& request) const; /** * A Callable wrapper for DescribeDBClusterSnapshotAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBClusterSnapshotAttributesOutcomeCallable DescribeDBClusterSnapshotAttributesCallable(const DescribeDBClusterSnapshotAttributesRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBClusterSnapshotAttributes, request); } /** * An Async wrapper for DescribeDBClusterSnapshotAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBClusterSnapshotAttributesAsync(const DescribeDBClusterSnapshotAttributesRequestT& request, const DescribeDBClusterSnapshotAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBClusterSnapshotAttributes, request, handler, context); } /** *

Returns information about cluster snapshots. This API operation supports * pagination.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBClusterSnapshotsOutcome DescribeDBClusterSnapshots(const Model::DescribeDBClusterSnapshotsRequest& request) const; /** * A Callable wrapper for DescribeDBClusterSnapshots that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBClusterSnapshotsOutcomeCallable DescribeDBClusterSnapshotsCallable(const DescribeDBClusterSnapshotsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBClusterSnapshots, request); } /** * An Async wrapper for DescribeDBClusterSnapshots that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBClusterSnapshotsAsync(const DescribeDBClusterSnapshotsRequestT& request, const DescribeDBClusterSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBClusterSnapshots, request, handler, context); } /** *

Returns information about provisioned Amazon DocumentDB clusters. This API * operation supports pagination. For certain management features such as cluster * and instance lifecycle management, Amazon DocumentDB leverages operational * technology that is shared with Amazon RDS and Amazon Neptune. Use the * filterName=engine,Values=docdb filter parameter to return only * Amazon DocumentDB clusters.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBClustersOutcome DescribeDBClusters(const Model::DescribeDBClustersRequest& request) const; /** * A Callable wrapper for DescribeDBClusters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBClustersOutcomeCallable DescribeDBClustersCallable(const DescribeDBClustersRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBClusters, request); } /** * An Async wrapper for DescribeDBClusters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBClustersAsync(const DescribeDBClustersRequestT& request, const DescribeDBClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBClusters, request, handler, context); } /** *

Returns a list of the available engines.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBEngineVersionsOutcome DescribeDBEngineVersions(const Model::DescribeDBEngineVersionsRequest& request) const; /** * A Callable wrapper for DescribeDBEngineVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBEngineVersionsOutcomeCallable DescribeDBEngineVersionsCallable(const DescribeDBEngineVersionsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBEngineVersions, request); } /** * An Async wrapper for DescribeDBEngineVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBEngineVersionsAsync(const DescribeDBEngineVersionsRequestT& request, const DescribeDBEngineVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBEngineVersions, request, handler, context); } /** *

Returns information about provisioned Amazon DocumentDB instances. This API * supports pagination.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDBInstancesOutcome DescribeDBInstances(const Model::DescribeDBInstancesRequest& request) const; /** * A Callable wrapper for DescribeDBInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBInstancesOutcomeCallable DescribeDBInstancesCallable(const DescribeDBInstancesRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBInstances, request); } /** * An Async wrapper for DescribeDBInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBInstancesAsync(const DescribeDBInstancesRequestT& request, const DescribeDBInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBInstances, request, handler, context); } /** *

Returns a list of DBSubnetGroup descriptions. If a * DBSubnetGroupName is specified, the list will contain only the * descriptions of the specified DBSubnetGroup.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeDBSubnetGroupsOutcome DescribeDBSubnetGroups(const Model::DescribeDBSubnetGroupsRequest& request) const; /** * A Callable wrapper for DescribeDBSubnetGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDBSubnetGroupsOutcomeCallable DescribeDBSubnetGroupsCallable(const DescribeDBSubnetGroupsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeDBSubnetGroups, request); } /** * An Async wrapper for DescribeDBSubnetGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDBSubnetGroupsAsync(const DescribeDBSubnetGroupsRequestT& request, const DescribeDBSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeDBSubnetGroups, request, handler, context); } /** *

Returns the default engine and system parameter information for the cluster * database engine.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEngineDefaultClusterParametersOutcome DescribeEngineDefaultClusterParameters(const Model::DescribeEngineDefaultClusterParametersRequest& request) const; /** * A Callable wrapper for DescribeEngineDefaultClusterParameters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEngineDefaultClusterParametersOutcomeCallable DescribeEngineDefaultClusterParametersCallable(const DescribeEngineDefaultClusterParametersRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeEngineDefaultClusterParameters, request); } /** * An Async wrapper for DescribeEngineDefaultClusterParameters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEngineDefaultClusterParametersAsync(const DescribeEngineDefaultClusterParametersRequestT& request, const DescribeEngineDefaultClusterParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeEngineDefaultClusterParameters, request, handler, context); } /** *

Displays a list of categories for all event source types, or, if specified, * for a specified source type.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventCategoriesOutcome DescribeEventCategories(const Model::DescribeEventCategoriesRequest& request) const; /** * A Callable wrapper for DescribeEventCategories that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEventCategoriesOutcomeCallable DescribeEventCategoriesCallable(const DescribeEventCategoriesRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeEventCategories, request); } /** * An Async wrapper for DescribeEventCategories that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEventCategoriesAsync(const DescribeEventCategoriesRequestT& request, const DescribeEventCategoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeEventCategories, request, handler, context); } /** *

Lists all the subscription descriptions for a customer account. The * description for a subscription includes SubscriptionName, * SNSTopicARN, CustomerID, SourceType, * SourceID, CreationTime, and Status.

*

If you specify a SubscriptionName, lists the description for * that subscription.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventSubscriptionsOutcome DescribeEventSubscriptions(const Model::DescribeEventSubscriptionsRequest& request) const; /** * A Callable wrapper for DescribeEventSubscriptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEventSubscriptionsOutcomeCallable DescribeEventSubscriptionsCallable(const DescribeEventSubscriptionsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeEventSubscriptions, request); } /** * An Async wrapper for DescribeEventSubscriptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEventSubscriptionsAsync(const DescribeEventSubscriptionsRequestT& request, const DescribeEventSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeEventSubscriptions, request, handler, context); } /** *

Returns events related to instances, security groups, snapshots, and DB * parameter groups for the past 14 days. You can obtain events specific to a * particular DB instance, security group, snapshot, or parameter group by * providing the name as a parameter. By default, the events of the past hour are * returned.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventsOutcome DescribeEvents(const Model::DescribeEventsRequest& request) const; /** * A Callable wrapper for DescribeEvents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEventsOutcomeCallable DescribeEventsCallable(const DescribeEventsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeEvents, request); } /** * An Async wrapper for DescribeEvents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEventsAsync(const DescribeEventsRequestT& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeEvents, request, handler, context); } /** *

Returns information about Amazon DocumentDB global clusters. This API * supports pagination.

This action only applies to Amazon DocumentDB * clusters.

See Also:

AWS * API Reference

*/ virtual Model::DescribeGlobalClustersOutcome DescribeGlobalClusters(const Model::DescribeGlobalClustersRequest& request) const; /** * A Callable wrapper for DescribeGlobalClusters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGlobalClustersOutcomeCallable DescribeGlobalClustersCallable(const DescribeGlobalClustersRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeGlobalClusters, request); } /** * An Async wrapper for DescribeGlobalClusters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGlobalClustersAsync(const DescribeGlobalClustersRequestT& request, const DescribeGlobalClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeGlobalClusters, request, handler, context); } /** *

Returns a list of orderable instance options for the specified * engine.

See Also:

AWS * API Reference

*/ virtual Model::DescribeOrderableDBInstanceOptionsOutcome DescribeOrderableDBInstanceOptions(const Model::DescribeOrderableDBInstanceOptionsRequest& request) const; /** * A Callable wrapper for DescribeOrderableDBInstanceOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeOrderableDBInstanceOptionsOutcomeCallable DescribeOrderableDBInstanceOptionsCallable(const DescribeOrderableDBInstanceOptionsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribeOrderableDBInstanceOptions, request); } /** * An Async wrapper for DescribeOrderableDBInstanceOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeOrderableDBInstanceOptionsAsync(const DescribeOrderableDBInstanceOptionsRequestT& request, const DescribeOrderableDBInstanceOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribeOrderableDBInstanceOptions, request, handler, context); } /** *

Returns a list of resources (for example, instances) that have at least one * pending maintenance action.

See Also:

AWS * API Reference

*/ virtual Model::DescribePendingMaintenanceActionsOutcome DescribePendingMaintenanceActions(const Model::DescribePendingMaintenanceActionsRequest& request) const; /** * A Callable wrapper for DescribePendingMaintenanceActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePendingMaintenanceActionsOutcomeCallable DescribePendingMaintenanceActionsCallable(const DescribePendingMaintenanceActionsRequestT& request) const { return SubmitCallable(&DocDBClient::DescribePendingMaintenanceActions, request); } /** * An Async wrapper for DescribePendingMaintenanceActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePendingMaintenanceActionsAsync(const DescribePendingMaintenanceActionsRequestT& request, const DescribePendingMaintenanceActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::DescribePendingMaintenanceActions, request, handler, context); } /** *

Forces a failover for a cluster.

A failover for a cluster promotes one * of the Amazon DocumentDB replicas (read-only instances) in the cluster to be the * primary instance (the cluster writer).

If the primary instance fails, * Amazon DocumentDB automatically fails over to an Amazon DocumentDB replica, if * one exists. You can force a failover when you want to simulate a failure of a * primary instance for testing.

See Also:

AWS * API Reference

*/ virtual Model::FailoverDBClusterOutcome FailoverDBCluster(const Model::FailoverDBClusterRequest& request) const; /** * A Callable wrapper for FailoverDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::FailoverDBClusterOutcomeCallable FailoverDBClusterCallable(const FailoverDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::FailoverDBCluster, request); } /** * An Async wrapper for FailoverDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void FailoverDBClusterAsync(const FailoverDBClusterRequestT& request, const FailoverDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::FailoverDBCluster, request, handler, context); } /** *

Lists all tags on an Amazon DocumentDB resource.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&DocDBClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ListTagsForResource, request, handler, context); } /** *

Modifies a setting for an Amazon DocumentDB cluster. You can change one or * more database configuration parameters by specifying these parameters and the * new values in the request.

See Also:

AWS * API Reference

*/ virtual Model::ModifyDBClusterOutcome ModifyDBCluster(const Model::ModifyDBClusterRequest& request) const; /** * A Callable wrapper for ModifyDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyDBClusterOutcomeCallable ModifyDBClusterCallable(const ModifyDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyDBCluster, request); } /** * An Async wrapper for ModifyDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyDBClusterAsync(const ModifyDBClusterRequestT& request, const ModifyDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyDBCluster, request, handler, context); } /** *

Modifies the parameters of a cluster parameter group. To modify more than * one parameter, submit a list of the following: ParameterName, * ParameterValue, and ApplyMethod. A maximum of 20 * parameters can be modified in a single request.

Changes to * dynamic parameters are applied immediately. Changes to static parameters require * a reboot or maintenance window before the change can take effect.

*

After you create a cluster parameter group, you should wait at * least 5 minutes before creating your first cluster that uses that cluster * parameter group as the default parameter group. This allows Amazon DocumentDB to * fully complete the create action before the parameter group is used as the * default for a new cluster. This step is especially important for parameters that * are critical when creating the default database for a cluster, such as the * character set for the default database defined by the * character_set_database parameter.

See * Also:

AWS * API Reference

*/ virtual Model::ModifyDBClusterParameterGroupOutcome ModifyDBClusterParameterGroup(const Model::ModifyDBClusterParameterGroupRequest& request) const; /** * A Callable wrapper for ModifyDBClusterParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyDBClusterParameterGroupOutcomeCallable ModifyDBClusterParameterGroupCallable(const ModifyDBClusterParameterGroupRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyDBClusterParameterGroup, request); } /** * An Async wrapper for ModifyDBClusterParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyDBClusterParameterGroupAsync(const ModifyDBClusterParameterGroupRequestT& request, const ModifyDBClusterParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyDBClusterParameterGroup, request, handler, context); } /** *

Adds an attribute and values to, or removes an attribute and values from, a * manual cluster snapshot.

To share a manual cluster snapshot with other * Amazon Web Services accounts, specify restore as the * AttributeName, and use the ValuesToAdd parameter to * add a list of IDs of the Amazon Web Services accounts that are authorized to * restore the manual cluster snapshot. Use the value all to make the * manual cluster snapshot public, which means that it can be copied or restored by * all Amazon Web Services accounts. Do not add the all value for any * manual cluster snapshots that contain private information that you don't want * available to all Amazon Web Services accounts. If a manual cluster snapshot is * encrypted, it can be shared, but only by specifying a list of authorized Amazon * Web Services account IDs for the ValuesToAdd parameter. You can't * use all as a value for that parameter in this case.

See * Also:

AWS * API Reference

*/ virtual Model::ModifyDBClusterSnapshotAttributeOutcome ModifyDBClusterSnapshotAttribute(const Model::ModifyDBClusterSnapshotAttributeRequest& request) const; /** * A Callable wrapper for ModifyDBClusterSnapshotAttribute that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyDBClusterSnapshotAttributeOutcomeCallable ModifyDBClusterSnapshotAttributeCallable(const ModifyDBClusterSnapshotAttributeRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyDBClusterSnapshotAttribute, request); } /** * An Async wrapper for ModifyDBClusterSnapshotAttribute that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyDBClusterSnapshotAttributeAsync(const ModifyDBClusterSnapshotAttributeRequestT& request, const ModifyDBClusterSnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyDBClusterSnapshotAttribute, request, handler, context); } /** *

Modifies settings for an instance. You can change one or more database * configuration parameters by specifying these parameters and the new values in * the request.

See Also:

AWS * API Reference

*/ virtual Model::ModifyDBInstanceOutcome ModifyDBInstance(const Model::ModifyDBInstanceRequest& request) const; /** * A Callable wrapper for ModifyDBInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyDBInstanceOutcomeCallable ModifyDBInstanceCallable(const ModifyDBInstanceRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyDBInstance, request); } /** * An Async wrapper for ModifyDBInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyDBInstanceAsync(const ModifyDBInstanceRequestT& request, const ModifyDBInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyDBInstance, request, handler, context); } /** *

Modifies an existing subnet group. subnet groups must contain at least one * subnet in at least two Availability Zones in the Amazon Web Services * Region.

See Also:

AWS * API Reference

*/ virtual Model::ModifyDBSubnetGroupOutcome ModifyDBSubnetGroup(const Model::ModifyDBSubnetGroupRequest& request) const; /** * A Callable wrapper for ModifyDBSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyDBSubnetGroupOutcomeCallable ModifyDBSubnetGroupCallable(const ModifyDBSubnetGroupRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyDBSubnetGroup, request); } /** * An Async wrapper for ModifyDBSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyDBSubnetGroupAsync(const ModifyDBSubnetGroupRequestT& request, const ModifyDBSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyDBSubnetGroup, request, handler, context); } /** *

Modifies an existing Amazon DocumentDB event notification * subscription.

See Also:

AWS * API Reference

*/ virtual Model::ModifyEventSubscriptionOutcome ModifyEventSubscription(const Model::ModifyEventSubscriptionRequest& request) const; /** * A Callable wrapper for ModifyEventSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyEventSubscriptionOutcomeCallable ModifyEventSubscriptionCallable(const ModifyEventSubscriptionRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyEventSubscription, request); } /** * An Async wrapper for ModifyEventSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyEventSubscriptionAsync(const ModifyEventSubscriptionRequestT& request, const ModifyEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyEventSubscription, request, handler, context); } /** *

Modify a setting for an Amazon DocumentDB global cluster. You can change one * or more configuration parameters (for example: deletion protection), or the * global cluster identifier by specifying these parameters and the new values in * the request.

This action only applies to Amazon DocumentDB * clusters.

See Also:

AWS * API Reference

*/ virtual Model::ModifyGlobalClusterOutcome ModifyGlobalCluster(const Model::ModifyGlobalClusterRequest& request) const; /** * A Callable wrapper for ModifyGlobalCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyGlobalClusterOutcomeCallable ModifyGlobalClusterCallable(const ModifyGlobalClusterRequestT& request) const { return SubmitCallable(&DocDBClient::ModifyGlobalCluster, request); } /** * An Async wrapper for ModifyGlobalCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyGlobalClusterAsync(const ModifyGlobalClusterRequestT& request, const ModifyGlobalClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ModifyGlobalCluster, request, handler, context); } /** *

You might need to reboot your instance, usually for maintenance reasons. For * example, if you make certain changes, or if you change the cluster parameter * group that is associated with the instance, you must reboot the instance for the * changes to take effect.

Rebooting an instance restarts the database * engine service. Rebooting an instance results in a momentary outage, during * which the instance status is set to rebooting.

See Also:

* AWS * API Reference

*/ virtual Model::RebootDBInstanceOutcome RebootDBInstance(const Model::RebootDBInstanceRequest& request) const; /** * A Callable wrapper for RebootDBInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RebootDBInstanceOutcomeCallable RebootDBInstanceCallable(const RebootDBInstanceRequestT& request) const { return SubmitCallable(&DocDBClient::RebootDBInstance, request); } /** * An Async wrapper for RebootDBInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RebootDBInstanceAsync(const RebootDBInstanceRequestT& request, const RebootDBInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RebootDBInstance, request, handler, context); } /** *

Detaches an Amazon DocumentDB secondary cluster from a global cluster. The * cluster becomes a standalone cluster with read-write capability instead of being * read-only and receiving data from a primary in a different region.

*

This action only applies to Amazon DocumentDB clusters.

See * Also:

AWS * API Reference

*/ virtual Model::RemoveFromGlobalClusterOutcome RemoveFromGlobalCluster(const Model::RemoveFromGlobalClusterRequest& request) const; /** * A Callable wrapper for RemoveFromGlobalCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveFromGlobalClusterOutcomeCallable RemoveFromGlobalClusterCallable(const RemoveFromGlobalClusterRequestT& request) const { return SubmitCallable(&DocDBClient::RemoveFromGlobalCluster, request); } /** * An Async wrapper for RemoveFromGlobalCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveFromGlobalClusterAsync(const RemoveFromGlobalClusterRequestT& request, const RemoveFromGlobalClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RemoveFromGlobalCluster, request, handler, context); } /** *

Removes a source identifier from an existing Amazon DocumentDB event * notification subscription.

See Also:

AWS * API Reference

*/ virtual Model::RemoveSourceIdentifierFromSubscriptionOutcome RemoveSourceIdentifierFromSubscription(const Model::RemoveSourceIdentifierFromSubscriptionRequest& request) const; /** * A Callable wrapper for RemoveSourceIdentifierFromSubscription that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveSourceIdentifierFromSubscriptionOutcomeCallable RemoveSourceIdentifierFromSubscriptionCallable(const RemoveSourceIdentifierFromSubscriptionRequestT& request) const { return SubmitCallable(&DocDBClient::RemoveSourceIdentifierFromSubscription, request); } /** * An Async wrapper for RemoveSourceIdentifierFromSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveSourceIdentifierFromSubscriptionAsync(const RemoveSourceIdentifierFromSubscriptionRequestT& request, const RemoveSourceIdentifierFromSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RemoveSourceIdentifierFromSubscription, request, handler, context); } /** *

Removes metadata tags from an Amazon DocumentDB resource.

See * Also:

AWS * API Reference

*/ virtual Model::RemoveTagsFromResourceOutcome RemoveTagsFromResource(const Model::RemoveTagsFromResourceRequest& request) const; /** * A Callable wrapper for RemoveTagsFromResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveTagsFromResourceOutcomeCallable RemoveTagsFromResourceCallable(const RemoveTagsFromResourceRequestT& request) const { return SubmitCallable(&DocDBClient::RemoveTagsFromResource, request); } /** * An Async wrapper for RemoveTagsFromResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveTagsFromResourceAsync(const RemoveTagsFromResourceRequestT& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RemoveTagsFromResource, request, handler, context); } /** *

Modifies the parameters of a cluster parameter group to the default value. * To reset specific parameters, submit a list of the following: * ParameterName and ApplyMethod. To reset the entire * cluster parameter group, specify the DBClusterParameterGroupName * and ResetAllParameters parameters.

When you reset the * entire group, dynamic parameters are updated immediately and static parameters * are set to pending-reboot to take effect on the next DB instance * reboot.

See Also:

AWS * API Reference

*/ virtual Model::ResetDBClusterParameterGroupOutcome ResetDBClusterParameterGroup(const Model::ResetDBClusterParameterGroupRequest& request) const; /** * A Callable wrapper for ResetDBClusterParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResetDBClusterParameterGroupOutcomeCallable ResetDBClusterParameterGroupCallable(const ResetDBClusterParameterGroupRequestT& request) const { return SubmitCallable(&DocDBClient::ResetDBClusterParameterGroup, request); } /** * An Async wrapper for ResetDBClusterParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResetDBClusterParameterGroupAsync(const ResetDBClusterParameterGroupRequestT& request, const ResetDBClusterParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::ResetDBClusterParameterGroup, request, handler, context); } /** *

Creates a new cluster from a snapshot or cluster snapshot.

If a * snapshot is specified, the target cluster is created from the source DB snapshot * with a default configuration and default security group.

If a cluster * snapshot is specified, the target cluster is created from the source cluster * restore point with the same configuration as the original source DB cluster, * except that the new cluster is created with the default security * group.

See Also:

AWS * API Reference

*/ virtual Model::RestoreDBClusterFromSnapshotOutcome RestoreDBClusterFromSnapshot(const Model::RestoreDBClusterFromSnapshotRequest& request) const; /** * A Callable wrapper for RestoreDBClusterFromSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RestoreDBClusterFromSnapshotOutcomeCallable RestoreDBClusterFromSnapshotCallable(const RestoreDBClusterFromSnapshotRequestT& request) const { return SubmitCallable(&DocDBClient::RestoreDBClusterFromSnapshot, request); } /** * An Async wrapper for RestoreDBClusterFromSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RestoreDBClusterFromSnapshotAsync(const RestoreDBClusterFromSnapshotRequestT& request, const RestoreDBClusterFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RestoreDBClusterFromSnapshot, request, handler, context); } /** *

Restores a cluster to an arbitrary point in time. Users can restore to any * point in time before LatestRestorableTime for up to * BackupRetentionPeriod days. The target cluster is created from the * source cluster with the same configuration as the original cluster, except that * the new cluster is created with the default security group.

See * Also:

AWS * API Reference

*/ virtual Model::RestoreDBClusterToPointInTimeOutcome RestoreDBClusterToPointInTime(const Model::RestoreDBClusterToPointInTimeRequest& request) const; /** * A Callable wrapper for RestoreDBClusterToPointInTime that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RestoreDBClusterToPointInTimeOutcomeCallable RestoreDBClusterToPointInTimeCallable(const RestoreDBClusterToPointInTimeRequestT& request) const { return SubmitCallable(&DocDBClient::RestoreDBClusterToPointInTime, request); } /** * An Async wrapper for RestoreDBClusterToPointInTime that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RestoreDBClusterToPointInTimeAsync(const RestoreDBClusterToPointInTimeRequestT& request, const RestoreDBClusterToPointInTimeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::RestoreDBClusterToPointInTime, request, handler, context); } /** *

Restarts the stopped cluster that is specified by * DBClusterIdentifier. For more information, see Stopping * and Starting an Amazon DocumentDB Cluster.

See Also:

AWS * API Reference

*/ virtual Model::StartDBClusterOutcome StartDBCluster(const Model::StartDBClusterRequest& request) const; /** * A Callable wrapper for StartDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartDBClusterOutcomeCallable StartDBClusterCallable(const StartDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::StartDBCluster, request); } /** * An Async wrapper for StartDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartDBClusterAsync(const StartDBClusterRequestT& request, const StartDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::StartDBCluster, request, handler, context); } /** *

Stops the running cluster that is specified by * DBClusterIdentifier. The cluster must be in the available * state. For more information, see Stopping * and Starting an Amazon DocumentDB Cluster.

See Also:

AWS * API Reference

*/ virtual Model::StopDBClusterOutcome StopDBCluster(const Model::StopDBClusterRequest& request) const; /** * A Callable wrapper for StopDBCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopDBClusterOutcomeCallable StopDBClusterCallable(const StopDBClusterRequestT& request) const { return SubmitCallable(&DocDBClient::StopDBCluster, request); } /** * An Async wrapper for StopDBCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopDBClusterAsync(const StopDBClusterRequestT& request, const StopDBClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DocDBClient::StopDBCluster, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const DocDBClientConfiguration& clientConfiguration); DocDBClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace DocDB } // namespace Aws