/* * Copyright 2018-2023 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. */ package com.amazonaws.services.keyspaces; import javax.annotation.Generated; import com.amazonaws.services.keyspaces.model.*; /** * Interface for accessing Amazon Keyspaces asynchronously. Each asynchronous method will return a Java Future object * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.keyspaces.AbstractAmazonKeyspacesAsync} instead. *
**
* 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. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonKeyspacesAsync extends AmazonKeyspaces { /** *
* 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. *
* * @param createKeyspaceRequest * @return A Java Future containing the result of the CreateKeyspace operation returned by the service. * @sample AmazonKeyspacesAsync.CreateKeyspace * @see AWS API * Documentation */ java.util.concurrent.Future
* 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. *
* * @param createKeyspaceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateKeyspace operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.CreateKeyspace * @see AWS API * Documentation */ java.util.concurrent.Future
* 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. *
* * @param createTableRequest * @return A Java Future containing the result of the CreateTable operation returned by the service. * @sample AmazonKeyspacesAsync.CreateTable * @see AWS API * Documentation */ java.util.concurrent.Future
* 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. *
* * @param createTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateTable operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.CreateTable * @see AWS API * Documentation */ java.util.concurrent.Future
* The DeleteKeyspace
operation deletes a keyspace and all of its tables.
*
* The DeleteKeyspace
operation deletes a keyspace and all of its tables.
*
* 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.
*
* 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.
*
* Returns the name and the Amazon Resource Name (ARN) of the specified table. *
* * @param getKeyspaceRequest * @return A Java Future containing the result of the GetKeyspace operation returned by the service. * @sample AmazonKeyspacesAsync.GetKeyspace * @see AWS API * Documentation */ java.util.concurrent.Future* Returns the name and the Amazon Resource Name (ARN) of the specified table. *
* * @param getKeyspaceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetKeyspace operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.GetKeyspace * @see AWS API * Documentation */ java.util.concurrent.Future* 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.
*
* 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.
*
* Returns a list of keyspaces. *
* * @param listKeyspacesRequest * @return A Java Future containing the result of the ListKeyspaces operation returned by the service. * @sample AmazonKeyspacesAsync.ListKeyspaces * @see AWS API * Documentation */ java.util.concurrent.Future* Returns a list of keyspaces. *
* * @param listKeyspacesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListKeyspaces operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.ListKeyspaces * @see AWS API * Documentation */ java.util.concurrent.Future* Returns a list of tables for a specified keyspace. *
* * @param listTablesRequest * @return A Java Future containing the result of the ListTables operation returned by the service. * @sample AmazonKeyspacesAsync.ListTables * @see AWS API * Documentation */ java.util.concurrent.Future* Returns a list of tables for a specified keyspace. *
* * @param listTablesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTables operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.ListTables * @see AWS API * Documentation */ java.util.concurrent.Future* Returns a list of all tags associated with the specified Amazon Keyspaces resource. *
* * @param listTagsForResourceRequest * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonKeyspacesAsync.ListTagsForResource * @see AWS * API Documentation */ java.util.concurrent.Future* Returns a list of all tags associated with the specified Amazon Keyspaces resource. *
* * @param listTagsForResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.ListTagsForResource * @see AWS * API Documentation */ java.util.concurrent.Future
* 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 *
*
* 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 *
** 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. *
* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonKeyspacesAsync.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param tagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future* Removes the association of tags from a Amazon Keyspaces resource. *
* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonKeyspacesAsync.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future* Removes the association of tags from a Amazon Keyspaces resource. *
* * @param untagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param updateTableRequest * @return A Java Future containing the result of the UpdateTable operation returned by the service. * @sample AmazonKeyspacesAsync.UpdateTable * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param updateTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateTable operation returned by the service. * @sample AmazonKeyspacesAsyncHandler.UpdateTable * @see AWS API * Documentation */ java.util.concurrent.Future