/** * 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace ElastiCache { namespace Model { class AddTagsToResourceRequest; class AuthorizeCacheSecurityGroupIngressRequest; class BatchApplyUpdateActionRequest; class BatchStopUpdateActionRequest; class CompleteMigrationRequest; class CopySnapshotRequest; class CreateCacheClusterRequest; class CreateCacheParameterGroupRequest; class CreateCacheSecurityGroupRequest; class CreateCacheSubnetGroupRequest; class CreateGlobalReplicationGroupRequest; class CreateReplicationGroupRequest; class CreateSnapshotRequest; class DecreaseNodeGroupsInGlobalReplicationGroupRequest; class DecreaseReplicaCountRequest; class DeleteCacheClusterRequest; class DeleteCacheParameterGroupRequest; class DeleteCacheSecurityGroupRequest; class DeleteCacheSubnetGroupRequest; class DeleteGlobalReplicationGroupRequest; class DeleteReplicationGroupRequest; class DeleteSnapshotRequest; class DescribeCacheClustersRequest; class DescribeCacheEngineVersionsRequest; class DescribeCacheParameterGroupsRequest; class DescribeCacheParametersRequest; class DescribeCacheSecurityGroupsRequest; class DescribeCacheSubnetGroupsRequest; class DescribeEngineDefaultParametersRequest; class DescribeEventsRequest; class DescribeGlobalReplicationGroupsRequest; class DescribeReplicationGroupsRequest; class DescribeReservedCacheNodesRequest; class DescribeReservedCacheNodesOfferingsRequest; class DescribeServiceUpdatesRequest; class DescribeSnapshotsRequest; class DescribeUpdateActionsRequest; class DisassociateGlobalReplicationGroupRequest; class FailoverGlobalReplicationGroupRequest; class IncreaseNodeGroupsInGlobalReplicationGroupRequest; class IncreaseReplicaCountRequest; class ListAllowedNodeTypeModificationsRequest; class ListTagsForResourceRequest; class ModifyCacheClusterRequest; class ModifyCacheParameterGroupRequest; class ModifyCacheSubnetGroupRequest; class ModifyGlobalReplicationGroupRequest; class ModifyReplicationGroupRequest; class ModifyReplicationGroupShardConfigurationRequest; class PurchaseReservedCacheNodesOfferingRequest; class RebalanceSlotsInGlobalReplicationGroupRequest; class RebootCacheClusterRequest; class RemoveTagsFromResourceRequest; class ResetCacheParameterGroupRequest; class RevokeCacheSecurityGroupIngressRequest; class StartMigrationRequest; class TestFailoverRequest; typedef Aws::Utils::Outcome AddTagsToResourceOutcome; typedef Aws::Utils::Outcome AuthorizeCacheSecurityGroupIngressOutcome; typedef Aws::Utils::Outcome BatchApplyUpdateActionOutcome; typedef Aws::Utils::Outcome BatchStopUpdateActionOutcome; typedef Aws::Utils::Outcome CompleteMigrationOutcome; typedef Aws::Utils::Outcome CopySnapshotOutcome; typedef Aws::Utils::Outcome CreateCacheClusterOutcome; typedef Aws::Utils::Outcome CreateCacheParameterGroupOutcome; typedef Aws::Utils::Outcome CreateCacheSecurityGroupOutcome; typedef Aws::Utils::Outcome CreateCacheSubnetGroupOutcome; typedef Aws::Utils::Outcome CreateGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome CreateReplicationGroupOutcome; typedef Aws::Utils::Outcome CreateSnapshotOutcome; typedef Aws::Utils::Outcome DecreaseNodeGroupsInGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome DecreaseReplicaCountOutcome; typedef Aws::Utils::Outcome DeleteCacheClusterOutcome; typedef Aws::Utils::Outcome DeleteCacheParameterGroupOutcome; typedef Aws::Utils::Outcome DeleteCacheSecurityGroupOutcome; typedef Aws::Utils::Outcome DeleteCacheSubnetGroupOutcome; typedef Aws::Utils::Outcome DeleteGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome DeleteReplicationGroupOutcome; typedef Aws::Utils::Outcome DeleteSnapshotOutcome; typedef Aws::Utils::Outcome DescribeCacheClustersOutcome; typedef Aws::Utils::Outcome DescribeCacheEngineVersionsOutcome; typedef Aws::Utils::Outcome DescribeCacheParameterGroupsOutcome; typedef Aws::Utils::Outcome DescribeCacheParametersOutcome; typedef Aws::Utils::Outcome DescribeCacheSecurityGroupsOutcome; typedef Aws::Utils::Outcome DescribeCacheSubnetGroupsOutcome; typedef Aws::Utils::Outcome DescribeEngineDefaultParametersOutcome; typedef Aws::Utils::Outcome DescribeEventsOutcome; typedef Aws::Utils::Outcome DescribeGlobalReplicationGroupsOutcome; typedef Aws::Utils::Outcome DescribeReplicationGroupsOutcome; typedef Aws::Utils::Outcome DescribeReservedCacheNodesOutcome; typedef Aws::Utils::Outcome DescribeReservedCacheNodesOfferingsOutcome; typedef Aws::Utils::Outcome DescribeServiceUpdatesOutcome; typedef Aws::Utils::Outcome DescribeSnapshotsOutcome; typedef Aws::Utils::Outcome DescribeUpdateActionsOutcome; typedef Aws::Utils::Outcome DisassociateGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome FailoverGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome IncreaseNodeGroupsInGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome IncreaseReplicaCountOutcome; typedef Aws::Utils::Outcome ListAllowedNodeTypeModificationsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ModifyCacheClusterOutcome; typedef Aws::Utils::Outcome ModifyCacheParameterGroupOutcome; typedef Aws::Utils::Outcome ModifyCacheSubnetGroupOutcome; typedef Aws::Utils::Outcome ModifyGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome ModifyReplicationGroupOutcome; typedef Aws::Utils::Outcome ModifyReplicationGroupShardConfigurationOutcome; typedef Aws::Utils::Outcome PurchaseReservedCacheNodesOfferingOutcome; typedef Aws::Utils::Outcome RebalanceSlotsInGlobalReplicationGroupOutcome; typedef Aws::Utils::Outcome RebootCacheClusterOutcome; typedef Aws::Utils::Outcome RemoveTagsFromResourceOutcome; typedef Aws::Utils::Outcome ResetCacheParameterGroupOutcome; typedef Aws::Utils::Outcome RevokeCacheSecurityGroupIngressOutcome; typedef Aws::Utils::Outcome StartMigrationOutcome; typedef Aws::Utils::Outcome TestFailoverOutcome; typedef std::future AddTagsToResourceOutcomeCallable; typedef std::future AuthorizeCacheSecurityGroupIngressOutcomeCallable; typedef std::future BatchApplyUpdateActionOutcomeCallable; typedef std::future BatchStopUpdateActionOutcomeCallable; typedef std::future CompleteMigrationOutcomeCallable; typedef std::future CopySnapshotOutcomeCallable; typedef std::future CreateCacheClusterOutcomeCallable; typedef std::future CreateCacheParameterGroupOutcomeCallable; typedef std::future CreateCacheSecurityGroupOutcomeCallable; typedef std::future CreateCacheSubnetGroupOutcomeCallable; typedef std::future CreateGlobalReplicationGroupOutcomeCallable; typedef std::future CreateReplicationGroupOutcomeCallable; typedef std::future CreateSnapshotOutcomeCallable; typedef std::future DecreaseNodeGroupsInGlobalReplicationGroupOutcomeCallable; typedef std::future DecreaseReplicaCountOutcomeCallable; typedef std::future DeleteCacheClusterOutcomeCallable; typedef std::future DeleteCacheParameterGroupOutcomeCallable; typedef std::future DeleteCacheSecurityGroupOutcomeCallable; typedef std::future DeleteCacheSubnetGroupOutcomeCallable; typedef std::future DeleteGlobalReplicationGroupOutcomeCallable; typedef std::future DeleteReplicationGroupOutcomeCallable; typedef std::future DeleteSnapshotOutcomeCallable; typedef std::future DescribeCacheClustersOutcomeCallable; typedef std::future DescribeCacheEngineVersionsOutcomeCallable; typedef std::future DescribeCacheParameterGroupsOutcomeCallable; typedef std::future DescribeCacheParametersOutcomeCallable; typedef std::future DescribeCacheSecurityGroupsOutcomeCallable; typedef std::future DescribeCacheSubnetGroupsOutcomeCallable; typedef std::future DescribeEngineDefaultParametersOutcomeCallable; typedef std::future DescribeEventsOutcomeCallable; typedef std::future DescribeGlobalReplicationGroupsOutcomeCallable; typedef std::future DescribeReplicationGroupsOutcomeCallable; typedef std::future DescribeReservedCacheNodesOutcomeCallable; typedef std::future DescribeReservedCacheNodesOfferingsOutcomeCallable; typedef std::future DescribeServiceUpdatesOutcomeCallable; typedef std::future DescribeSnapshotsOutcomeCallable; typedef std::future DescribeUpdateActionsOutcomeCallable; typedef std::future DisassociateGlobalReplicationGroupOutcomeCallable; typedef std::future FailoverGlobalReplicationGroupOutcomeCallable; typedef std::future IncreaseNodeGroupsInGlobalReplicationGroupOutcomeCallable; typedef std::future IncreaseReplicaCountOutcomeCallable; typedef std::future ListAllowedNodeTypeModificationsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ModifyCacheClusterOutcomeCallable; typedef std::future ModifyCacheParameterGroupOutcomeCallable; typedef std::future ModifyCacheSubnetGroupOutcomeCallable; typedef std::future ModifyGlobalReplicationGroupOutcomeCallable; typedef std::future ModifyReplicationGroupOutcomeCallable; typedef std::future ModifyReplicationGroupShardConfigurationOutcomeCallable; typedef std::future PurchaseReservedCacheNodesOfferingOutcomeCallable; typedef std::future RebalanceSlotsInGlobalReplicationGroupOutcomeCallable; typedef std::future RebootCacheClusterOutcomeCallable; typedef std::future RemoveTagsFromResourceOutcomeCallable; typedef std::future ResetCacheParameterGroupOutcomeCallable; typedef std::future RevokeCacheSecurityGroupIngressOutcomeCallable; typedef std::future StartMigrationOutcomeCallable; typedef std::future TestFailoverOutcomeCallable; } // namespace Model class ElastiCacheClient; typedef std::function&) > AddTagsToResourceResponseReceivedHandler; typedef std::function&) > AuthorizeCacheSecurityGroupIngressResponseReceivedHandler; typedef std::function&) > BatchApplyUpdateActionResponseReceivedHandler; typedef std::function&) > BatchStopUpdateActionResponseReceivedHandler; typedef std::function&) > CompleteMigrationResponseReceivedHandler; typedef std::function&) > CopySnapshotResponseReceivedHandler; typedef std::function&) > CreateCacheClusterResponseReceivedHandler; typedef std::function&) > CreateCacheParameterGroupResponseReceivedHandler; typedef std::function&) > CreateCacheSecurityGroupResponseReceivedHandler; typedef std::function&) > CreateCacheSubnetGroupResponseReceivedHandler; typedef std::function&) > CreateGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > CreateReplicationGroupResponseReceivedHandler; typedef std::function&) > CreateSnapshotResponseReceivedHandler; typedef std::function&) > DecreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > DecreaseReplicaCountResponseReceivedHandler; typedef std::function&) > DeleteCacheClusterResponseReceivedHandler; typedef std::function&) > DeleteCacheParameterGroupResponseReceivedHandler; typedef std::function&) > DeleteCacheSecurityGroupResponseReceivedHandler; typedef std::function&) > DeleteCacheSubnetGroupResponseReceivedHandler; typedef std::function&) > DeleteGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > DeleteReplicationGroupResponseReceivedHandler; typedef std::function&) > DeleteSnapshotResponseReceivedHandler; typedef std::function&) > DescribeCacheClustersResponseReceivedHandler; typedef std::function&) > DescribeCacheEngineVersionsResponseReceivedHandler; typedef std::function&) > DescribeCacheParameterGroupsResponseReceivedHandler; typedef std::function&) > DescribeCacheParametersResponseReceivedHandler; typedef std::function&) > DescribeCacheSecurityGroupsResponseReceivedHandler; typedef std::function&) > DescribeCacheSubnetGroupsResponseReceivedHandler; typedef std::function&) > DescribeEngineDefaultParametersResponseReceivedHandler; typedef std::function&) > DescribeEventsResponseReceivedHandler; typedef std::function&) > DescribeGlobalReplicationGroupsResponseReceivedHandler; typedef std::function&) > DescribeReplicationGroupsResponseReceivedHandler; typedef std::function&) > DescribeReservedCacheNodesResponseReceivedHandler; typedef std::function&) > DescribeReservedCacheNodesOfferingsResponseReceivedHandler; typedef std::function&) > DescribeServiceUpdatesResponseReceivedHandler; typedef std::function&) > DescribeSnapshotsResponseReceivedHandler; typedef std::function&) > DescribeUpdateActionsResponseReceivedHandler; typedef std::function&) > DisassociateGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > FailoverGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > IncreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > IncreaseReplicaCountResponseReceivedHandler; typedef std::function&) > ListAllowedNodeTypeModificationsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ModifyCacheClusterResponseReceivedHandler; typedef std::function&) > ModifyCacheParameterGroupResponseReceivedHandler; typedef std::function&) > ModifyCacheSubnetGroupResponseReceivedHandler; typedef std::function&) > ModifyGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > ModifyReplicationGroupResponseReceivedHandler; typedef std::function&) > ModifyReplicationGroupShardConfigurationResponseReceivedHandler; typedef std::function&) > PurchaseReservedCacheNodesOfferingResponseReceivedHandler; typedef std::function&) > RebalanceSlotsInGlobalReplicationGroupResponseReceivedHandler; typedef std::function&) > RebootCacheClusterResponseReceivedHandler; typedef std::function&) > RemoveTagsFromResourceResponseReceivedHandler; typedef std::function&) > ResetCacheParameterGroupResponseReceivedHandler; typedef std::function&) > RevokeCacheSecurityGroupIngressResponseReceivedHandler; typedef std::function&) > StartMigrationResponseReceivedHandler; typedef std::function&) > TestFailoverResponseReceivedHandler; /** * Amazon ElastiCache

Amazon ElastiCache is a web service * that makes it easier to set up, operate, and scale a distributed cache in the * cloud.

With ElastiCache, customers get all of the benefits of a * high-performance, in-memory cache with less of the administrative burden * involved in launching and managing a distributed cache. The service makes setup, * scaling, and cluster failure handling much simpler than in a self-managed cache * deployment.

In addition, through integration with Amazon CloudWatch, * customers get enhanced visibility into the key performance statistics associated * with their cache and can receive alarms if a part of their cache runs hot.

*/ class AWS_ELASTICACHE_API ElastiCacheClient : public Aws::Client::AWSXMLClient { public: typedef Aws::Client::AWSXMLClient BASECLASS; /** * 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. */ ElastiCacheClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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. */ ElastiCacheClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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 */ ElastiCacheClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~ElastiCacheClient(); /** * 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 up to 50 cost allocation tags to the named resource. A cost allocation * tag is a key-value pair where the key and value are case-sensitive. You can use * cost allocation tags to categorize and track your AWS costs.

When you * apply tags to your ElastiCache resources, AWS 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 in Amazon ElastiCache in the ElastiCache User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::AddTagsToResourceOutcome AddTagsToResource(const Model::AddTagsToResourceRequest& request) const; /** *

Adds up to 50 cost allocation tags to the named resource. A cost allocation * tag is a key-value pair where the key and value are case-sensitive. You can use * cost allocation tags to categorize and track your AWS costs.

When you * apply tags to your ElastiCache resources, AWS 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 in Amazon ElastiCache in the ElastiCache User * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddTagsToResourceOutcomeCallable AddTagsToResourceCallable(const Model::AddTagsToResourceRequest& request) const; /** *

Adds up to 50 cost allocation tags to the named resource. A cost allocation * tag is a key-value pair where the key and value are case-sensitive. You can use * cost allocation tags to categorize and track your AWS costs.

When you * apply tags to your ElastiCache resources, AWS 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 in Amazon ElastiCache in the ElastiCache User * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddTagsToResourceAsync(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Allows network ingress to a cache security group. Applications using * ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are * used as the authorization mechanism.

You cannot authorize ingress * from an Amazon EC2 security group in one region to an ElastiCache cluster in * another region.

See Also:

AWS * API Reference

*/ virtual Model::AuthorizeCacheSecurityGroupIngressOutcome AuthorizeCacheSecurityGroupIngress(const Model::AuthorizeCacheSecurityGroupIngressRequest& request) const; /** *

Allows network ingress to a cache security group. Applications using * ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are * used as the authorization mechanism.

You cannot authorize ingress * from an Amazon EC2 security group in one region to an ElastiCache cluster in * another region.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AuthorizeCacheSecurityGroupIngressOutcomeCallable AuthorizeCacheSecurityGroupIngressCallable(const Model::AuthorizeCacheSecurityGroupIngressRequest& request) const; /** *

Allows network ingress to a cache security group. Applications using * ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are * used as the authorization mechanism.

You cannot authorize ingress * from an Amazon EC2 security group in one region to an ElastiCache cluster in * another region.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AuthorizeCacheSecurityGroupIngressAsync(const Model::AuthorizeCacheSecurityGroupIngressRequest& request, const AuthorizeCacheSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Apply the service update. For more information on service updates and * applying them, see Applying * Service Updates.

See Also:

AWS * API Reference

*/ virtual Model::BatchApplyUpdateActionOutcome BatchApplyUpdateAction(const Model::BatchApplyUpdateActionRequest& request) const; /** *

Apply the service update. For more information on service updates and * applying them, see Applying * Service Updates.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchApplyUpdateActionOutcomeCallable BatchApplyUpdateActionCallable(const Model::BatchApplyUpdateActionRequest& request) const; /** *

Apply the service update. For more information on service updates and * applying them, see Applying * Service Updates.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchApplyUpdateActionAsync(const Model::BatchApplyUpdateActionRequest& request, const BatchApplyUpdateActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Stop the service update. For more information on service updates and stopping * them, see Stopping * Service Updates.

See Also:

AWS * API Reference

*/ virtual Model::BatchStopUpdateActionOutcome BatchStopUpdateAction(const Model::BatchStopUpdateActionRequest& request) const; /** *

Stop the service update. For more information on service updates and stopping * them, see Stopping * Service Updates.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchStopUpdateActionOutcomeCallable BatchStopUpdateActionCallable(const Model::BatchStopUpdateActionRequest& request) const; /** *

Stop the service update. For more information on service updates and stopping * them, see Stopping * Service Updates.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchStopUpdateActionAsync(const Model::BatchStopUpdateActionRequest& request, const BatchStopUpdateActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Complete the migration of data.

See Also:

AWS * API Reference

*/ virtual Model::CompleteMigrationOutcome CompleteMigration(const Model::CompleteMigrationRequest& request) const; /** *

Complete the migration of data.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CompleteMigrationOutcomeCallable CompleteMigrationCallable(const Model::CompleteMigrationRequest& request) const; /** *

Complete the migration of data.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CompleteMigrationAsync(const Model::CompleteMigrationRequest& request, const CompleteMigrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Makes a copy of an existing snapshot.

This operation is valid * for Redis only.

Users or groups that have permissions * to use the CopySnapshot operation can create their own Amazon S3 * buckets and copy snapshots to it. To control access to your snapshots, use an * IAM policy to control who has the ability to use the CopySnapshot * operation. For more information about using IAM to control the use of * ElastiCache operations, see Exporting * Snapshots and Authentication * & Access Control.

You could receive the following * error messages.

Error Messages

  • * Error Message: The S3 bucket %s is outside of the region.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s does not exist.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s is not owned by the authenticated * user.

    Solution: Create an Amazon S3 bucket in the same region as * your snapshot. For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The authenticated user does not have sufficient * permissions to perform the desired activity.

    Solution: Contact * your system administrator to get the needed permissions.

  • * Error Message: The S3 bucket %s already contains an object with key * %s.

    Solution: Give the TargetSnapshotName a new and * unique value. If exporting a snapshot, you could alternatively create a new * Amazon S3 bucket and use this same value for * TargetSnapshotName.

  • Error Message: * ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    * Solution: Add List and Read permissions on the bucket. For more * information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted WRITE permissions %s on the S3 Bucket.

    Solution: Add * Upload/Delete permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add * View Permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CopySnapshotOutcome CopySnapshot(const Model::CopySnapshotRequest& request) const; /** *

Makes a copy of an existing snapshot.

This operation is valid * for Redis only.

Users or groups that have permissions * to use the CopySnapshot operation can create their own Amazon S3 * buckets and copy snapshots to it. To control access to your snapshots, use an * IAM policy to control who has the ability to use the CopySnapshot * operation. For more information about using IAM to control the use of * ElastiCache operations, see Exporting * Snapshots and Authentication * & Access Control.

You could receive the following * error messages.

Error Messages

  • * Error Message: The S3 bucket %s is outside of the region.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s does not exist.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s is not owned by the authenticated * user.

    Solution: Create an Amazon S3 bucket in the same region as * your snapshot. For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The authenticated user does not have sufficient * permissions to perform the desired activity.

    Solution: Contact * your system administrator to get the needed permissions.

  • * Error Message: The S3 bucket %s already contains an object with key * %s.

    Solution: Give the TargetSnapshotName a new and * unique value. If exporting a snapshot, you could alternatively create a new * Amazon S3 bucket and use this same value for * TargetSnapshotName.

  • Error Message: * ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    * Solution: Add List and Read permissions on the bucket. For more * information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted WRITE permissions %s on the S3 Bucket.

    Solution: Add * Upload/Delete permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add * View Permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CopySnapshotOutcomeCallable CopySnapshotCallable(const Model::CopySnapshotRequest& request) const; /** *

Makes a copy of an existing snapshot.

This operation is valid * for Redis only.

Users or groups that have permissions * to use the CopySnapshot operation can create their own Amazon S3 * buckets and copy snapshots to it. To control access to your snapshots, use an * IAM policy to control who has the ability to use the CopySnapshot * operation. For more information about using IAM to control the use of * ElastiCache operations, see Exporting * Snapshots and Authentication * & Access Control.

You could receive the following * error messages.

Error Messages

  • * Error Message: The S3 bucket %s is outside of the region.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s does not exist.

    * Solution: Create an Amazon S3 bucket in the same region as your snapshot. * For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The S3 bucket %s is not owned by the authenticated * user.

    Solution: Create an Amazon S3 bucket in the same region as * your snapshot. For more information, see Step * 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • *

    Error Message: The authenticated user does not have sufficient * permissions to perform the desired activity.

    Solution: Contact * your system administrator to get the needed permissions.

  • * Error Message: The S3 bucket %s already contains an object with key * %s.

    Solution: Give the TargetSnapshotName a new and * unique value. If exporting a snapshot, you could alternatively create a new * Amazon S3 bucket and use this same value for * TargetSnapshotName.

  • Error Message: * ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    * Solution: Add List and Read permissions on the bucket. For more * information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted WRITE permissions %s on the S3 Bucket.

    Solution: Add * Upload/Delete permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

  • Error Message: ElastiCache has not been * granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add * View Permissions on the bucket. For more information, see Step * 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CopySnapshotAsync(const Model::CopySnapshotRequest& request, const CopySnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a cluster. All nodes in the cluster run the same protocol-compliant * cache engine software, either Memcached or Redis.

This operation is not * supported for Redis (cluster mode enabled) clusters.

See Also:

* AWS * API Reference

*/ virtual Model::CreateCacheClusterOutcome CreateCacheCluster(const Model::CreateCacheClusterRequest& request) const; /** *

Creates a cluster. All nodes in the cluster run the same protocol-compliant * cache engine software, either Memcached or Redis.

This operation is not * supported for Redis (cluster mode enabled) clusters.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateCacheClusterOutcomeCallable CreateCacheClusterCallable(const Model::CreateCacheClusterRequest& request) const; /** *

Creates a cluster. All nodes in the cluster run the same protocol-compliant * cache engine software, either Memcached or Redis.

This operation is not * supported for Redis (cluster mode enabled) clusters.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateCacheClusterAsync(const Model::CreateCacheClusterRequest& request, const CreateCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache * parameter group is a collection of parameters and their values that are applied * to all of the nodes in any cluster or replication group using the * CacheParameterGroup.

A newly created CacheParameterGroup is an exact * duplicate of the default parameter group for the CacheParameterGroupFamily. To * customize the newly created CacheParameterGroup you can change the values of * specific parameters. For more information, see:

See Also:

AWS * API Reference

*/ virtual Model::CreateCacheParameterGroupOutcome CreateCacheParameterGroup(const Model::CreateCacheParameterGroupRequest& request) const; /** *

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache * parameter group is a collection of parameters and their values that are applied * to all of the nodes in any cluster or replication group using the * CacheParameterGroup.

A newly created CacheParameterGroup is an exact * duplicate of the default parameter group for the CacheParameterGroupFamily. To * customize the newly created CacheParameterGroup you can change the values of * specific parameters. For more information, see:

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateCacheParameterGroupOutcomeCallable CreateCacheParameterGroupCallable(const Model::CreateCacheParameterGroupRequest& request) const; /** *

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache * parameter group is a collection of parameters and their values that are applied * to all of the nodes in any cluster or replication group using the * CacheParameterGroup.

A newly created CacheParameterGroup is an exact * duplicate of the default parameter group for the CacheParameterGroupFamily. To * customize the newly created CacheParameterGroup you can change the values of * specific parameters. For more information, see:

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateCacheParameterGroupAsync(const Model::CreateCacheParameterGroupRequest& request, const CreateCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new cache security group. Use a cache security group to control * access to one or more clusters.

Cache security groups are only used when * you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon * VPC). If you are creating a cluster inside of a VPC, use a cache subnet group * instead. For more information, see CreateCacheSubnetGroup.

See * Also:

AWS * API Reference

*/ virtual Model::CreateCacheSecurityGroupOutcome CreateCacheSecurityGroup(const Model::CreateCacheSecurityGroupRequest& request) const; /** *

Creates a new cache security group. Use a cache security group to control * access to one or more clusters.

Cache security groups are only used when * you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon * VPC). If you are creating a cluster inside of a VPC, use a cache subnet group * instead. For more information, see CreateCacheSubnetGroup.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateCacheSecurityGroupOutcomeCallable CreateCacheSecurityGroupCallable(const Model::CreateCacheSecurityGroupRequest& request) const; /** *

Creates a new cache security group. Use a cache security group to control * access to one or more clusters.

Cache security groups are only used when * you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon * VPC). If you are creating a cluster inside of a VPC, use a cache subnet group * instead. For more information, see CreateCacheSubnetGroup.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateCacheSecurityGroupAsync(const Model::CreateCacheSecurityGroupRequest& request, const CreateCacheSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new cache subnet group.

Use this parameter only when you are * creating a cluster in an Amazon Virtual Private Cloud (Amazon * VPC).

See Also:

AWS * API Reference

*/ virtual Model::CreateCacheSubnetGroupOutcome CreateCacheSubnetGroup(const Model::CreateCacheSubnetGroupRequest& request) const; /** *

Creates a new cache subnet group.

Use this parameter only when you are * creating a cluster in an Amazon Virtual Private Cloud (Amazon * VPC).

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateCacheSubnetGroupOutcomeCallable CreateCacheSubnetGroupCallable(const Model::CreateCacheSubnetGroupRequest& request) const; /** *

Creates a new cache subnet group.

Use this parameter only when you are * creating a cluster in an Amazon Virtual Private Cloud (Amazon * VPC).

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateCacheSubnetGroupAsync(const Model::CreateCacheSubnetGroupRequest& request, const CreateCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Global Datastore for Redis offers fully managed, fast, reliable and secure * cross-region replication. Using Global Datastore for Redis, you can create * cross-region read replica clusters for ElastiCache for Redis to enable * low-latency reads and disaster recovery across regions. For more information, * see Replication * Across Regions Using Global Datastore.

  • The * GlobalReplicationGroupIdSuffix is the name of the Global Datastore.

    *
  • The PrimaryReplicationGroupId represents the name of the * primary cluster that accepts writes and will replicate updates to the secondary * cluster.

See Also:

AWS * API Reference

*/ virtual Model::CreateGlobalReplicationGroupOutcome CreateGlobalReplicationGroup(const Model::CreateGlobalReplicationGroupRequest& request) const; /** *

Global Datastore for Redis offers fully managed, fast, reliable and secure * cross-region replication. Using Global Datastore for Redis, you can create * cross-region read replica clusters for ElastiCache for Redis to enable * low-latency reads and disaster recovery across regions. For more information, * see Replication * Across Regions Using Global Datastore.

  • The * GlobalReplicationGroupIdSuffix is the name of the Global Datastore.

    *
  • The PrimaryReplicationGroupId represents the name of the * primary cluster that accepts writes and will replicate updates to the secondary * cluster.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateGlobalReplicationGroupOutcomeCallable CreateGlobalReplicationGroupCallable(const Model::CreateGlobalReplicationGroupRequest& request) const; /** *

Global Datastore for Redis offers fully managed, fast, reliable and secure * cross-region replication. Using Global Datastore for Redis, you can create * cross-region read replica clusters for ElastiCache for Redis to enable * low-latency reads and disaster recovery across regions. For more information, * see Replication * Across Regions Using Global Datastore.

  • The * GlobalReplicationGroupIdSuffix is the name of the Global Datastore.

    *
  • The PrimaryReplicationGroupId represents the name of the * primary cluster that accepts writes and will replicate updates to the secondary * cluster.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateGlobalReplicationGroupAsync(const Model::CreateGlobalReplicationGroupRequest& request, const CreateGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) * replication group.

This API can be used to create a standalone regional * replication group or a secondary replication group associated with a Global * Datastore.

A Redis (cluster mode disabled) replication group is a * collection of clusters, where one of the clusters is a read/write primary and * the others are read-only replicas. Writes to the primary are asynchronously * propagated to the replicas.

A Redis (cluster mode enabled) replication * group is a collection of 1 to 90 node groups (shards). Each node group (shard) * has one read/write primary node and up to 5 read-only replica nodes. Writes to * the primary are asynchronously propagated to the replicas. Redis (cluster mode * enabled) replication groups partition the data across node groups (shards).

*

When a Redis (cluster mode disabled) replication group has been successfully * created, you can add one or more read replicas to it, up to a total of 5 read * replicas. If you need to increase or decrease the number of node groups * (console: shards), you can avail yourself of ElastiCache for Redis' scaling. For * more information, see Scaling * ElastiCache for Redis Clusters in the ElastiCache User Guide.

*

This operation is valid for Redis only.

See * Also:

AWS * API Reference

*/ virtual Model::CreateReplicationGroupOutcome CreateReplicationGroup(const Model::CreateReplicationGroupRequest& request) const; /** *

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) * replication group.

This API can be used to create a standalone regional * replication group or a secondary replication group associated with a Global * Datastore.

A Redis (cluster mode disabled) replication group is a * collection of clusters, where one of the clusters is a read/write primary and * the others are read-only replicas. Writes to the primary are asynchronously * propagated to the replicas.

A Redis (cluster mode enabled) replication * group is a collection of 1 to 90 node groups (shards). Each node group (shard) * has one read/write primary node and up to 5 read-only replica nodes. Writes to * the primary are asynchronously propagated to the replicas. Redis (cluster mode * enabled) replication groups partition the data across node groups (shards).

*

When a Redis (cluster mode disabled) replication group has been successfully * created, you can add one or more read replicas to it, up to a total of 5 read * replicas. If you need to increase or decrease the number of node groups * (console: shards), you can avail yourself of ElastiCache for Redis' scaling. For * more information, see Scaling * ElastiCache for Redis Clusters in the ElastiCache User Guide.

*

This operation is valid for Redis only.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateReplicationGroupOutcomeCallable CreateReplicationGroupCallable(const Model::CreateReplicationGroupRequest& request) const; /** *

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) * replication group.

This API can be used to create a standalone regional * replication group or a secondary replication group associated with a Global * Datastore.

A Redis (cluster mode disabled) replication group is a * collection of clusters, where one of the clusters is a read/write primary and * the others are read-only replicas. Writes to the primary are asynchronously * propagated to the replicas.

A Redis (cluster mode enabled) replication * group is a collection of 1 to 90 node groups (shards). Each node group (shard) * has one read/write primary node and up to 5 read-only replica nodes. Writes to * the primary are asynchronously propagated to the replicas. Redis (cluster mode * enabled) replication groups partition the data across node groups (shards).

*

When a Redis (cluster mode disabled) replication group has been successfully * created, you can add one or more read replicas to it, up to a total of 5 read * replicas. If you need to increase or decrease the number of node groups * (console: shards), you can avail yourself of ElastiCache for Redis' scaling. For * more information, see Scaling * ElastiCache for Redis Clusters in the ElastiCache User Guide.

*

This operation is valid for Redis only.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateReplicationGroupAsync(const Model::CreateReplicationGroupRequest& request, const CreateReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

*/ virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const Model::CreateSnapshotRequest& request) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSnapshotAsync(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Decreases the number of node groups in a Global Datastore

See * Also:

AWS * API Reference

*/ virtual Model::DecreaseNodeGroupsInGlobalReplicationGroupOutcome DecreaseNodeGroupsInGlobalReplicationGroup(const Model::DecreaseNodeGroupsInGlobalReplicationGroupRequest& request) const; /** *

Decreases the number of node groups in a Global Datastore

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DecreaseNodeGroupsInGlobalReplicationGroupOutcomeCallable DecreaseNodeGroupsInGlobalReplicationGroupCallable(const Model::DecreaseNodeGroupsInGlobalReplicationGroupRequest& request) const; /** *

Decreases the number of node groups in a Global Datastore

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DecreaseNodeGroupsInGlobalReplicationGroupAsync(const Model::DecreaseNodeGroupsInGlobalReplicationGroupRequest& request, const DecreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Dynamically decreases the number of replicas in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

*/ virtual Model::DecreaseReplicaCountOutcome DecreaseReplicaCount(const Model::DecreaseReplicaCountRequest& request) const; /** *

Dynamically decreases the number of replicas in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DecreaseReplicaCountOutcomeCallable DecreaseReplicaCountCallable(const Model::DecreaseReplicaCountRequest& request) const; /** *

Dynamically decreases the number of replicas in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DecreaseReplicaCountAsync(const Model::DecreaseReplicaCountRequest& request, const DecreaseReplicaCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a previously provisioned cluster. DeleteCacheCluster * deletes all associated cache nodes, node endpoints and the cluster itself. When * you receive a successful response from this operation, Amazon ElastiCache * immediately begins deleting the cluster; you cannot cancel or revert this * operation.

This operation is not valid for:

  • Redis * (cluster mode enabled) clusters

  • A cluster that is the last * read replica of a replication group

  • A node group (shard) that * has Multi-AZ mode enabled

  • A cluster from a Redis (cluster mode * enabled) replication group

  • A cluster that is not in the * available state

See Also:

AWS * API Reference

*/ virtual Model::DeleteCacheClusterOutcome DeleteCacheCluster(const Model::DeleteCacheClusterRequest& request) const; /** *

Deletes a previously provisioned cluster. DeleteCacheCluster * deletes all associated cache nodes, node endpoints and the cluster itself. When * you receive a successful response from this operation, Amazon ElastiCache * immediately begins deleting the cluster; you cannot cancel or revert this * operation.

This operation is not valid for:

  • Redis * (cluster mode enabled) clusters

  • A cluster that is the last * read replica of a replication group

  • A node group (shard) that * has Multi-AZ mode enabled

  • A cluster from a Redis (cluster mode * enabled) replication group

  • A cluster that is not in the * available state

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteCacheClusterOutcomeCallable DeleteCacheClusterCallable(const Model::DeleteCacheClusterRequest& request) const; /** *

Deletes a previously provisioned cluster. DeleteCacheCluster * deletes all associated cache nodes, node endpoints and the cluster itself. When * you receive a successful response from this operation, Amazon ElastiCache * immediately begins deleting the cluster; you cannot cancel or revert this * operation.

This operation is not valid for:

  • Redis * (cluster mode enabled) clusters

  • A cluster that is the last * read replica of a replication group

  • A node group (shard) that * has Multi-AZ mode enabled

  • A cluster from a Redis (cluster mode * enabled) replication group

  • A cluster that is not in the * available state

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteCacheClusterAsync(const Model::DeleteCacheClusterRequest& request, const DeleteCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified cache parameter group. You cannot delete a cache * parameter group if it is associated with any cache clusters.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteCacheParameterGroupOutcome DeleteCacheParameterGroup(const Model::DeleteCacheParameterGroupRequest& request) const; /** *

Deletes the specified cache parameter group. You cannot delete a cache * parameter group if it is associated with any cache clusters.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteCacheParameterGroupOutcomeCallable DeleteCacheParameterGroupCallable(const Model::DeleteCacheParameterGroupRequest& request) const; /** *

Deletes the specified cache parameter group. You cannot delete a cache * parameter group if it is associated with any cache clusters.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteCacheParameterGroupAsync(const Model::DeleteCacheParameterGroupRequest& request, const DeleteCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a cache security group.

You cannot delete a cache * security group if it is associated with any clusters.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteCacheSecurityGroupOutcome DeleteCacheSecurityGroup(const Model::DeleteCacheSecurityGroupRequest& request) const; /** *

Deletes a cache security group.

You cannot delete a cache * security group if it is associated with any clusters.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteCacheSecurityGroupOutcomeCallable DeleteCacheSecurityGroupCallable(const Model::DeleteCacheSecurityGroupRequest& request) const; /** *

Deletes a cache security group.

You cannot delete a cache * security group if it is associated with any clusters.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteCacheSecurityGroupAsync(const Model::DeleteCacheSecurityGroupRequest& request, const DeleteCacheSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a cache subnet group.

You cannot delete a cache subnet * group if it is associated with any clusters.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteCacheSubnetGroupOutcome DeleteCacheSubnetGroup(const Model::DeleteCacheSubnetGroupRequest& request) const; /** *

Deletes a cache subnet group.

You cannot delete a cache subnet * group if it is associated with any clusters.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteCacheSubnetGroupOutcomeCallable DeleteCacheSubnetGroupCallable(const Model::DeleteCacheSubnetGroupRequest& request) const; /** *

Deletes a cache subnet group.

You cannot delete a cache subnet * group if it is associated with any clusters.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteCacheSubnetGroupAsync(const Model::DeleteCacheSubnetGroupRequest& request, const DeleteCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deleting a Global Datastore is a two-step process:

  • First, * you must DisassociateGlobalReplicationGroup to remove the secondary * clusters in the Global Datastore.

  • Once the Global Datastore * contains only the primary cluster, you can use DeleteGlobalReplicationGroup API * to delete the Global Datastore while retainining the primary cluster using * Retain…= true.

Since the Global Datastore has only a primary * cluster, you can delete the Global Datastore while retaining the primary by * setting RetainPrimaryCluster=true.

When you receive a * successful response from this operation, Amazon ElastiCache immediately begins * deleting the selected resources; you cannot cancel or revert this * operation.

See Also:

AWS * API Reference

*/ virtual Model::DeleteGlobalReplicationGroupOutcome DeleteGlobalReplicationGroup(const Model::DeleteGlobalReplicationGroupRequest& request) const; /** *

Deleting a Global Datastore is a two-step process:

  • First, * you must DisassociateGlobalReplicationGroup to remove the secondary * clusters in the Global Datastore.

  • Once the Global Datastore * contains only the primary cluster, you can use DeleteGlobalReplicationGroup API * to delete the Global Datastore while retainining the primary cluster using * Retain…= true.

Since the Global Datastore has only a primary * cluster, you can delete the Global Datastore while retaining the primary by * setting RetainPrimaryCluster=true.

When you receive a * successful response from this operation, Amazon ElastiCache immediately begins * deleting the selected resources; you cannot cancel or revert this * operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteGlobalReplicationGroupOutcomeCallable DeleteGlobalReplicationGroupCallable(const Model::DeleteGlobalReplicationGroupRequest& request) const; /** *

Deleting a Global Datastore is a two-step process:

  • First, * you must DisassociateGlobalReplicationGroup to remove the secondary * clusters in the Global Datastore.

  • Once the Global Datastore * contains only the primary cluster, you can use DeleteGlobalReplicationGroup API * to delete the Global Datastore while retainining the primary cluster using * Retain…= true.

Since the Global Datastore has only a primary * cluster, you can delete the Global Datastore while retaining the primary by * setting RetainPrimaryCluster=true.

When you receive a * successful response from this operation, Amazon ElastiCache immediately begins * deleting the selected resources; you cannot cancel or revert this * operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteGlobalReplicationGroupAsync(const Model::DeleteGlobalReplicationGroupRequest& request, const DeleteGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an existing replication group. By default, this operation deletes the * entire replication group, including the primary/primaries and all of the read * replicas. If the replication group has only one primary, you can optionally * delete only the read replicas, while retaining the primary by setting * RetainPrimaryCluster=true.

When you receive a successful * response from this operation, Amazon ElastiCache immediately begins deleting the * selected resources; you cannot cancel or revert this operation.

*

This operation is valid for Redis only.

See Also:

AWS * API Reference

*/ virtual Model::DeleteReplicationGroupOutcome DeleteReplicationGroup(const Model::DeleteReplicationGroupRequest& request) const; /** *

Deletes an existing replication group. By default, this operation deletes the * entire replication group, including the primary/primaries and all of the read * replicas. If the replication group has only one primary, you can optionally * delete only the read replicas, while retaining the primary by setting * RetainPrimaryCluster=true.

When you receive a successful * response from this operation, Amazon ElastiCache immediately begins deleting the * selected resources; you cannot cancel or revert this operation.

*

This operation is valid for Redis only.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteReplicationGroupOutcomeCallable DeleteReplicationGroupCallable(const Model::DeleteReplicationGroupRequest& request) const; /** *

Deletes an existing replication group. By default, this operation deletes the * entire replication group, including the primary/primaries and all of the read * replicas. If the replication group has only one primary, you can optionally * delete only the read replicas, while retaining the primary by setting * RetainPrimaryCluster=true.

When you receive a successful * response from this operation, Amazon ElastiCache immediately begins deleting the * selected resources; you cannot cancel or revert this operation.

*

This operation is valid for Redis only.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteReplicationGroupAsync(const Model::DeleteReplicationGroupRequest& request, const DeleteReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

This operation is valid for Redis * only.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSnapshotOutcome DeleteSnapshot(const Model::DeleteSnapshotRequest& request) const; /** *

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

This operation is valid for Redis * only.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const; /** *

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

This operation is valid for Redis * only.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

By default, abbreviated information about the clusters is * returned. You can use the optional ShowCacheNodeInfo flag to retrieve * detailed information about the cache nodes associated with the clusters. These * details include the DNS address and port for the cache node endpoint.

If * the cluster is in the creating state, only cluster-level information is * displayed until all of the nodes are successfully provisioned.

If the * cluster is in the deleting state, only cluster-level information is * displayed.

If cache nodes are currently being added to the cluster, node * endpoint information and creation time for the additional nodes are not * displayed until they are completely provisioned. When the cluster state is * available, the cluster is ready for use.

If cache nodes are * currently being removed from the cluster, no endpoint information for the * removed nodes is displayed.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCacheClustersOutcome DescribeCacheClusters(const Model::DescribeCacheClustersRequest& request) const; /** *

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

By default, abbreviated information about the clusters is * returned. You can use the optional ShowCacheNodeInfo flag to retrieve * detailed information about the cache nodes associated with the clusters. These * details include the DNS address and port for the cache node endpoint.

If * the cluster is in the creating state, only cluster-level information is * displayed until all of the nodes are successfully provisioned.

If the * cluster is in the deleting state, only cluster-level information is * displayed.

If cache nodes are currently being added to the cluster, node * endpoint information and creation time for the additional nodes are not * displayed until they are completely provisioned. When the cluster state is * available, the cluster is ready for use.

If cache nodes are * currently being removed from the cluster, no endpoint information for the * removed nodes is displayed.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheClustersOutcomeCallable DescribeCacheClustersCallable(const Model::DescribeCacheClustersRequest& request) const; /** *

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

By default, abbreviated information about the clusters is * returned. You can use the optional ShowCacheNodeInfo flag to retrieve * detailed information about the cache nodes associated with the clusters. These * details include the DNS address and port for the cache node endpoint.

If * the cluster is in the creating state, only cluster-level information is * displayed until all of the nodes are successfully provisioned.

If the * cluster is in the deleting state, only cluster-level information is * displayed.

If cache nodes are currently being added to the cluster, node * endpoint information and creation time for the additional nodes are not * displayed until they are completely provisioned. When the cluster state is * available, the cluster is ready for use.

If cache nodes are * currently being removed from the cluster, no endpoint information for the * removed nodes is displayed.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheClustersAsync(const Model::DescribeCacheClustersRequest& request, const DescribeCacheClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of the available cache engines and their * versions.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCacheEngineVersionsOutcome DescribeCacheEngineVersions(const Model::DescribeCacheEngineVersionsRequest& request) const; /** *

Returns a list of the available cache engines and their * versions.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheEngineVersionsOutcomeCallable DescribeCacheEngineVersionsCallable(const Model::DescribeCacheEngineVersionsRequest& request) const; /** *

Returns a list of the available cache engines and their * versions.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheEngineVersionsAsync(const Model::DescribeCacheEngineVersionsRequest& request, const DescribeCacheEngineVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeCacheParameterGroupsOutcome DescribeCacheParameterGroups(const Model::DescribeCacheParameterGroupsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheParameterGroupsOutcomeCallable DescribeCacheParameterGroupsCallable(const Model::DescribeCacheParameterGroupsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheParameterGroupsAsync(const Model::DescribeCacheParameterGroupsRequest& request, const DescribeCacheParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeCacheParametersOutcome DescribeCacheParameters(const Model::DescribeCacheParametersRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheParametersOutcomeCallable DescribeCacheParametersCallable(const Model::DescribeCacheParametersRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheParametersAsync(const Model::DescribeCacheParametersRequest& request, const DescribeCacheParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of cache security group descriptions. If a cache security * group name is specified, the list contains only the description of that group. * This applicable only when you have ElastiCache in Classic setup

See * Also:

AWS * API Reference

*/ virtual Model::DescribeCacheSecurityGroupsOutcome DescribeCacheSecurityGroups(const Model::DescribeCacheSecurityGroupsRequest& request) const; /** *

Returns a list of cache security group descriptions. If a cache security * group name is specified, the list contains only the description of that group. * This applicable only when you have ElastiCache in Classic setup

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheSecurityGroupsOutcomeCallable DescribeCacheSecurityGroupsCallable(const Model::DescribeCacheSecurityGroupsRequest& request) const; /** *

Returns a list of cache security group descriptions. If a cache security * group name is specified, the list contains only the description of that group. * This applicable only when you have ElastiCache in Classic setup

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheSecurityGroupsAsync(const Model::DescribeCacheSecurityGroupsRequest& request, const DescribeCacheSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of cache subnet group descriptions. If a subnet group name is * specified, the list contains only the description of that group. This is * applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters * now launch in VPC by default.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCacheSubnetGroupsOutcome DescribeCacheSubnetGroups(const Model::DescribeCacheSubnetGroupsRequest& request) const; /** *

Returns a list of cache subnet group descriptions. If a subnet group name is * specified, the list contains only the description of that group. This is * applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters * now launch in VPC by default.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCacheSubnetGroupsOutcomeCallable DescribeCacheSubnetGroupsCallable(const Model::DescribeCacheSubnetGroupsRequest& request) const; /** *

Returns a list of cache subnet group descriptions. If a subnet group name is * specified, the list contains only the description of that group. This is * applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters * now launch in VPC by default.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCacheSubnetGroupsAsync(const Model::DescribeCacheSubnetGroupsRequest& request, const DescribeCacheSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the default engine and system parameter information for the specified * cache engine.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEngineDefaultParametersOutcome DescribeEngineDefaultParameters(const Model::DescribeEngineDefaultParametersRequest& request) const; /** *

Returns the default engine and system parameter information for the specified * cache engine.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeEngineDefaultParametersOutcomeCallable DescribeEngineDefaultParametersCallable(const Model::DescribeEngineDefaultParametersRequest& request) const; /** *

Returns the default engine and system parameter information for the specified * cache engine.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeEngineDefaultParametersAsync(const Model::DescribeEngineDefaultParametersRequest& request, const DescribeEngineDefaultParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns events related to clusters, cache security groups, and cache * parameter groups. You can obtain events specific to a particular cluster, cache * security group, or cache 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; /** *

Returns events related to clusters, cache security groups, and cache * parameter groups. You can obtain events specific to a particular cluster, cache * security group, or cache 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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeEventsOutcomeCallable DescribeEventsCallable(const Model::DescribeEventsRequest& request) const; /** *

Returns events related to clusters, cache security groups, and cache * parameter groups. You can obtain events specific to a particular cluster, cache * security group, or cache 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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeEventsAsync(const Model::DescribeEventsRequest& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a particular global replication group. If no * identifier is specified, returns information about all Global Datastores. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeGlobalReplicationGroupsOutcome DescribeGlobalReplicationGroups(const Model::DescribeGlobalReplicationGroupsRequest& request) const; /** *

Returns information about a particular global replication group. If no * identifier is specified, returns information about all Global Datastores. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeGlobalReplicationGroupsOutcomeCallable DescribeGlobalReplicationGroupsCallable(const Model::DescribeGlobalReplicationGroupsRequest& request) const; /** *

Returns information about a particular global replication group. If no * identifier is specified, returns information about all Global Datastores. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeGlobalReplicationGroupsAsync(const Model::DescribeGlobalReplicationGroupsRequest& request, const DescribeGlobalReplicationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a particular replication group. If no identifier is * specified, DescribeReplicationGroups returns information about all * replication groups.

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

*/ virtual Model::DescribeReplicationGroupsOutcome DescribeReplicationGroups(const Model::DescribeReplicationGroupsRequest& request) const; /** *

Returns information about a particular replication group. If no identifier is * specified, DescribeReplicationGroups returns information about all * replication groups.

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeReplicationGroupsOutcomeCallable DescribeReplicationGroupsCallable(const Model::DescribeReplicationGroupsRequest& request) const; /** *

Returns information about a particular replication group. If no identifier is * specified, DescribeReplicationGroups returns information about all * replication groups.

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeReplicationGroupsAsync(const Model::DescribeReplicationGroupsRequest& request, const DescribeReplicationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeReservedCacheNodesOutcome DescribeReservedCacheNodes(const Model::DescribeReservedCacheNodesRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeReservedCacheNodesOutcomeCallable DescribeReservedCacheNodesCallable(const Model::DescribeReservedCacheNodesRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeReservedCacheNodesAsync(const Model::DescribeReservedCacheNodesRequest& request, const DescribeReservedCacheNodesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists available reserved cache node offerings.

See Also:

AWS * API Reference

*/ virtual Model::DescribeReservedCacheNodesOfferingsOutcome DescribeReservedCacheNodesOfferings(const Model::DescribeReservedCacheNodesOfferingsRequest& request) const; /** *

Lists available reserved cache node offerings.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeReservedCacheNodesOfferingsOutcomeCallable DescribeReservedCacheNodesOfferingsCallable(const Model::DescribeReservedCacheNodesOfferingsRequest& request) const; /** *

Lists available reserved cache node offerings.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeReservedCacheNodesOfferingsAsync(const Model::DescribeReservedCacheNodesOfferingsRequest& request, const DescribeReservedCacheNodesOfferingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns details of the service updates

See Also:

AWS * API Reference

*/ virtual Model::DescribeServiceUpdatesOutcome DescribeServiceUpdates(const Model::DescribeServiceUpdatesRequest& request) const; /** *

Returns details of the service updates

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeServiceUpdatesOutcomeCallable DescribeServiceUpdatesCallable(const Model::DescribeServiceUpdatesRequest& request) const; /** *

Returns details of the service updates

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeServiceUpdatesAsync(const Model::DescribeServiceUpdatesRequest& request, const DescribeServiceUpdatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

*/ virtual Model::DescribeSnapshotsOutcome DescribeSnapshots(const Model::DescribeSnapshotsRequest& request) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSnapshotsOutcomeCallable DescribeSnapshotsCallable(const Model::DescribeSnapshotsRequest& request) const; /** *

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

This operation is valid for Redis only.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSnapshotsAsync(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns details of the update actions

See Also:

AWS * API Reference

*/ virtual Model::DescribeUpdateActionsOutcome DescribeUpdateActions(const Model::DescribeUpdateActionsRequest& request) const; /** *

Returns details of the update actions

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeUpdateActionsOutcomeCallable DescribeUpdateActionsCallable(const Model::DescribeUpdateActionsRequest& request) const; /** *

Returns details of the update actions

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeUpdateActionsAsync(const Model::DescribeUpdateActionsRequest& request, const DescribeUpdateActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Remove a secondary cluster from the Global Datastore using the Global * Datastore name. The secondary cluster will no longer receive updates from the * primary cluster, but will remain as a standalone cluster in that AWS * region.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateGlobalReplicationGroupOutcome DisassociateGlobalReplicationGroup(const Model::DisassociateGlobalReplicationGroupRequest& request) const; /** *

Remove a secondary cluster from the Global Datastore using the Global * Datastore name. The secondary cluster will no longer receive updates from the * primary cluster, but will remain as a standalone cluster in that AWS * region.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateGlobalReplicationGroupOutcomeCallable DisassociateGlobalReplicationGroupCallable(const Model::DisassociateGlobalReplicationGroupRequest& request) const; /** *

Remove a secondary cluster from the Global Datastore using the Global * Datastore name. The secondary cluster will no longer receive updates from the * primary cluster, but will remain as a standalone cluster in that AWS * region.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateGlobalReplicationGroupAsync(const Model::DisassociateGlobalReplicationGroupRequest& request, const DisassociateGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Used to failover the primary region to a selected secondary region. The * selected secondary region will become primary, and all other clusters will * become secondary.

See Also:

AWS * API Reference

*/ virtual Model::FailoverGlobalReplicationGroupOutcome FailoverGlobalReplicationGroup(const Model::FailoverGlobalReplicationGroupRequest& request) const; /** *

Used to failover the primary region to a selected secondary region. The * selected secondary region will become primary, and all other clusters will * become secondary.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::FailoverGlobalReplicationGroupOutcomeCallable FailoverGlobalReplicationGroupCallable(const Model::FailoverGlobalReplicationGroupRequest& request) const; /** *

Used to failover the primary region to a selected secondary region. The * selected secondary region will become primary, and all other clusters will * become secondary.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void FailoverGlobalReplicationGroupAsync(const Model::FailoverGlobalReplicationGroupRequest& request, const FailoverGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Increase the number of node groups in the Global Datastore

See * Also:

AWS * API Reference

*/ virtual Model::IncreaseNodeGroupsInGlobalReplicationGroupOutcome IncreaseNodeGroupsInGlobalReplicationGroup(const Model::IncreaseNodeGroupsInGlobalReplicationGroupRequest& request) const; /** *

Increase the number of node groups in the Global Datastore

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::IncreaseNodeGroupsInGlobalReplicationGroupOutcomeCallable IncreaseNodeGroupsInGlobalReplicationGroupCallable(const Model::IncreaseNodeGroupsInGlobalReplicationGroupRequest& request) const; /** *

Increase the number of node groups in the Global Datastore

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void IncreaseNodeGroupsInGlobalReplicationGroupAsync(const Model::IncreaseNodeGroupsInGlobalReplicationGroupRequest& request, const IncreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Dynamically increases the number of replics in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

*/ virtual Model::IncreaseReplicaCountOutcome IncreaseReplicaCount(const Model::IncreaseReplicaCountRequest& request) const; /** *

Dynamically increases the number of replics in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::IncreaseReplicaCountOutcomeCallable IncreaseReplicaCountCallable(const Model::IncreaseReplicaCountRequest& request) const; /** *

Dynamically increases the number of replics in a Redis (cluster mode * disabled) replication group or the number of replica nodes in one or more node * groups (shards) of a Redis (cluster mode enabled) replication group. This * operation is performed with no cluster down time.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void IncreaseReplicaCountAsync(const Model::IncreaseReplicaCountRequest& request, const IncreaseReplicaCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all available node types that you can scale your Redis cluster's or * replication group's current node type.

When you use the * ModifyCacheCluster or ModifyReplicationGroup * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

See Also:

AWS * API Reference

*/ virtual Model::ListAllowedNodeTypeModificationsOutcome ListAllowedNodeTypeModifications(const Model::ListAllowedNodeTypeModificationsRequest& request) const; /** *

Lists all available node types that you can scale your Redis cluster's or * replication group's current node type.

When you use the * ModifyCacheCluster or ModifyReplicationGroup * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListAllowedNodeTypeModificationsOutcomeCallable ListAllowedNodeTypeModificationsCallable(const Model::ListAllowedNodeTypeModificationsRequest& request) const; /** *

Lists all available node types that you can scale your Redis cluster's or * replication group's current node type.

When you use the * ModifyCacheCluster or ModifyReplicationGroup * operations to scale your cluster or replication group, the value of the * CacheNodeType parameter must be one of the node types returned by * this operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListAllowedNodeTypeModificationsAsync(const Model::ListAllowedNodeTypeModificationsRequest& request, const ListAllowedNodeTypeModificationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all cost allocation tags currently on the named resource. A cost * allocation tag is a key-value pair where the key is case-sensitive and * the value is optional. You can use cost allocation tags to categorize and track * your AWS costs.

If the cluster is not in the available state, * ListTagsForResource returns an error.

You can have a maximum * of 50 cost allocation tags on an ElastiCache resource. For more information, see * Monitoring * Costs with Tags.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all cost allocation tags currently on the named resource. A cost * allocation tag is a key-value pair where the key is case-sensitive and * the value is optional. You can use cost allocation tags to categorize and track * your AWS costs.

If the cluster is not in the available state, * ListTagsForResource returns an error.

You can have a maximum * of 50 cost allocation tags on an ElastiCache resource. For more information, see * Monitoring * Costs with Tags.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all cost allocation tags currently on the named resource. A cost * allocation tag is a key-value pair where the key is case-sensitive and * the value is optional. You can use cost allocation tags to categorize and track * your AWS costs.

If the cluster is not in the available state, * ListTagsForResource returns an error.

You can have a maximum * of 50 cost allocation tags on an ElastiCache resource. For more information, see * Monitoring * Costs with Tags.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ModifyCacheClusterOutcome ModifyCacheCluster(const Model::ModifyCacheClusterRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyCacheClusterOutcomeCallable ModifyCacheClusterCallable(const Model::ModifyCacheClusterRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyCacheClusterAsync(const Model::ModifyCacheClusterRequest& request, const ModifyCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies the parameters of a cache 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::ModifyCacheParameterGroupOutcome ModifyCacheParameterGroup(const Model::ModifyCacheParameterGroupRequest& request) const; /** *

Modifies the parameters of a cache 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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyCacheParameterGroupOutcomeCallable ModifyCacheParameterGroupCallable(const Model::ModifyCacheParameterGroupRequest& request) const; /** *

Modifies the parameters of a cache 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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyCacheParameterGroupAsync(const Model::ModifyCacheParameterGroupRequest& request, const ModifyCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies an existing cache subnet group.

See Also:

AWS * API Reference

*/ virtual Model::ModifyCacheSubnetGroupOutcome ModifyCacheSubnetGroup(const Model::ModifyCacheSubnetGroupRequest& request) const; /** *

Modifies an existing cache subnet group.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyCacheSubnetGroupOutcomeCallable ModifyCacheSubnetGroupCallable(const Model::ModifyCacheSubnetGroupRequest& request) const; /** *

Modifies an existing cache subnet group.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyCacheSubnetGroupAsync(const Model::ModifyCacheSubnetGroupRequest& request, const ModifyCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies the settings for a Global Datastore.

See Also:

AWS * API Reference

*/ virtual Model::ModifyGlobalReplicationGroupOutcome ModifyGlobalReplicationGroup(const Model::ModifyGlobalReplicationGroupRequest& request) const; /** *

Modifies the settings for a Global Datastore.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyGlobalReplicationGroupOutcomeCallable ModifyGlobalReplicationGroupCallable(const Model::ModifyGlobalReplicationGroupRequest& request) const; /** *

Modifies the settings for a Global Datastore.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyGlobalReplicationGroupAsync(const Model::ModifyGlobalReplicationGroupRequest& request, const ModifyGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies the settings for a replication group.

This operation is * valid for Redis only.

See Also:

AWS * API Reference

*/ virtual Model::ModifyReplicationGroupOutcome ModifyReplicationGroup(const Model::ModifyReplicationGroupRequest& request) const; /** *

Modifies the settings for a replication group.

This operation is * valid for Redis only.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyReplicationGroupOutcomeCallable ModifyReplicationGroupCallable(const Model::ModifyReplicationGroupRequest& request) const; /** *

Modifies the settings for a replication group.

This operation is * valid for Redis only.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyReplicationGroupAsync(const Model::ModifyReplicationGroupRequest& request, const ModifyReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies a replication group's shards (node groups) by allowing you to add * shards, remove shards, or rebalance the keyspaces among exisiting * shards.

See Also:

AWS * API Reference

*/ virtual Model::ModifyReplicationGroupShardConfigurationOutcome ModifyReplicationGroupShardConfiguration(const Model::ModifyReplicationGroupShardConfigurationRequest& request) const; /** *

Modifies a replication group's shards (node groups) by allowing you to add * shards, remove shards, or rebalance the keyspaces among exisiting * shards.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyReplicationGroupShardConfigurationOutcomeCallable ModifyReplicationGroupShardConfigurationCallable(const Model::ModifyReplicationGroupShardConfigurationRequest& request) const; /** *

Modifies a replication group's shards (node groups) by allowing you to add * shards, remove shards, or rebalance the keyspaces among exisiting * shards.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyReplicationGroupShardConfigurationAsync(const Model::ModifyReplicationGroupShardConfigurationRequest& request, const ModifyReplicationGroupShardConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Allows you to purchase a reserved cache node offering.

See * Also:

AWS * API Reference

*/ virtual Model::PurchaseReservedCacheNodesOfferingOutcome PurchaseReservedCacheNodesOffering(const Model::PurchaseReservedCacheNodesOfferingRequest& request) const; /** *

Allows you to purchase a reserved cache node offering.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PurchaseReservedCacheNodesOfferingOutcomeCallable PurchaseReservedCacheNodesOfferingCallable(const Model::PurchaseReservedCacheNodesOfferingRequest& request) const; /** *

Allows you to purchase a reserved cache node offering.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PurchaseReservedCacheNodesOfferingAsync(const Model::PurchaseReservedCacheNodesOfferingRequest& request, const PurchaseReservedCacheNodesOfferingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Redistribute slots to ensure uniform distribution across existing shards in * the cluster.

See Also:

AWS * API Reference

*/ virtual Model::RebalanceSlotsInGlobalReplicationGroupOutcome RebalanceSlotsInGlobalReplicationGroup(const Model::RebalanceSlotsInGlobalReplicationGroupRequest& request) const; /** *

Redistribute slots to ensure uniform distribution across existing shards in * the cluster.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RebalanceSlotsInGlobalReplicationGroupOutcomeCallable RebalanceSlotsInGlobalReplicationGroupCallable(const Model::RebalanceSlotsInGlobalReplicationGroupRequest& request) const; /** *

Redistribute slots to ensure uniform distribution across existing shards in * the cluster.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RebalanceSlotsInGlobalReplicationGroupAsync(const Model::RebalanceSlotsInGlobalReplicationGroupRequest& request, const RebalanceSlotsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Reboots some, or all, of the cache nodes within a provisioned cluster. This * operation applies any modified cache parameter groups to the cluster. The reboot * operation takes place as soon as possible, and results in a momentary outage to * the cluster. During the reboot, the cluster status is set to REBOOTING.

*

The reboot causes the contents of the cache (for each cache node being * rebooted) to be lost.

When the reboot is complete, a cluster event is * created.

Rebooting a cluster is currently supported on Memcached and * Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis * (cluster mode enabled) clusters.

If you make changes to parameters that * require a Redis (cluster mode enabled) cluster reboot for the changes to be * applied, see Rebooting * a Cluster for an alternate process.

See Also:

AWS * API Reference

*/ virtual Model::RebootCacheClusterOutcome RebootCacheCluster(const Model::RebootCacheClusterRequest& request) const; /** *

Reboots some, or all, of the cache nodes within a provisioned cluster. This * operation applies any modified cache parameter groups to the cluster. The reboot * operation takes place as soon as possible, and results in a momentary outage to * the cluster. During the reboot, the cluster status is set to REBOOTING.

*

The reboot causes the contents of the cache (for each cache node being * rebooted) to be lost.

When the reboot is complete, a cluster event is * created.

Rebooting a cluster is currently supported on Memcached and * Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis * (cluster mode enabled) clusters.

If you make changes to parameters that * require a Redis (cluster mode enabled) cluster reboot for the changes to be * applied, see Rebooting * a Cluster for an alternate process.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RebootCacheClusterOutcomeCallable RebootCacheClusterCallable(const Model::RebootCacheClusterRequest& request) const; /** *

Reboots some, or all, of the cache nodes within a provisioned cluster. This * operation applies any modified cache parameter groups to the cluster. The reboot * operation takes place as soon as possible, and results in a momentary outage to * the cluster. During the reboot, the cluster status is set to REBOOTING.

*

The reboot causes the contents of the cache (for each cache node being * rebooted) to be lost.

When the reboot is complete, a cluster event is * created.

Rebooting a cluster is currently supported on Memcached and * Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis * (cluster mode enabled) clusters.

If you make changes to parameters that * require a Redis (cluster mode enabled) cluster reboot for the changes to be * applied, see Rebooting * a Cluster for an alternate process.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RebootCacheClusterAsync(const Model::RebootCacheClusterRequest& request, const RebootCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the tags identified by the TagKeys list from the named * resource.

See Also:

AWS * API Reference

*/ virtual Model::RemoveTagsFromResourceOutcome RemoveTagsFromResource(const Model::RemoveTagsFromResourceRequest& request) const; /** *

Removes the tags identified by the TagKeys list from the named * resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveTagsFromResourceOutcomeCallable RemoveTagsFromResourceCallable(const Model::RemoveTagsFromResourceRequest& request) const; /** *

Removes the tags identified by the TagKeys list from the named * resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveTagsFromResourceAsync(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies the parameters of a cache 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 cache parameter group, specify the * ResetAllParameters and CacheParameterGroupName * parameters.

See Also:

AWS * API Reference

*/ virtual Model::ResetCacheParameterGroupOutcome ResetCacheParameterGroup(const Model::ResetCacheParameterGroupRequest& request) const; /** *

Modifies the parameters of a cache 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 cache parameter group, specify the * ResetAllParameters and CacheParameterGroupName * parameters.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ResetCacheParameterGroupOutcomeCallable ResetCacheParameterGroupCallable(const Model::ResetCacheParameterGroupRequest& request) const; /** *

Modifies the parameters of a cache 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 cache parameter group, specify the * ResetAllParameters and CacheParameterGroupName * parameters.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ResetCacheParameterGroupAsync(const Model::ResetCacheParameterGroupRequest& request, const ResetCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Revokes ingress from a cache security group. Use this operation to disallow * access from an Amazon EC2 security group that had been previously * authorized.

See Also:

AWS * API Reference

*/ virtual Model::RevokeCacheSecurityGroupIngressOutcome RevokeCacheSecurityGroupIngress(const Model::RevokeCacheSecurityGroupIngressRequest& request) const; /** *

Revokes ingress from a cache security group. Use this operation to disallow * access from an Amazon EC2 security group that had been previously * authorized.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RevokeCacheSecurityGroupIngressOutcomeCallable RevokeCacheSecurityGroupIngressCallable(const Model::RevokeCacheSecurityGroupIngressRequest& request) const; /** *

Revokes ingress from a cache security group. Use this operation to disallow * access from an Amazon EC2 security group that had been previously * authorized.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RevokeCacheSecurityGroupIngressAsync(const Model::RevokeCacheSecurityGroupIngressRequest& request, const RevokeCacheSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Start the migration of data.

See Also:

AWS * API Reference

*/ virtual Model::StartMigrationOutcome StartMigration(const Model::StartMigrationRequest& request) const; /** *

Start the migration of data.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartMigrationOutcomeCallable StartMigrationCallable(const Model::StartMigrationRequest& request) const; /** *

Start the migration of data.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartMigrationAsync(const Model::StartMigrationRequest& request, const StartMigrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Represents the input of a TestFailover operation which test * automatic failover on a specified node group (called shard in the console) in a * replication group (called cluster in the console).

Note * the following

  • A customer can use this operation to test * automatic failover on up to 5 shards (called node groups in the ElastiCache API * and AWS CLI) in any rolling 24-hour period.

  • If calling this * operation on shards in different clusters (called replication groups in the API * and CLI), the calls can be made concurrently.

  • If * calling this operation multiple times on different shards in the same Redis * (cluster mode enabled) replication group, the first node replacement must * complete before a subsequent call can be made.

  • To determine * whether the node replacement is complete you can check Events using the Amazon * ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following * automatic failover related events, listed here in order of occurrance:

      *
    1. Replication group message: Test Failover API called for node group * <node-group-id>

    2. Cache cluster message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    3. Replication group message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    4. Cache cluster message: * Recovering cache nodes <node-id>

    5. Cache * cluster message: Finished recovery for cache nodes <node-id> *

    For more information see:

Also see, Testing * Multi-AZ in the ElastiCache User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::TestFailoverOutcome TestFailover(const Model::TestFailoverRequest& request) const; /** *

Represents the input of a TestFailover operation which test * automatic failover on a specified node group (called shard in the console) in a * replication group (called cluster in the console).

Note * the following

  • A customer can use this operation to test * automatic failover on up to 5 shards (called node groups in the ElastiCache API * and AWS CLI) in any rolling 24-hour period.

  • If calling this * operation on shards in different clusters (called replication groups in the API * and CLI), the calls can be made concurrently.

  • If * calling this operation multiple times on different shards in the same Redis * (cluster mode enabled) replication group, the first node replacement must * complete before a subsequent call can be made.

  • To determine * whether the node replacement is complete you can check Events using the Amazon * ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following * automatic failover related events, listed here in order of occurrance:

      *
    1. Replication group message: Test Failover API called for node group * <node-group-id>

    2. Cache cluster message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    3. Replication group message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    4. Cache cluster message: * Recovering cache nodes <node-id>

    5. Cache * cluster message: Finished recovery for cache nodes <node-id> *

    For more information see:

Also see, Testing * Multi-AZ in the ElastiCache User Guide.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TestFailoverOutcomeCallable TestFailoverCallable(const Model::TestFailoverRequest& request) const; /** *

Represents the input of a TestFailover operation which test * automatic failover on a specified node group (called shard in the console) in a * replication group (called cluster in the console).

Note * the following

  • A customer can use this operation to test * automatic failover on up to 5 shards (called node groups in the ElastiCache API * and AWS CLI) in any rolling 24-hour period.

  • If calling this * operation on shards in different clusters (called replication groups in the API * and CLI), the calls can be made concurrently.

  • If * calling this operation multiple times on different shards in the same Redis * (cluster mode enabled) replication group, the first node replacement must * complete before a subsequent call can be made.

  • To determine * whether the node replacement is complete you can check Events using the Amazon * ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following * automatic failover related events, listed here in order of occurrance:

      *
    1. Replication group message: Test Failover API called for node group * <node-group-id>

    2. Cache cluster message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    3. Replication group message: * Failover from master node <primary-node-id> to replica node * <node-id> completed

    4. Cache cluster message: * Recovering cache nodes <node-id>

    5. Cache * cluster message: Finished recovery for cache nodes <node-id> *

    For more information see:

Also see, Testing * Multi-AZ in the ElastiCache User Guide.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TestFailoverAsync(const Model::TestFailoverRequest& request, const TestFailoverResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AddTagsToResourceAsyncHelper(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AuthorizeCacheSecurityGroupIngressAsyncHelper(const Model::AuthorizeCacheSecurityGroupIngressRequest& request, const AuthorizeCacheSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchApplyUpdateActionAsyncHelper(const Model::BatchApplyUpdateActionRequest& request, const BatchApplyUpdateActionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchStopUpdateActionAsyncHelper(const Model::BatchStopUpdateActionRequest& request, const BatchStopUpdateActionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CompleteMigrationAsyncHelper(const Model::CompleteMigrationRequest& request, const CompleteMigrationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CopySnapshotAsyncHelper(const Model::CopySnapshotRequest& request, const CopySnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateCacheClusterAsyncHelper(const Model::CreateCacheClusterRequest& request, const CreateCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateCacheParameterGroupAsyncHelper(const Model::CreateCacheParameterGroupRequest& request, const CreateCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateCacheSecurityGroupAsyncHelper(const Model::CreateCacheSecurityGroupRequest& request, const CreateCacheSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateCacheSubnetGroupAsyncHelper(const Model::CreateCacheSubnetGroupRequest& request, const CreateCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateGlobalReplicationGroupAsyncHelper(const Model::CreateGlobalReplicationGroupRequest& request, const CreateGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateReplicationGroupAsyncHelper(const Model::CreateReplicationGroupRequest& request, const CreateReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSnapshotAsyncHelper(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DecreaseNodeGroupsInGlobalReplicationGroupAsyncHelper(const Model::DecreaseNodeGroupsInGlobalReplicationGroupRequest& request, const DecreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DecreaseReplicaCountAsyncHelper(const Model::DecreaseReplicaCountRequest& request, const DecreaseReplicaCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteCacheClusterAsyncHelper(const Model::DeleteCacheClusterRequest& request, const DeleteCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteCacheParameterGroupAsyncHelper(const Model::DeleteCacheParameterGroupRequest& request, const DeleteCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteCacheSecurityGroupAsyncHelper(const Model::DeleteCacheSecurityGroupRequest& request, const DeleteCacheSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteCacheSubnetGroupAsyncHelper(const Model::DeleteCacheSubnetGroupRequest& request, const DeleteCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteGlobalReplicationGroupAsyncHelper(const Model::DeleteGlobalReplicationGroupRequest& request, const DeleteGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteReplicationGroupAsyncHelper(const Model::DeleteReplicationGroupRequest& request, const DeleteReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSnapshotAsyncHelper(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheClustersAsyncHelper(const Model::DescribeCacheClustersRequest& request, const DescribeCacheClustersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheEngineVersionsAsyncHelper(const Model::DescribeCacheEngineVersionsRequest& request, const DescribeCacheEngineVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheParameterGroupsAsyncHelper(const Model::DescribeCacheParameterGroupsRequest& request, const DescribeCacheParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheParametersAsyncHelper(const Model::DescribeCacheParametersRequest& request, const DescribeCacheParametersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheSecurityGroupsAsyncHelper(const Model::DescribeCacheSecurityGroupsRequest& request, const DescribeCacheSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCacheSubnetGroupsAsyncHelper(const Model::DescribeCacheSubnetGroupsRequest& request, const DescribeCacheSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEngineDefaultParametersAsyncHelper(const Model::DescribeEngineDefaultParametersRequest& request, const DescribeEngineDefaultParametersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEventsAsyncHelper(const Model::DescribeEventsRequest& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeGlobalReplicationGroupsAsyncHelper(const Model::DescribeGlobalReplicationGroupsRequest& request, const DescribeGlobalReplicationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeReplicationGroupsAsyncHelper(const Model::DescribeReplicationGroupsRequest& request, const DescribeReplicationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeReservedCacheNodesAsyncHelper(const Model::DescribeReservedCacheNodesRequest& request, const DescribeReservedCacheNodesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeReservedCacheNodesOfferingsAsyncHelper(const Model::DescribeReservedCacheNodesOfferingsRequest& request, const DescribeReservedCacheNodesOfferingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeServiceUpdatesAsyncHelper(const Model::DescribeServiceUpdatesRequest& request, const DescribeServiceUpdatesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSnapshotsAsyncHelper(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeUpdateActionsAsyncHelper(const Model::DescribeUpdateActionsRequest& request, const DescribeUpdateActionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateGlobalReplicationGroupAsyncHelper(const Model::DisassociateGlobalReplicationGroupRequest& request, const DisassociateGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void FailoverGlobalReplicationGroupAsyncHelper(const Model::FailoverGlobalReplicationGroupRequest& request, const FailoverGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void IncreaseNodeGroupsInGlobalReplicationGroupAsyncHelper(const Model::IncreaseNodeGroupsInGlobalReplicationGroupRequest& request, const IncreaseNodeGroupsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void IncreaseReplicaCountAsyncHelper(const Model::IncreaseReplicaCountRequest& request, const IncreaseReplicaCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListAllowedNodeTypeModificationsAsyncHelper(const Model::ListAllowedNodeTypeModificationsRequest& request, const ListAllowedNodeTypeModificationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyCacheClusterAsyncHelper(const Model::ModifyCacheClusterRequest& request, const ModifyCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyCacheParameterGroupAsyncHelper(const Model::ModifyCacheParameterGroupRequest& request, const ModifyCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyCacheSubnetGroupAsyncHelper(const Model::ModifyCacheSubnetGroupRequest& request, const ModifyCacheSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyGlobalReplicationGroupAsyncHelper(const Model::ModifyGlobalReplicationGroupRequest& request, const ModifyGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyReplicationGroupAsyncHelper(const Model::ModifyReplicationGroupRequest& request, const ModifyReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyReplicationGroupShardConfigurationAsyncHelper(const Model::ModifyReplicationGroupShardConfigurationRequest& request, const ModifyReplicationGroupShardConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PurchaseReservedCacheNodesOfferingAsyncHelper(const Model::PurchaseReservedCacheNodesOfferingRequest& request, const PurchaseReservedCacheNodesOfferingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RebalanceSlotsInGlobalReplicationGroupAsyncHelper(const Model::RebalanceSlotsInGlobalReplicationGroupRequest& request, const RebalanceSlotsInGlobalReplicationGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RebootCacheClusterAsyncHelper(const Model::RebootCacheClusterRequest& request, const RebootCacheClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveTagsFromResourceAsyncHelper(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ResetCacheParameterGroupAsyncHelper(const Model::ResetCacheParameterGroupRequest& request, const ResetCacheParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RevokeCacheSecurityGroupIngressAsyncHelper(const Model::RevokeCacheSecurityGroupIngressRequest& request, const RevokeCacheSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartMigrationAsyncHelper(const Model::StartMigrationRequest& request, const StartMigrationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TestFailoverAsyncHelper(const Model::TestFailoverRequest& request, const TestFailoverResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace ElastiCache } // namespace Aws