/*
* 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 docdb-elastic-2022-11-28.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.DocDBElastic.Model;
namespace Amazon.DocDBElastic
{
///
/// Interface for accessing DocDBElastic
///
/// The new Amazon Elastic DocumentDB service endpoint.
///
public partial interface IAmazonDocDBElastic : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IDocDBElasticPaginatorFactory Paginators { get; }
#region CreateCluster
///
/// Creates a new Elastic DocumentDB cluster and returns its Cluster structure.
///
/// Container for the necessary parameters to execute the CreateCluster service method.
///
/// The response from the CreateCluster service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for CreateCluster Operation
CreateClusterResponse CreateCluster(CreateClusterRequest request);
///
/// Creates a new Elastic DocumentDB cluster and returns its Cluster structure.
///
/// 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 DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for CreateCluster Operation
Task CreateClusterAsync(CreateClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateClusterSnapshot
///
/// Creates a snapshot of a cluster.
///
/// Container for the necessary parameters to execute the CreateClusterSnapshot service method.
///
/// The response from the CreateClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for CreateClusterSnapshot Operation
CreateClusterSnapshotResponse CreateClusterSnapshot(CreateClusterSnapshotRequest request);
///
/// Creates a snapshot of a cluster.
///
/// Container for the necessary parameters to execute the CreateClusterSnapshot service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for CreateClusterSnapshot Operation
Task CreateClusterSnapshotAsync(CreateClusterSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteCluster
///
/// Delete a Elastic DocumentDB cluster.
///
/// Container for the necessary parameters to execute the DeleteCluster service method.
///
/// The response from the DeleteCluster service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for DeleteCluster Operation
DeleteClusterResponse DeleteCluster(DeleteClusterRequest request);
///
/// Delete a Elastic DocumentDB cluster.
///
/// 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 DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for DeleteCluster Operation
Task DeleteClusterAsync(DeleteClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteClusterSnapshot
///
/// Delete a Elastic DocumentDB snapshot.
///
/// Container for the necessary parameters to execute the DeleteClusterSnapshot service method.
///
/// The response from the DeleteClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for DeleteClusterSnapshot Operation
DeleteClusterSnapshotResponse DeleteClusterSnapshot(DeleteClusterSnapshotRequest request);
///
/// Delete a Elastic DocumentDB snapshot.
///
/// Container for the necessary parameters to execute the DeleteClusterSnapshot service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for DeleteClusterSnapshot Operation
Task DeleteClusterSnapshotAsync(DeleteClusterSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetCluster
///
/// Returns information about a specific Elastic DocumentDB cluster.
///
/// Container for the necessary parameters to execute the GetCluster service method.
///
/// The response from the GetCluster service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for GetCluster Operation
GetClusterResponse GetCluster(GetClusterRequest request);
///
/// Returns information about a specific Elastic DocumentDB cluster.
///
/// Container for the necessary parameters to execute the GetCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCluster service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for GetCluster Operation
Task GetClusterAsync(GetClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetClusterSnapshot
///
/// Returns information about a specific Elastic DocumentDB snapshot
///
/// Container for the necessary parameters to execute the GetClusterSnapshot service method.
///
/// The response from the GetClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for GetClusterSnapshot Operation
GetClusterSnapshotResponse GetClusterSnapshot(GetClusterSnapshotRequest request);
///
/// Returns information about a specific Elastic DocumentDB snapshot
///
/// Container for the necessary parameters to execute the GetClusterSnapshot service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetClusterSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for GetClusterSnapshot Operation
Task GetClusterSnapshotAsync(GetClusterSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListClusters
///
/// Returns information about provisioned Elastic DocumentDB clusters.
///
/// Container for the necessary parameters to execute the ListClusters service method.
///
/// The response from the ListClusters service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListClusters Operation
ListClustersResponse ListClusters(ListClustersRequest request);
///
/// Returns information about provisioned Elastic DocumentDB clusters.
///
/// Container for the necessary parameters to execute the ListClusters service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListClusters service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListClusters Operation
Task ListClustersAsync(ListClustersRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListClusterSnapshots
///
/// Returns information about Elastic DocumentDB snapshots for a specified cluster.
///
/// Container for the necessary parameters to execute the ListClusterSnapshots service method.
///
/// The response from the ListClusterSnapshots service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListClusterSnapshots Operation
ListClusterSnapshotsResponse ListClusterSnapshots(ListClusterSnapshotsRequest request);
///
/// Returns information about Elastic DocumentDB snapshots for a specified cluster.
///
/// Container for the necessary parameters to execute the ListClusterSnapshots service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListClusterSnapshots service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an internal server error.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListClusterSnapshots Operation
Task ListClusterSnapshotsAsync(ListClusterSnapshotsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists all tags on a Elastic DocumentDB resource
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Lists all tags on a Elastic DocumentDB resource
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region RestoreClusterFromSnapshot
///
/// Restores a Elastic DocumentDB cluster from a snapshot.
///
/// Container for the necessary parameters to execute the RestoreClusterFromSnapshot service method.
///
/// The response from the RestoreClusterFromSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for RestoreClusterFromSnapshot Operation
RestoreClusterFromSnapshotResponse RestoreClusterFromSnapshot(RestoreClusterFromSnapshotRequest request);
///
/// Restores a Elastic DocumentDB cluster from a snapshot.
///
/// Container for the necessary parameters to execute the RestoreClusterFromSnapshot service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RestoreClusterFromSnapshot service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// The service quota for the action was exceeded.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for RestoreClusterFromSnapshot Operation
Task RestoreClusterFromSnapshotAsync(RestoreClusterFromSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds metadata tags to a Elastic DocumentDB resource
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Adds metadata tags to a Elastic DocumentDB resource
///
/// 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 DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes metadata tags to a Elastic DocumentDB resource
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Removes metadata tags to a Elastic DocumentDB resource
///
/// 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 DocDBElastic.
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateCluster
///
/// Modifies a Elastic DocumentDB cluster. This includes updating admin-username/password,
/// upgrading API version setting up a backup window and maintenance window
///
/// Container for the necessary parameters to execute the UpdateCluster service method.
///
/// The response from the UpdateCluster service method, as returned by DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for UpdateCluster Operation
UpdateClusterResponse UpdateCluster(UpdateClusterRequest request);
///
/// Modifies a Elastic DocumentDB cluster. This includes updating admin-username/password,
/// upgrading API version setting up a backup window and maintenance window
///
/// 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 DocDBElastic.
///
/// An exception that occurs when there are not sufficient permissions to perform an action.
///
///
/// There was an access conflict.
///
///
/// There was an internal server error.
///
///
/// The specified resource could not be located.
///
///
/// ThrottlingException will be thrown when request was denied due to request throttling.
///
///
/// A structure defining a validation exception.
///
/// REST API Reference for UpdateCluster Operation
Task UpdateClusterAsync(UpdateClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}