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