/** * 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 MemoryDB { /** *

MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database * that delivers ultra-fast performance and Multi-AZ durability for modern * applications built using microservices architectures. MemoryDB stores the entire * database in-memory, enabling low latency and high throughput data access. It is * compatible with Redis, a popular open source data store, enabling you to * leverage Redis’ flexible and friendly data structures, APIs, and commands.

*/ class AWS_MEMORYDB_API MemoryDBClient : 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 MemoryDBClientConfiguration ClientConfigurationType; typedef MemoryDBEndpointProvider 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. */ MemoryDBClient(const Aws::MemoryDB::MemoryDBClientConfiguration& clientConfiguration = Aws::MemoryDB::MemoryDBClientConfiguration(), 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. */ MemoryDBClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MemoryDB::MemoryDBClientConfiguration& clientConfiguration = Aws::MemoryDB::MemoryDBClientConfiguration()); /** * 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 */ MemoryDBClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MemoryDB::MemoryDBClientConfiguration& clientConfiguration = Aws::MemoryDB::MemoryDBClientConfiguration()); /* 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. */ MemoryDBClient(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. */ MemoryDBClient(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 */ MemoryDBClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MemoryDBClient(); /** *

Apply the service update to a list of clusters supplied. For more information * on service updates and applying them, see Applying * the service updates.

See Also:

AWS * API Reference

*/ virtual Model::BatchUpdateClusterOutcome BatchUpdateCluster(const Model::BatchUpdateClusterRequest& request) const; /** * A Callable wrapper for BatchUpdateCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchUpdateClusterOutcomeCallable BatchUpdateClusterCallable(const BatchUpdateClusterRequestT& request) const { return SubmitCallable(&MemoryDBClient::BatchUpdateCluster, request); } /** * An Async wrapper for BatchUpdateCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchUpdateClusterAsync(const BatchUpdateClusterRequestT& request, const BatchUpdateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::BatchUpdateCluster, request, handler, context); } /** *

Makes a copy of an existing snapshot.

See Also:

AWS * API Reference

*/ virtual Model::CopySnapshotOutcome CopySnapshot(const Model::CopySnapshotRequest& request) const; /** * A Callable wrapper for CopySnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CopySnapshotOutcomeCallable CopySnapshotCallable(const CopySnapshotRequestT& request) const { return SubmitCallable(&MemoryDBClient::CopySnapshot, request); } /** * An Async wrapper for CopySnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CopySnapshotAsync(const CopySnapshotRequestT& request, const CopySnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CopySnapshot, request, handler, context); } /** *

Creates an Access Control List. For more information, see Authenticating * users with Access Contol Lists (ACLs).

See Also:

AWS * API Reference

*/ virtual Model::CreateACLOutcome CreateACL(const Model::CreateACLRequest& request) const; /** * A Callable wrapper for CreateACL that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateACLOutcomeCallable CreateACLCallable(const CreateACLRequestT& request) const { return SubmitCallable(&MemoryDBClient::CreateACL, request); } /** * An Async wrapper for CreateACL that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateACLAsync(const CreateACLRequestT& request, const CreateACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CreateACL, request, handler, context); } /** *

Creates a cluster. All nodes in the cluster run the same protocol-compliant * engine software.

See Also:

AWS * API Reference

*/ virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest& request) const; /** * A Callable wrapper for CreateCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateClusterOutcomeCallable CreateClusterCallable(const CreateClusterRequestT& request) const { return SubmitCallable(&MemoryDBClient::CreateCluster, request); } /** * An Async wrapper for CreateCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateClusterAsync(const CreateClusterRequestT& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CreateCluster, request, handler, context); } /** *

Creates a new MemoryDB parameter group. A parameter group is a collection of * parameters and their values that are applied to all of the nodes in any cluster. * For more information, see Configuring * engine parameters using parameter groups.

See Also:

AWS * API Reference

*/ virtual Model::CreateParameterGroupOutcome CreateParameterGroup(const Model::CreateParameterGroupRequest& request) const; /** * A Callable wrapper for CreateParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateParameterGroupOutcomeCallable CreateParameterGroupCallable(const CreateParameterGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::CreateParameterGroup, request); } /** * An Async wrapper for CreateParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateParameterGroupAsync(const CreateParameterGroupRequestT& request, const CreateParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CreateParameterGroup, request, handler, context); } /** *

Creates a copy of an entire cluster at a specific moment in * time.

See Also:

AWS * API Reference

*/ virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const; /** * A Callable wrapper for CreateSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const CreateSnapshotRequestT& request) const { return SubmitCallable(&MemoryDBClient::CreateSnapshot, request); } /** * An Async wrapper for CreateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSnapshotAsync(const CreateSnapshotRequestT& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CreateSnapshot, request, handler, context); } /** *

Creates a subnet group. A subnet group is a collection of subnets (typically * private) that you can designate for your clusters running in an Amazon Virtual * Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC, you * must specify a subnet group. MemoryDB uses that subnet group to choose a subnet * and IP addresses within that subnet to associate with your nodes. For more * information, see Subnets * and subnet groups.

See Also:

AWS * API Reference

*/ virtual Model::CreateSubnetGroupOutcome CreateSubnetGroup(const Model::CreateSubnetGroupRequest& request) const; /** * A Callable wrapper for CreateSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSubnetGroupOutcomeCallable CreateSubnetGroupCallable(const CreateSubnetGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::CreateSubnetGroup, request); } /** * An Async wrapper for CreateSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSubnetGroupAsync(const CreateSubnetGroupRequestT& request, const CreateSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::CreateSubnetGroup, request, handler, context); } /** *

Creates a MemoryDB user. For more information, see Authenticating * users with Access Contol Lists (ACLs).

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(&MemoryDBClient::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(&MemoryDBClient::CreateUser, request, handler, context); } /** *

Deletes an Access Control List. The ACL must first be disassociated from the * cluster before it can be deleted. For more information, see Authenticating * users with Access Contol Lists (ACLs).

See Also:

AWS * API Reference

*/ virtual Model::DeleteACLOutcome DeleteACL(const Model::DeleteACLRequest& request) const; /** * A Callable wrapper for DeleteACL that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteACLOutcomeCallable DeleteACLCallable(const DeleteACLRequestT& request) const { return SubmitCallable(&MemoryDBClient::DeleteACL, request); } /** * An Async wrapper for DeleteACL that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteACLAsync(const DeleteACLRequestT& request, const DeleteACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DeleteACL, request, handler, context); } /** *

Deletes a cluster. It also deletes all associated nodes and node * endpoints

See Also:

AWS * API Reference

*/ virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest& request) const; /** * A Callable wrapper for DeleteCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteClusterOutcomeCallable DeleteClusterCallable(const DeleteClusterRequestT& request) const { return SubmitCallable(&MemoryDBClient::DeleteCluster, request); } /** * An Async wrapper for DeleteCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteClusterAsync(const DeleteClusterRequestT& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DeleteCluster, request, handler, context); } /** *

Deletes the specified parameter group. You cannot delete a parameter group if * it is associated with any clusters. You cannot delete the default parameter * groups in your account.

See Also:

AWS * API Reference

*/ virtual Model::DeleteParameterGroupOutcome DeleteParameterGroup(const Model::DeleteParameterGroupRequest& request) const; /** * A Callable wrapper for DeleteParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteParameterGroupOutcomeCallable DeleteParameterGroupCallable(const DeleteParameterGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::DeleteParameterGroup, request); } /** * An Async wrapper for DeleteParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteParameterGroupAsync(const DeleteParameterGroupRequestT& request, const DeleteParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DeleteParameterGroup, request, handler, context); } /** *

Deletes an existing snapshot. When you receive a successful response from * this operation, MemoryDB immediately begins deleting the snapshot; you cannot * cancel or revert this operation.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSnapshotOutcome DeleteSnapshot(const Model::DeleteSnapshotRequest& request) const; /** * A Callable wrapper for DeleteSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const DeleteSnapshotRequestT& request) const { return SubmitCallable(&MemoryDBClient::DeleteSnapshot, request); } /** * An Async wrapper for DeleteSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSnapshotAsync(const DeleteSnapshotRequestT& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DeleteSnapshot, request, handler, context); } /** *

Deletes a subnet group. You cannot delete a default subnet group or one that * is associated with any clusters.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSubnetGroupOutcome DeleteSubnetGroup(const Model::DeleteSubnetGroupRequest& request) const; /** * A Callable wrapper for DeleteSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSubnetGroupOutcomeCallable DeleteSubnetGroupCallable(const DeleteSubnetGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::DeleteSubnetGroup, request); } /** * An Async wrapper for DeleteSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSubnetGroupAsync(const DeleteSubnetGroupRequestT& request, const DeleteSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DeleteSubnetGroup, request, handler, context); } /** *

Deletes a user. The user will be removed from all ACLs and in turn removed * from all clusters.

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(&MemoryDBClient::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(&MemoryDBClient::DeleteUser, request, handler, context); } /** *

Returns a list of ACLs

See Also:

AWS * API Reference

*/ virtual Model::DescribeACLsOutcome DescribeACLs(const Model::DescribeACLsRequest& request) const; /** * A Callable wrapper for DescribeACLs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeACLsOutcomeCallable DescribeACLsCallable(const DescribeACLsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeACLs, request); } /** * An Async wrapper for DescribeACLs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeACLsAsync(const DescribeACLsRequestT& request, const DescribeACLsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeACLs, request, handler, context); } /** *

Returns information about all provisioned clusters if no cluster identifier * is specified, or about a specific cluster if a cluster name is * supplied.

See Also:

AWS * API Reference

*/ virtual Model::DescribeClustersOutcome DescribeClusters(const Model::DescribeClustersRequest& request) const; /** * A Callable wrapper for DescribeClusters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeClustersOutcomeCallable DescribeClustersCallable(const DescribeClustersRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeClusters, request); } /** * An Async wrapper for DescribeClusters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeClustersAsync(const DescribeClustersRequestT& request, const DescribeClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeClusters, request, handler, context); } /** *

Returns a list of the available Redis engine versions.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeEngineVersionsOutcome DescribeEngineVersions(const Model::DescribeEngineVersionsRequest& request) const; /** * A Callable wrapper for DescribeEngineVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEngineVersionsOutcomeCallable DescribeEngineVersionsCallable(const DescribeEngineVersionsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeEngineVersions, request); } /** * An Async wrapper for DescribeEngineVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEngineVersionsAsync(const DescribeEngineVersionsRequestT& request, const DescribeEngineVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeEngineVersions, request, handler, context); } /** *

Returns events related to clusters, security groups, and parameter groups. * You can obtain events specific to a particular cluster, security group, or * parameter group by providing the name as a parameter. By default, only the * events occurring within the last hour are returned; however, you can retrieve up * to 14 days' worth of events if necessary.

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(&MemoryDBClient::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(&MemoryDBClient::DescribeEvents, request, handler, context); } /** *

Returns a list of parameter group descriptions. If a parameter group name is * specified, the list contains only the descriptions for that group.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeParameterGroupsOutcome DescribeParameterGroups(const Model::DescribeParameterGroupsRequest& request) const; /** * A Callable wrapper for DescribeParameterGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeParameterGroupsOutcomeCallable DescribeParameterGroupsCallable(const DescribeParameterGroupsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeParameterGroups, request); } /** * An Async wrapper for DescribeParameterGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeParameterGroupsAsync(const DescribeParameterGroupsRequestT& request, const DescribeParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeParameterGroups, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeParametersOutcome DescribeParameters(const Model::DescribeParametersRequest& request) const; /** * A Callable wrapper for DescribeParameters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeParametersOutcomeCallable DescribeParametersCallable(const DescribeParametersRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeParameters, request); } /** * An Async wrapper for DescribeParameters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeParametersAsync(const DescribeParametersRequestT& request, const DescribeParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeParameters, request, handler, context); } /** *

Returns information about reserved nodes for this account, or about a * specified reserved node.

See Also:

AWS * API Reference

*/ virtual Model::DescribeReservedNodesOutcome DescribeReservedNodes(const Model::DescribeReservedNodesRequest& request) const; /** * A Callable wrapper for DescribeReservedNodes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeReservedNodesOutcomeCallable DescribeReservedNodesCallable(const DescribeReservedNodesRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeReservedNodes, request); } /** * An Async wrapper for DescribeReservedNodes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeReservedNodesAsync(const DescribeReservedNodesRequestT& request, const DescribeReservedNodesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeReservedNodes, request, handler, context); } /** *

Lists available reserved node offerings.

See Also:

AWS * API Reference

*/ virtual Model::DescribeReservedNodesOfferingsOutcome DescribeReservedNodesOfferings(const Model::DescribeReservedNodesOfferingsRequest& request) const; /** * A Callable wrapper for DescribeReservedNodesOfferings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeReservedNodesOfferingsOutcomeCallable DescribeReservedNodesOfferingsCallable(const DescribeReservedNodesOfferingsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeReservedNodesOfferings, request); } /** * An Async wrapper for DescribeReservedNodesOfferings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeReservedNodesOfferingsAsync(const DescribeReservedNodesOfferingsRequestT& request, const DescribeReservedNodesOfferingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeReservedNodesOfferings, request, handler, context); } /** *

Returns details of the service updates

See Also:

AWS * API Reference

*/ virtual Model::DescribeServiceUpdatesOutcome DescribeServiceUpdates(const Model::DescribeServiceUpdatesRequest& request) const; /** * A Callable wrapper for DescribeServiceUpdates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeServiceUpdatesOutcomeCallable DescribeServiceUpdatesCallable(const DescribeServiceUpdatesRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeServiceUpdates, request); } /** * An Async wrapper for DescribeServiceUpdates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeServiceUpdatesAsync(const DescribeServiceUpdatesRequestT& request, const DescribeServiceUpdatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeServiceUpdates, request, handler, context); } /** *

Returns information about cluster snapshots. By default, DescribeSnapshots * lists all of your snapshots; it can optionally describe a single snapshot, or * just the snapshots associated with a particular cluster.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeSnapshotsOutcome DescribeSnapshots(const Model::DescribeSnapshotsRequest& request) const; /** * A Callable wrapper for DescribeSnapshots that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSnapshotsOutcomeCallable DescribeSnapshotsCallable(const DescribeSnapshotsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeSnapshots, request); } /** * An Async wrapper for DescribeSnapshots that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSnapshotsAsync(const DescribeSnapshotsRequestT& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeSnapshots, request, handler, context); } /** *

Returns a list of subnet group descriptions. If a subnet group name is * specified, the list contains only the description of that group.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeSubnetGroupsOutcome DescribeSubnetGroups(const Model::DescribeSubnetGroupsRequest& request) const; /** * A Callable wrapper for DescribeSubnetGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSubnetGroupsOutcomeCallable DescribeSubnetGroupsCallable(const DescribeSubnetGroupsRequestT& request) const { return SubmitCallable(&MemoryDBClient::DescribeSubnetGroups, request); } /** * An Async wrapper for DescribeSubnetGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSubnetGroupsAsync(const DescribeSubnetGroupsRequestT& request, const DescribeSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::DescribeSubnetGroups, request, handler, context); } /** *

Returns a list of users.

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(&MemoryDBClient::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(&MemoryDBClient::DescribeUsers, request, handler, context); } /** *

Used to failover a shard. This API is designed for testing the behavior of * your application in case of MemoryDB failover. It is not designed to be used as * a production-level tool for initiating a failover to overcome a problem you may * have with the cluster. Moreover, in certain conditions such as large scale * operational events, Amazon may block this API.

See Also:

AWS * API Reference

*/ virtual Model::FailoverShardOutcome FailoverShard(const Model::FailoverShardRequest& request) const; /** * A Callable wrapper for FailoverShard that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::FailoverShardOutcomeCallable FailoverShardCallable(const FailoverShardRequestT& request) const { return SubmitCallable(&MemoryDBClient::FailoverShard, request); } /** * An Async wrapper for FailoverShard that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void FailoverShardAsync(const FailoverShardRequestT& request, const FailoverShardResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::FailoverShard, request, handler, context); } /** *

Lists all available node types that you can scale to from your cluster's * current node type. When you use the UpdateCluster operation to scale your * cluster, the value of the NodeType parameter must be one of the node types * returned by this operation.

See Also:

AWS * API Reference

*/ virtual Model::ListAllowedNodeTypeUpdatesOutcome ListAllowedNodeTypeUpdates(const Model::ListAllowedNodeTypeUpdatesRequest& request) const; /** * A Callable wrapper for ListAllowedNodeTypeUpdates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAllowedNodeTypeUpdatesOutcomeCallable ListAllowedNodeTypeUpdatesCallable(const ListAllowedNodeTypeUpdatesRequestT& request) const { return SubmitCallable(&MemoryDBClient::ListAllowedNodeTypeUpdates, request); } /** * An Async wrapper for ListAllowedNodeTypeUpdates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAllowedNodeTypeUpdatesAsync(const ListAllowedNodeTypeUpdatesRequestT& request, const ListAllowedNodeTypeUpdatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::ListAllowedNodeTypeUpdates, request, handler, context); } /** *

Lists all tags currently on a named resource. A tag is a key-value pair where * the key and value are case-sensitive. You can use tags to categorize and track * your MemoryDB resources. For more information, see Tagging * your MemoryDB resources

See Also:

AWS * API Reference

*/ virtual Model::ListTagsOutcome ListTags(const Model::ListTagsRequest& request) const; /** * A Callable wrapper for ListTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsOutcomeCallable ListTagsCallable(const ListTagsRequestT& request) const { return SubmitCallable(&MemoryDBClient::ListTags, request); } /** * An Async wrapper for ListTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsAsync(const ListTagsRequestT& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::ListTags, request, handler, context); } /** *

Allows you to purchase a reserved node offering. Reserved nodes are not * eligible for cancellation and are non-refundable.

See Also:

AWS * API Reference

*/ virtual Model::PurchaseReservedNodesOfferingOutcome PurchaseReservedNodesOffering(const Model::PurchaseReservedNodesOfferingRequest& request) const; /** * A Callable wrapper for PurchaseReservedNodesOffering that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PurchaseReservedNodesOfferingOutcomeCallable PurchaseReservedNodesOfferingCallable(const PurchaseReservedNodesOfferingRequestT& request) const { return SubmitCallable(&MemoryDBClient::PurchaseReservedNodesOffering, request); } /** * An Async wrapper for PurchaseReservedNodesOffering that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PurchaseReservedNodesOfferingAsync(const PurchaseReservedNodesOfferingRequestT& request, const PurchaseReservedNodesOfferingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::PurchaseReservedNodesOffering, request, handler, context); } /** *

Modifies the parameters of a parameter group to the engine or system default * value. You can reset specific parameters by submitting a list of parameter * names. To reset the entire parameter group, specify the AllParameters and * ParameterGroupName parameters.

See Also:

AWS * API Reference

*/ virtual Model::ResetParameterGroupOutcome ResetParameterGroup(const Model::ResetParameterGroupRequest& request) const; /** * A Callable wrapper for ResetParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResetParameterGroupOutcomeCallable ResetParameterGroupCallable(const ResetParameterGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::ResetParameterGroup, request); } /** * An Async wrapper for ResetParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResetParameterGroupAsync(const ResetParameterGroupRequestT& request, const ResetParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::ResetParameterGroup, request, handler, context); } /** *

A tag is a key-value pair where the key and value are case-sensitive. You can * use tags to categorize and track all your MemoryDB resources. When you add or * remove tags on clusters, those actions will be replicated to all nodes in the * cluster. For more information, see Resource-level * permissions.

For example, you can use cost-allocation tags to your * MemoryDB resources, Amazon generates a cost allocation report as a * comma-separated value (CSV) file with your usage and costs aggregated by your * tags. You can apply tags that represent business categories (such as cost * centers, application names, or owners) to organize your costs across multiple * services. For more information, see Using * Cost Allocation Tags.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&MemoryDBClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::TagResource, request, handler, context); } /** *

Use this operation to remove tags on a resource

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&MemoryDBClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::UntagResource, request, handler, context); } /** *

Changes the list of users that belong to the Access Control * List.

See Also:

AWS * API Reference

*/ virtual Model::UpdateACLOutcome UpdateACL(const Model::UpdateACLRequest& request) const; /** * A Callable wrapper for UpdateACL that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateACLOutcomeCallable UpdateACLCallable(const UpdateACLRequestT& request) const { return SubmitCallable(&MemoryDBClient::UpdateACL, request); } /** * An Async wrapper for UpdateACL that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateACLAsync(const UpdateACLRequestT& request, const UpdateACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::UpdateACL, request, handler, context); } /** *

Modifies the settings for a cluster. You can use this operation to change one * or more cluster configuration settings by specifying the settings and the new * values.

See Also:

AWS * API Reference

*/ virtual Model::UpdateClusterOutcome UpdateCluster(const Model::UpdateClusterRequest& request) const; /** * A Callable wrapper for UpdateCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateClusterOutcomeCallable UpdateClusterCallable(const UpdateClusterRequestT& request) const { return SubmitCallable(&MemoryDBClient::UpdateCluster, request); } /** * An Async wrapper for UpdateCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateClusterAsync(const UpdateClusterRequestT& request, const UpdateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::UpdateCluster, request, handler, context); } /** *

Updates the parameters of a parameter group. You can modify up to 20 * parameters in a single request by submitting a list parameter name and value * pairs.

See Also:

AWS * API Reference

*/ virtual Model::UpdateParameterGroupOutcome UpdateParameterGroup(const Model::UpdateParameterGroupRequest& request) const; /** * A Callable wrapper for UpdateParameterGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateParameterGroupOutcomeCallable UpdateParameterGroupCallable(const UpdateParameterGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::UpdateParameterGroup, request); } /** * An Async wrapper for UpdateParameterGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateParameterGroupAsync(const UpdateParameterGroupRequestT& request, const UpdateParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::UpdateParameterGroup, request, handler, context); } /** *

Updates a subnet group. For more information, see Updating * a subnet group

See Also:

AWS * API Reference

*/ virtual Model::UpdateSubnetGroupOutcome UpdateSubnetGroup(const Model::UpdateSubnetGroupRequest& request) const; /** * A Callable wrapper for UpdateSubnetGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSubnetGroupOutcomeCallable UpdateSubnetGroupCallable(const UpdateSubnetGroupRequestT& request) const { return SubmitCallable(&MemoryDBClient::UpdateSubnetGroup, request); } /** * An Async wrapper for UpdateSubnetGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSubnetGroupAsync(const UpdateSubnetGroupRequestT& request, const UpdateSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MemoryDBClient::UpdateSubnetGroup, request, handler, context); } /** *

Changes user password(s) and/or access string.

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(&MemoryDBClient::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(&MemoryDBClient::UpdateUser, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MemoryDBClientConfiguration& clientConfiguration); MemoryDBClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MemoryDB } // namespace Aws