/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the dax-2017-04-19.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.DAX.Model;
namespace Amazon.DAX
{
///
/// Interface for accessing DAX
///
/// 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.
///
public partial interface IAmazonDAX : IAmazonService, IDisposable
{
#region CreateCluster
///
/// Creates a DAX cluster. All nodes in the cluster run the same DAX caching software.
///
/// Container for the necessary parameters to execute the CreateCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateCluster service method, as returned by DAX.
///
/// You already have a DAX cluster with the given identifier.
///
///
/// You have attempted to exceed the maximum number of DAX clusters for your AWS account.
///
///
/// There are not enough system resources to create the cluster you requested (or to resize
/// an already-existing cluster).
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// One or more parameters in a parameter group are in an invalid state.
///
///
/// The value for a parameter is invalid.
///
///
/// The VPC network is in an invalid state.
///
///
/// You have attempted to exceed the maximum number of nodes for a DAX cluster.
///
///
/// You have attempted to exceed the maximum number of nodes for your AWS account.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
///
/// You have reached the maximum number of x509 certificates that can be created for encrypted
/// clusters in a 30 day period. Contact AWS customer support to discuss options for continuing
/// to create encrypted clusters.
///
///
/// The requested subnet group name does not refer to an existing subnet group.
///
///
/// You have exceeded the maximum number of tags for this DAX cluster.
///
/// REST API Reference for CreateCluster Operation
Task CreateClusterAsync(CreateClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateParameterGroup
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateParameterGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateParameterGroup service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// One or more parameters in a parameter group are in an invalid state.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group already exists.
///
///
/// You have attempted to exceed the maximum number of parameter groups.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for CreateParameterGroup Operation
Task CreateParameterGroupAsync(CreateParameterGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateSubnetGroup
///
/// Creates a new subnet group.
///
/// Container for the necessary parameters to execute the CreateSubnetGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateSubnetGroup service method, as returned by DAX.
///
/// An invalid subnet identifier was specified.
///
///
/// The specified service linked role (SLR) was not found.
///
///
/// The specified subnet group already exists.
///
///
/// The request cannot be processed because it would exceed the allowed number of subnets
/// in a subnet group.
///
///
/// The request cannot be processed because it would exceed the allowed number of subnets
/// in a subnet group.
///
/// REST API Reference for CreateSubnetGroup Operation
Task CreateSubnetGroupAsync(CreateSubnetGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DecreaseReplicationFactor
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the DecreaseReplicationFactor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DecreaseReplicationFactor service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// None of the nodes in the cluster have the given node ID.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DecreaseReplicationFactor Operation
Task DecreaseReplicationFactorAsync(DecreaseReplicationFactorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteCluster
///
/// 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.
///
/// Container for the necessary parameters to execute the DeleteCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteCluster service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DeleteCluster Operation
Task DeleteClusterAsync(DeleteClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteParameterGroup
///
/// Deletes the specified parameter group. You cannot delete a parameter group if it is
/// associated with any DAX clusters.
///
/// Container for the necessary parameters to execute the DeleteParameterGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteParameterGroup service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// One or more parameters in a parameter group are in an invalid state.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DeleteParameterGroup Operation
Task DeleteParameterGroupAsync(DeleteParameterGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteSubnetGroup
///
/// Deletes a subnet group.
///
///
///
/// You cannot delete a subnet group if it is associated with any DAX clusters.
///
///
///
/// Container for the necessary parameters to execute the DeleteSubnetGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteSubnetGroup service method, as returned by DAX.
///
/// The specified service linked role (SLR) was not found.
///
///
/// The specified subnet group is currently in use.
///
///
/// The requested subnet group name does not refer to an existing subnet group.
///
/// REST API Reference for DeleteSubnetGroup Operation
Task DeleteSubnetGroupAsync(DeleteSubnetGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeClusters
///
/// 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.
///
///
/// Container for the necessary parameters to execute the DescribeClusters service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeClusters service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DescribeClusters Operation
Task DescribeClustersAsync(DescribeClustersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeDefaultParameters
///
/// Returns the default system parameter information for the DAX caching software.
///
/// Container for the necessary parameters to execute the DescribeDefaultParameters service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeDefaultParameters service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DescribeDefaultParameters Operation
Task DescribeDefaultParametersAsync(DescribeDefaultParametersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeEvents
///
/// 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.
///
///
/// Container for the necessary parameters to execute the DescribeEvents service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEvents service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DescribeEvents Operation
Task DescribeEventsAsync(DescribeEventsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeParameterGroups
///
/// Returns a list of parameter group descriptions. If a parameter group name is specified,
/// the list will contain only the descriptions for that group.
///
/// Container for the necessary parameters to execute the DescribeParameterGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeParameterGroups service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DescribeParameterGroups Operation
Task DescribeParameterGroupsAsync(DescribeParameterGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeParameters
///
/// Returns the detailed parameter list for a particular parameter group.
///
/// Container for the necessary parameters to execute the DescribeParameters service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeParameters service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for DescribeParameters Operation
Task DescribeParametersAsync(DescribeParametersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSubnetGroups
///
/// Returns a list of subnet group descriptions. If a subnet group name is specified,
/// the list will contain only the description of that group.
///
/// Container for the necessary parameters to execute the DescribeSubnetGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeSubnetGroups service method, as returned by DAX.
///
/// The specified service linked role (SLR) was not found.
///
///
/// The requested subnet group name does not refer to an existing subnet group.
///
/// REST API Reference for DescribeSubnetGroups Operation
Task DescribeSubnetGroupsAsync(DescribeSubnetGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region IncreaseReplicationFactor
///
/// Adds one or more nodes to a DAX cluster.
///
/// Container for the necessary parameters to execute the IncreaseReplicationFactor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the IncreaseReplicationFactor service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// There are not enough system resources to create the cluster you requested (or to resize
/// an already-existing cluster).
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The VPC network is in an invalid state.
///
///
/// You have attempted to exceed the maximum number of nodes for a DAX cluster.
///
///
/// You have attempted to exceed the maximum number of nodes for your AWS account.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for IncreaseReplicationFactor Operation
Task IncreaseReplicationFactorAsync(IncreaseReplicationFactorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTags
///
/// List all of the tags for a DAX cluster. You can call ListTags
up to 10
/// times per second, per account.
///
/// Container for the necessary parameters to execute the ListTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTags service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The Amazon Resource Name (ARN) supplied in the request is not valid.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for ListTags Operation
Task ListTagsAsync(ListTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region RebootNode
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the RebootNode service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RebootNode service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// None of the nodes in the cluster have the given node ID.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for RebootNode Operation
Task RebootNodeAsync(RebootNodeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Associates a set of tags with a DAX resource. You can call TagResource
/// up to 5 times per second, per account.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The Amazon Resource Name (ARN) supplied in the request is not valid.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
///
/// You have exceeded the maximum number of tags for this DAX cluster.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes the association of tags from a DAX resource. You can call UntagResource
/// up to 5 times per second, per account.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The Amazon Resource Name (ARN) supplied in the request is not valid.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified service linked role (SLR) was not found.
///
///
/// The tag does not exist.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateCluster
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateCluster service method, as returned by DAX.
///
/// The requested cluster ID does not refer to an existing DAX cluster.
///
///
/// The requested DAX cluster is not in the available state.
///
///
/// Two or more incompatible parameters were specified.
///
///
/// One or more parameters in a parameter group are in an invalid state.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for UpdateCluster Operation
Task UpdateClusterAsync(UpdateClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateParameterGroup
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateParameterGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateParameterGroup service method, as returned by DAX.
///
/// Two or more incompatible parameters were specified.
///
///
/// One or more parameters in a parameter group are in an invalid state.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified parameter group does not exist.
///
///
/// The specified service linked role (SLR) was not found.
///
/// REST API Reference for UpdateParameterGroup Operation
Task UpdateParameterGroupAsync(UpdateParameterGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateSubnetGroup
///
/// Modifies an existing subnet group.
///
/// Container for the necessary parameters to execute the UpdateSubnetGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateSubnetGroup service method, as returned by DAX.
///
/// An invalid subnet identifier was specified.
///
///
/// The specified service linked role (SLR) was not found.
///
///
/// The requested subnet group name does not refer to an existing subnet group.
///
///
/// The requested subnet is being used by another subnet group.
///
///
/// The request cannot be processed because it would exceed the allowed number of subnets
/// in a subnet group.
///
/// REST API Reference for UpdateSubnetGroup Operation
Task UpdateSubnetGroupAsync(UpdateSubnetGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}