/** * 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 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 Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace DAX { namespace Model { class CreateClusterRequest; class CreateParameterGroupRequest; class CreateSubnetGroupRequest; class DecreaseReplicationFactorRequest; class DeleteClusterRequest; class DeleteParameterGroupRequest; class DeleteSubnetGroupRequest; class DescribeClustersRequest; class DescribeDefaultParametersRequest; class DescribeEventsRequest; class DescribeParameterGroupsRequest; class DescribeParametersRequest; class DescribeSubnetGroupsRequest; class IncreaseReplicationFactorRequest; class ListTagsRequest; class RebootNodeRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateClusterRequest; class UpdateParameterGroupRequest; class UpdateSubnetGroupRequest; typedef Aws::Utils::Outcome CreateClusterOutcome; typedef Aws::Utils::Outcome CreateParameterGroupOutcome; typedef Aws::Utils::Outcome CreateSubnetGroupOutcome; typedef Aws::Utils::Outcome DecreaseReplicationFactorOutcome; typedef Aws::Utils::Outcome DeleteClusterOutcome; typedef Aws::Utils::Outcome DeleteParameterGroupOutcome; typedef Aws::Utils::Outcome DeleteSubnetGroupOutcome; typedef Aws::Utils::Outcome DescribeClustersOutcome; typedef Aws::Utils::Outcome DescribeDefaultParametersOutcome; typedef Aws::Utils::Outcome DescribeEventsOutcome; typedef Aws::Utils::Outcome DescribeParameterGroupsOutcome; typedef Aws::Utils::Outcome DescribeParametersOutcome; typedef Aws::Utils::Outcome DescribeSubnetGroupsOutcome; typedef Aws::Utils::Outcome IncreaseReplicationFactorOutcome; typedef Aws::Utils::Outcome ListTagsOutcome; typedef Aws::Utils::Outcome RebootNodeOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateClusterOutcome; typedef Aws::Utils::Outcome UpdateParameterGroupOutcome; typedef Aws::Utils::Outcome UpdateSubnetGroupOutcome; typedef std::future CreateClusterOutcomeCallable; typedef std::future CreateParameterGroupOutcomeCallable; typedef std::future CreateSubnetGroupOutcomeCallable; typedef std::future DecreaseReplicationFactorOutcomeCallable; typedef std::future DeleteClusterOutcomeCallable; typedef std::future DeleteParameterGroupOutcomeCallable; typedef std::future DeleteSubnetGroupOutcomeCallable; typedef std::future DescribeClustersOutcomeCallable; typedef std::future DescribeDefaultParametersOutcomeCallable; typedef std::future DescribeEventsOutcomeCallable; typedef std::future DescribeParameterGroupsOutcomeCallable; typedef std::future DescribeParametersOutcomeCallable; typedef std::future DescribeSubnetGroupsOutcomeCallable; typedef std::future IncreaseReplicationFactorOutcomeCallable; typedef std::future ListTagsOutcomeCallable; typedef std::future RebootNodeOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateClusterOutcomeCallable; typedef std::future UpdateParameterGroupOutcomeCallable; typedef std::future UpdateSubnetGroupOutcomeCallable; } // namespace Model class DAXClient; typedef std::function&) > CreateClusterResponseReceivedHandler; typedef std::function&) > CreateParameterGroupResponseReceivedHandler; typedef std::function&) > CreateSubnetGroupResponseReceivedHandler; typedef std::function&) > DecreaseReplicationFactorResponseReceivedHandler; typedef std::function&) > DeleteClusterResponseReceivedHandler; typedef std::function&) > DeleteParameterGroupResponseReceivedHandler; typedef std::function&) > DeleteSubnetGroupResponseReceivedHandler; typedef std::function&) > DescribeClustersResponseReceivedHandler; typedef std::function&) > DescribeDefaultParametersResponseReceivedHandler; typedef std::function&) > DescribeEventsResponseReceivedHandler; typedef std::function&) > DescribeParameterGroupsResponseReceivedHandler; typedef std::function&) > DescribeParametersResponseReceivedHandler; typedef std::function&) > DescribeSubnetGroupsResponseReceivedHandler; typedef std::function&) > IncreaseReplicationFactorResponseReceivedHandler; typedef std::function&) > ListTagsResponseReceivedHandler; typedef std::function&) > RebootNodeResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateClusterResponseReceivedHandler; typedef std::function&) > UpdateParameterGroupResponseReceivedHandler; typedef std::function&) > UpdateSubnetGroupResponseReceivedHandler; /** *

DAX is a managed caching service engineered for Amazon DynamoDB. DAX * dramatically speeds up database reads by caching frequently-accessed data from * DynamoDB, so applications can access that data with sub-millisecond latency. You * can create a DAX cluster easily, using the AWS Management Console. With a few * simple modifications to your code, your application can begin taking advantage * of the DAX cluster and realize significant improvements in read performance.

*/ class AWS_DAX_API DAXClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient 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. */ DAXClient(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. */ DAXClient(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 */ DAXClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~DAXClient(); /** *

Creates a DAX cluster. All nodes in the cluster run the same DAX caching * software.

See Also:

AWS * API Reference

*/ virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest& request) const; /** *

Creates a DAX cluster. All nodes in the cluster run the same DAX caching * software.

See Also:

AWS * API Reference

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

Creates a DAX cluster. All nodes in the cluster run the same DAX caching * software.

See Also:

AWS * API Reference

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

Creates a new parameter group. A parameter group is a collection of * parameters that you apply to all of the nodes in a DAX cluster.

See * Also:

AWS * API Reference

*/ virtual Model::CreateParameterGroupOutcome CreateParameterGroup(const Model::CreateParameterGroupRequest& request) const; /** *

Creates a new parameter group. A parameter group is a collection of * parameters that you apply to all of the nodes in a DAX 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::CreateParameterGroupOutcomeCallable CreateParameterGroupCallable(const Model::CreateParameterGroupRequest& request) const; /** *

Creates a new parameter group. A parameter group is a collection of * parameters that you apply to all of the nodes in a DAX cluster.

See * Also:

AWS * API Reference

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

Creates a new subnet group.

See Also:

AWS * API Reference

*/ virtual Model::CreateSubnetGroupOutcome CreateSubnetGroup(const Model::CreateSubnetGroupRequest& request) const; /** *

Creates a new 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::CreateSubnetGroupOutcomeCallable CreateSubnetGroupCallable(const Model::CreateSubnetGroupRequest& request) const; /** *

Creates a new subnet group.

See Also:

AWS * API Reference

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

Removes one or more nodes from a DAX cluster.

You cannot use * DecreaseReplicationFactor to remove the last node in a DAX cluster. * If you need to do this, use DeleteCluster instead.

*

See Also:

AWS * API Reference

*/ virtual Model::DecreaseReplicationFactorOutcome DecreaseReplicationFactor(const Model::DecreaseReplicationFactorRequest& request) const; /** *

Removes one or more nodes from a DAX cluster.

You cannot use * DecreaseReplicationFactor to remove the last node in a DAX cluster. * If you need to do this, use DeleteCluster instead.

*

See Also:

AWS * API Reference

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

Removes one or more nodes from a DAX cluster.

You cannot use * DecreaseReplicationFactor to remove the last node in a DAX cluster. * If you need to do this, use DeleteCluster instead.

*

See Also:

AWS * API Reference

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

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

See Also:

* AWS * API Reference

*/ virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest& request) const; /** *

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

See Also:

* AWS * API Reference

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

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

See Also:

* AWS * API Reference

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

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteParameterGroupOutcome DeleteParameterGroup(const Model::DeleteParameterGroupRequest& request) const; /** *

Deletes the specified parameter group. You cannot delete a parameter group if * it is associated with any DAX 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::DeleteParameterGroupOutcomeCallable DeleteParameterGroupCallable(const Model::DeleteParameterGroupRequest& request) const; /** *

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

See Also:

AWS * API Reference

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

Deletes a subnet group.

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteSubnetGroupOutcome DeleteSubnetGroup(const Model::DeleteSubnetGroupRequest& request) const; /** *

Deletes a subnet group.

You cannot delete a subnet group if it * is associated with any DAX 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::DeleteSubnetGroupOutcomeCallable DeleteSubnetGroupCallable(const Model::DeleteSubnetGroupRequest& request) const; /** *

Deletes a subnet group.

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

See Also:

AWS * API Reference

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

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

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

If the cluster is in the DELETING state, only cluster level * information will be displayed.

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

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeClustersOutcome DescribeClusters(const Model::DescribeClustersRequest& request) const; /** *

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

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

If the cluster is in the DELETING state, only cluster level * information will be displayed.

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

If nodes * are currently being removed from the DAX 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::DescribeClustersOutcomeCallable DescribeClustersCallable(const Model::DescribeClustersRequest& request) const; /** *

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

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

If the cluster is in the DELETING state, only cluster level * information will be displayed.

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

If nodes * are currently being removed from the DAX 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 DescribeClustersAsync(const Model::DescribeClustersRequest& request, const DescribeClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the default system parameter information for the DAX caching * software.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDefaultParametersOutcome DescribeDefaultParameters(const Model::DescribeDefaultParametersRequest& request) const; /** *

Returns the default system parameter information for the DAX caching * software.

See Also:

AWS * API Reference

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

Returns the default system parameter information for the DAX caching * software.

See Also:

AWS * API Reference

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

Returns events related to DAX clusters and parameter groups. You can obtain * events specific to a particular DAX cluster or parameter group by providing the * name as a parameter.

By default, only the events occurring within the * last 24 hours 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 DAX clusters and parameter groups. You can obtain * events specific to a particular DAX cluster or parameter group by providing the * name as a parameter.

By default, only the events occurring within the * last 24 hours 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 DAX clusters and parameter groups. You can obtain * events specific to a particular DAX cluster or parameter group by providing the * name as a parameter.

By default, only the events occurring within the * last 24 hours 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 a list of parameter group descriptions. If a parameter group name is * specified, the list will contain only the descriptions for that * group.

See Also:

AWS * API Reference

*/ virtual Model::DescribeParameterGroupsOutcome DescribeParameterGroups(const Model::DescribeParameterGroupsRequest& request) const; /** *

Returns a list of parameter group descriptions. If a parameter group name is * specified, the list will contain 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::DescribeParameterGroupsOutcomeCallable DescribeParameterGroupsCallable(const Model::DescribeParameterGroupsRequest& request) const; /** *

Returns a list of parameter group descriptions. If a parameter group name is * specified, the list will contain 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 DescribeParameterGroupsAsync(const Model::DescribeParameterGroupsRequest& request, const DescribeParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeParametersOutcome DescribeParameters(const Model::DescribeParametersRequest& request) const; /** *

Returns the detailed parameter list for a particular 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::DescribeParametersOutcomeCallable DescribeParametersCallable(const Model::DescribeParametersRequest& request) const; /** *

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

See Also:

AWS * API Reference

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

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeSubnetGroupsOutcome DescribeSubnetGroups(const Model::DescribeSubnetGroupsRequest& request) const; /** *

Returns a list of subnet group descriptions. If a subnet group name is * specified, the list will contain only the description of 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::DescribeSubnetGroupsOutcomeCallable DescribeSubnetGroupsCallable(const Model::DescribeSubnetGroupsRequest& request) const; /** *

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

See Also:

AWS * API Reference

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

Adds one or more nodes to a DAX cluster.

See Also:

AWS * API Reference

*/ virtual Model::IncreaseReplicationFactorOutcome IncreaseReplicationFactor(const Model::IncreaseReplicationFactorRequest& request) const; /** *

Adds one or more nodes to a DAX 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::IncreaseReplicationFactorOutcomeCallable IncreaseReplicationFactorCallable(const Model::IncreaseReplicationFactorRequest& request) const; /** *

Adds one or more nodes to a DAX cluster.

See Also:

AWS * API Reference

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

List all of the tags for a DAX cluster. You can call ListTags up * to 10 times per second, per account.

See Also:

AWS API * Reference

*/ virtual Model::ListTagsOutcome ListTags(const Model::ListTagsRequest& request) const; /** *

List all of the tags for a DAX cluster. You can call ListTags up * to 10 times per second, per account.

See Also:

AWS API * Reference

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

List all of the tags for a DAX cluster. You can call ListTags up * to 10 times per second, per account.

See Also:

AWS API * Reference

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

Reboots a single node of a DAX cluster. The reboot action takes place as soon * as possible. During the reboot, the node status is set to REBOOTING.

*

RebootNode restarts the DAX engine process and does not remove * the contents of the cache.

See Also:

AWS API * Reference

*/ virtual Model::RebootNodeOutcome RebootNode(const Model::RebootNodeRequest& request) const; /** *

Reboots a single node of a DAX cluster. The reboot action takes place as soon * as possible. During the reboot, the node status is set to REBOOTING.

*

RebootNode restarts the DAX engine process and does not remove * the contents of the cache.

See Also:

AWS API * Reference

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

Reboots a single node of a DAX cluster. The reboot action takes place as soon * as possible. During the reboot, the node status is set to REBOOTING.

*

RebootNode restarts the DAX engine process and does not remove * the contents of the cache.

See Also:

AWS API * Reference

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

Associates a set of tags with a DAX resource. You can call * TagResource up to 5 times per second, per account.

See * Also:

AWS API * Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Associates a set of tags with a DAX resource. You can call * TagResource up to 5 times per second, per account.

See * Also:

AWS API * Reference

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

Associates a set of tags with a DAX resource. You can call * TagResource up to 5 times per second, per account.

See * Also:

AWS API * Reference

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

Removes the association of tags from a DAX resource. You can call * UntagResource up to 5 times per second, per account.

See * Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes the association of tags from a DAX resource. You can call * UntagResource up to 5 times per second, per account.

See * Also:

AWS * API Reference

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

Removes the association of tags from a DAX resource. You can call * UntagResource up to 5 times per second, per account.

See * Also:

AWS * API Reference

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

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateClusterOutcome UpdateCluster(const Model::UpdateClusterRequest& request) const; /** *

Modifies the settings for a DAX cluster. You can use this action 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::UpdateClusterOutcomeCallable UpdateClusterCallable(const Model::UpdateClusterRequest& request) const; /** *

Modifies the settings for a DAX cluster. You can use this action 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 UpdateClusterAsync(const Model::UpdateClusterRequest& request, const UpdateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateParameterGroupOutcome UpdateParameterGroup(const Model::UpdateParameterGroupRequest& request) const; /** *

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

See Also:

AWS * API Reference

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

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

See Also:

AWS * API Reference

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

Modifies an existing subnet group.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSubnetGroupOutcome UpdateSubnetGroup(const Model::UpdateSubnetGroupRequest& request) const; /** *

Modifies an existing 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::UpdateSubnetGroupOutcomeCallable UpdateSubnetGroupCallable(const Model::UpdateSubnetGroupRequest& request) const; /** *

Modifies an existing subnet group.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSubnetGroupAsync(const Model::UpdateSubnetGroupRequest& request, const UpdateSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateClusterAsyncHelper(const Model::CreateClusterRequest& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateParameterGroupAsyncHelper(const Model::CreateParameterGroupRequest& request, const CreateParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSubnetGroupAsyncHelper(const Model::CreateSubnetGroupRequest& request, const CreateSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DecreaseReplicationFactorAsyncHelper(const Model::DecreaseReplicationFactorRequest& request, const DecreaseReplicationFactorResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteClusterAsyncHelper(const Model::DeleteClusterRequest& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteParameterGroupAsyncHelper(const Model::DeleteParameterGroupRequest& request, const DeleteParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSubnetGroupAsyncHelper(const Model::DeleteSubnetGroupRequest& request, const DeleteSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeClustersAsyncHelper(const Model::DescribeClustersRequest& request, const DescribeClustersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDefaultParametersAsyncHelper(const Model::DescribeDefaultParametersRequest& request, const DescribeDefaultParametersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEventsAsyncHelper(const Model::DescribeEventsRequest& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeParameterGroupsAsyncHelper(const Model::DescribeParameterGroupsRequest& request, const DescribeParameterGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeParametersAsyncHelper(const Model::DescribeParametersRequest& request, const DescribeParametersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSubnetGroupsAsyncHelper(const Model::DescribeSubnetGroupsRequest& request, const DescribeSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void IncreaseReplicationFactorAsyncHelper(const Model::IncreaseReplicationFactorRequest& request, const IncreaseReplicationFactorResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsAsyncHelper(const Model::ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RebootNodeAsyncHelper(const Model::RebootNodeRequest& request, const RebootNodeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateClusterAsyncHelper(const Model::UpdateClusterRequest& request, const UpdateClusterResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateParameterGroupAsyncHelper(const Model::UpdateParameterGroupRequest& request, const UpdateParameterGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSubnetGroupAsyncHelper(const Model::UpdateSubnetGroupRequest& request, const UpdateSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace DAX } // namespace Aws