/*
* 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 keyspaces-2022-02-10.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.Keyspaces.Model;
using Amazon.Keyspaces.Model.Internal.MarshallTransformations;
using Amazon.Keyspaces.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.Keyspaces
{
///
/// Implementation for accessing Keyspaces
///
/// Amazon Keyspaces (for Apache Cassandra) is a scalable, highly available, and managed
/// Apache Cassandra-compatible database service. Amazon Keyspaces makes it easy to migrate,
/// run, and scale Cassandra workloads in the Amazon Web Services Cloud. With just a few
/// clicks on the Amazon Web Services Management Console or a few lines of code, you can
/// create keyspaces and tables in Amazon Keyspaces, without deploying any infrastructure
/// or installing software.
///
///
///
/// In addition to supporting Cassandra Query Language (CQL) requests via open-source
/// Cassandra drivers, Amazon Keyspaces supports data definition language (DDL) operations
/// to manage keyspaces and tables using the Amazon Web Services SDK and CLI, as well
/// as infrastructure as code (IaC) services and tools such as CloudFormation and Terraform.
/// This API reference describes the supported DDL operations in detail.
///
///
///
/// For the list of all supported CQL APIs, see Supported
/// Cassandra APIs, operations, and data types in Amazon Keyspaces in the Amazon
/// Keyspaces Developer Guide.
///
///
///
/// To learn how Amazon Keyspaces API actions are recorded with CloudTrail, see Amazon
/// Keyspaces information in CloudTrail in the Amazon Keyspaces Developer Guide.
///
///
///
/// For more information about Amazon Web Services APIs, for example how to implement
/// retry logic or how to sign Amazon Web Services API requests, see Amazon
/// Web Services APIs in the General Reference.
///
///
public partial class AmazonKeyspacesClient : AmazonServiceClient, IAmazonKeyspaces
{
private static IServiceMetadata serviceMetadata = new AmazonKeyspacesMetadata();
#region Constructors
///
/// Constructs AmazonKeyspacesClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonKeyspacesClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonKeyspacesConfig()) { }
///
/// Constructs AmazonKeyspacesClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonKeyspacesClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonKeyspacesConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonKeyspacesClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonKeyspacesClient Configuration Object
public AmazonKeyspacesClient(AmazonKeyspacesConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonKeyspacesClient with AWS Credentials
///
/// AWS Credentials
public AmazonKeyspacesClient(AWSCredentials credentials)
: this(credentials, new AmazonKeyspacesConfig())
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonKeyspacesClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonKeyspacesConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Credentials and an
/// AmazonKeyspacesClient Configuration object.
///
/// AWS Credentials
/// The AmazonKeyspacesClient Configuration Object
public AmazonKeyspacesClient(AWSCredentials credentials, AmazonKeyspacesConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonKeyspacesConfig())
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonKeyspacesConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonKeyspacesClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonKeyspacesClient Configuration Object
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonKeyspacesConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonKeyspacesConfig())
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonKeyspacesConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonKeyspacesClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonKeyspacesClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonKeyspacesClient Configuration Object
public AmazonKeyspacesClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonKeyspacesConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#if AWS_ASYNC_ENUMERABLES_API
private IKeyspacesPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IKeyspacesPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new KeyspacesPaginatorFactory(this);
}
return this._paginators;
}
}
#endif
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customizes the runtime pipeline.
///
/// Runtime pipeline for the current client.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonKeyspacesEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region CreateKeyspace
internal virtual CreateKeyspaceResponse CreateKeyspace(CreateKeyspaceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateKeyspaceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// The CreateKeyspace
operation adds a new keyspace to your account. In
/// an Amazon Web Services account, keyspace names must be unique within each Region.
///
///
///
/// CreateKeyspace
is an asynchronous operation. You can monitor the creation
/// status of the new keyspace by using the GetKeyspace
operation.
///
///
///
/// For more information, see Creating
/// keyspaces in the Amazon Keyspaces Developer Guide.
///
///
/// Container for the necessary parameters to execute the CreateKeyspace service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateKeyspace service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for CreateKeyspace Operation
public virtual Task CreateKeyspaceAsync(CreateKeyspaceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateKeyspaceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateTable
internal virtual CreateTableResponse CreateTable(CreateTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// The CreateTable
operation adds a new table to the specified keyspace.
/// Within a keyspace, table names must be unique.
///
///
///
/// CreateTable
is an asynchronous operation. When the request is received,
/// the status of the table is set to CREATING
. You can monitor the creation
/// status of the new table by using the GetTable
operation, which returns
/// the current status
of the table. You can start using a table when the
/// status is ACTIVE
.
///
///
///
/// For more information, see Creating
/// tables in the Amazon Keyspaces Developer Guide.
///
///
/// Container for the necessary parameters to execute the CreateTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateTable service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for CreateTable Operation
public virtual Task CreateTableAsync(CreateTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteKeyspace
internal virtual DeleteKeyspaceResponse DeleteKeyspace(DeleteKeyspaceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteKeyspaceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// The DeleteKeyspace
operation deletes a keyspace and all of its tables.
///
/// Container for the necessary parameters to execute the DeleteKeyspace service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteKeyspace service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for DeleteKeyspace Operation
public virtual Task DeleteKeyspaceAsync(DeleteKeyspaceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteKeyspaceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteTable
internal virtual DeleteTableResponse DeleteTable(DeleteTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// The DeleteTable
operation deletes a table and all of its data. After
/// a DeleteTable
request is received, the specified table is in the DELETING
/// state until Amazon Keyspaces completes the deletion. If the table is in the ACTIVE
/// state, you can delete it. If a table is either in the CREATING
or UPDATING
/// states, then Amazon Keyspaces returns a ResourceInUseException
. If the
/// specified table does not exist, Amazon Keyspaces returns a ResourceNotFoundException
.
/// If the table is already in the DELETING
state, no error is returned.
///
/// Container for the necessary parameters to execute the DeleteTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteTable service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for DeleteTable Operation
public virtual Task DeleteTableAsync(DeleteTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetKeyspace
internal virtual GetKeyspaceResponse GetKeyspace(GetKeyspaceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetKeyspaceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the name and the Amazon Resource Name (ARN) of the specified table.
///
/// Container for the necessary parameters to execute the GetKeyspace service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetKeyspace service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for GetKeyspace Operation
public virtual Task GetKeyspaceAsync(GetKeyspaceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetKeyspaceRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetKeyspaceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetTable
internal virtual GetTableResponse GetTable(GetTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns information about the table, including the table's name and current status,
/// the keyspace name, configuration settings, and metadata.
///
///
///
/// To read table metadata using GetTable
, Select
action permissions
/// for the table and system tables are required to complete the operation.
///
///
/// Container for the necessary parameters to execute the GetTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetTable service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for GetTable Operation
public virtual Task GetTableAsync(GetTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListKeyspaces
internal virtual ListKeyspacesResponse ListKeyspaces(ListKeyspacesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListKeyspacesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListKeyspacesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of keyspaces.
///
/// Container for the necessary parameters to execute the ListKeyspaces service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListKeyspaces service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for ListKeyspaces Operation
public virtual Task ListKeyspacesAsync(ListKeyspacesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListKeyspacesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListKeyspacesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTables
internal virtual ListTablesResponse ListTables(ListTablesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTablesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of tables for a specified keyspace.
///
/// Container for the necessary parameters to execute the ListTables service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTables service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for ListTables Operation
public virtual Task ListTablesAsync(ListTablesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTablesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTagsForResource
internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of all tags associated with the specified Amazon Keyspaces 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 Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for ListTagsForResource Operation
public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RestoreTable
internal virtual RestoreTableResponse RestoreTable(RestoreTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RestoreTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = RestoreTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Restores the specified table to the specified point in time within the earliest_restorable_timestamp
/// and the current time. For more information about restore points, see
/// Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide.
///
///
///
/// Any number of users can execute up to 4 concurrent restores (any type of restore)
/// in a given account.
///
///
///
/// When you restore using point in time recovery, Amazon Keyspaces restores your source
/// table's schema and data to the state based on the selected timestamp (day:hour:minute:second)
/// to a new table. The Time to Live (TTL) settings are also restored to the state based
/// on the selected timestamp.
///
///
///
/// In addition to the table's schema, data, and TTL settings, RestoreTable
/// restores the capacity mode, encryption, and point-in-time recovery settings from the
/// source table. Unlike the table's schema data and TTL settings, which are restored
/// based on the selected timestamp, these settings are always restored based on the table's
/// settings as of the current time or when the table was deleted.
///
///
///
/// You can also overwrite these settings during restore:
///
/// -
///
/// Read/write capacity mode
///
///
-
///
/// Provisioned throughput capacity settings
///
///
-
///
/// Point-in-time (PITR) settings
///
///
-
///
/// Tags
///
///
///
/// For more information, see PITR
/// restore settings in the Amazon Keyspaces Developer Guide.
///
///
///
/// Note that the following settings are not restored, and you must configure them manually
/// for the new table:
///
/// -
///
/// Automatic scaling policies (for tables that use provisioned capacity mode)
///
///
-
///
/// Identity and Access Management (IAM) policies
///
///
-
///
/// Amazon CloudWatch metrics and alarms
///
///
///
/// Container for the necessary parameters to execute the RestoreTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RestoreTable service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for RestoreTable Operation
public virtual Task RestoreTableAsync(RestoreTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RestoreTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = RestoreTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TagResource
internal virtual TagResourceResponse TagResource(TagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Associates a set of tags with a Amazon Keyspaces resource. You can then activate these
/// user-defined tags so that they appear on the Cost Management Console for cost allocation
/// tracking. For more information, see Adding
/// tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer
/// Guide.
///
///
///
/// For IAM policy examples that show how to control access to Amazon Keyspaces resources
/// based on tags, see Amazon
/// Keyspaces resource access based on tags in the Amazon Keyspaces Developer Guide.
///
///
/// 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 Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for TagResource Operation
public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UntagResource
internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Removes the association of tags from a Amazon Keyspaces 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 Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for UntagResource Operation
public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateTable
internal virtual UpdateTableResponse UpdateTable(UpdateTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Adds new columns to the table or updates one of the table's settings, for example
/// capacity mode, encryption, point-in-time recovery, or ttl settings. Note that you
/// can only update one specific table setting per update operation.
///
/// Container for the necessary parameters to execute the UpdateTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateTable service method, as returned by Keyspaces.
///
/// You do not have sufficient access to perform this action.
///
///
/// Amazon Keyspaces could not complete the requested action. This error may occur if
/// you try to perform an action and the same or a different action is already in progress,
/// or if you try to create a resource that already exists.
///
///
/// Amazon Keyspaces was unable to fully process this request because of an internal server
/// error.
///
///
/// The operation tried to access a keyspace or table that doesn't exist. The resource
/// might not be specified correctly, or its status might not be ACTIVE
.
///
///
/// The operation exceeded the service quota for this resource. For more information on
/// service quotas, see Quotas
/// in the Amazon Keyspaces Developer Guide.
///
///
/// The operation failed due to an invalid or malformed request.
///
/// REST API Reference for UpdateTable Operation
public virtual Task UpdateTableAsync(UpdateTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}