%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE! %% See https://github.com/aws-beam/aws-codegen for more details. %% @doc 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. -module(aws_keyspaces). -export([create_keyspace/2, create_keyspace/3, create_table/2, create_table/3, delete_keyspace/2, delete_keyspace/3, delete_table/2, delete_table/3, get_keyspace/2, get_keyspace/3, get_table/2, get_table/3, list_keyspaces/2, list_keyspaces/3, list_tables/2, list_tables/3, list_tags_for_resource/2, list_tags_for_resource/3, restore_table/2, restore_table/3, tag_resource/2, tag_resource/3, untag_resource/2, untag_resource/3, update_table/2, update_table/3]). -include_lib("hackney/include/hackney_lib.hrl"). %%==================================================================== %% API %%==================================================================== %% @doc 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. create_keyspace(Client, Input) when is_map(Client), is_map(Input) -> create_keyspace(Client, Input, []). create_keyspace(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateKeyspace">>, Input, Options). %% @doc 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. create_table(Client, Input) when is_map(Client), is_map(Input) -> create_table(Client, Input, []). create_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTable">>, Input, Options). %% @doc The `DeleteKeyspace' operation deletes a keyspace and all of its %% tables. delete_keyspace(Client, Input) when is_map(Client), is_map(Input) -> delete_keyspace(Client, Input, []). delete_keyspace(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteKeyspace">>, Input, Options). %% @doc 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. delete_table(Client, Input) when is_map(Client), is_map(Input) -> delete_table(Client, Input, []). delete_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTable">>, Input, Options). %% @doc Returns the name and the Amazon Resource Name (ARN) of the specified %% table. get_keyspace(Client, Input) when is_map(Client), is_map(Input) -> get_keyspace(Client, Input, []). get_keyspace(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetKeyspace">>, Input, Options). %% @doc 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. get_table(Client, Input) when is_map(Client), is_map(Input) -> get_table(Client, Input, []). get_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTable">>, Input, Options). %% @doc Returns a list of keyspaces. list_keyspaces(Client, Input) when is_map(Client), is_map(Input) -> list_keyspaces(Client, Input, []). list_keyspaces(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListKeyspaces">>, Input, Options). %% @doc Returns a list of tables for a specified keyspace. list_tables(Client, Input) when is_map(Client), is_map(Input) -> list_tables(Client, Input, []). list_tables(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListTables">>, Input, Options). %% @doc Returns a list of all tags associated with the specified Amazon %% Keyspaces resource. list_tags_for_resource(Client, Input) when is_map(Client), is_map(Input) -> list_tags_for_resource(Client, Input, []). list_tags_for_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListTagsForResource">>, Input, Options). %% @doc 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: %% %%