Class: Aws::Keyspaces::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::Keyspaces::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-keyspaces/client.rb,
sig/client.rbs
Overview
An API client for Keyspaces. To construct a client, you need to configure a :region and :credentials.
client = Aws::Keyspaces::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Defined Under Namespace
Modules: _CreateKeyspaceResponseSuccess, _CreateTableResponseSuccess, _CreateTypeResponseSuccess, _DeleteKeyspaceResponseSuccess, _DeleteTableResponseSuccess, _DeleteTypeResponseSuccess, _GetKeyspaceResponseSuccess, _GetTableAutoScalingSettingsResponseSuccess, _GetTableResponseSuccess, _GetTypeResponseSuccess, _ListKeyspacesResponseSuccess, _ListTablesResponseSuccess, _ListTagsForResourceResponseSuccess, _ListTypesResponseSuccess, _RestoreTableResponseSuccess, _TagResourceResponseSuccess, _UntagResourceResponseSuccess, _UpdateKeyspaceResponseSuccess, _UpdateTableResponseSuccess
Constant Summary collapse
- Params =
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#create_keyspace(params = {}) ⇒ Types::CreateKeyspaceResponse
The
CreateKeyspaceoperation adds a new keyspace to your account. -
#create_table(params = {}) ⇒ Types::CreateTableResponse
The
CreateTableoperation adds a new table to the specified keyspace. -
#create_type(params = {}) ⇒ Types::CreateTypeResponse
The
CreateTypeoperation creates a new user-defined type in the specified keyspace. -
#delete_keyspace(params = {}) ⇒ Struct
The
DeleteKeyspaceoperation deletes a keyspace and all of its tables. -
#delete_table(params = {}) ⇒ Struct
The
DeleteTableoperation deletes a table and all of its data. -
#delete_type(params = {}) ⇒ Types::DeleteTypeResponse
The
DeleteTypeoperation deletes a user-defined type (UDT). -
#get_keyspace(params = {}) ⇒ Types::GetKeyspaceResponse
Returns the name of the specified keyspace, the Amazon Resource Name (ARN), the replication strategy, the Amazon Web Services Regions of a multi-Region keyspace, and the status of newly added Regions after an
UpdateKeyspaceoperation. -
#get_table(params = {}) ⇒ Types::GetTableResponse
Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.
-
#get_table_auto_scaling_settings(params = {}) ⇒ Types::GetTableAutoScalingSettingsResponse
Returns auto scaling related settings of the specified table in JSON format.
-
#get_type(params = {}) ⇒ Types::GetTypeResponse
The
GetTypeoperation returns information about the type, for example the field definitions, the timestamp when the type was last modified, the level of nesting, the status, and details about if the type is used in other types and tables. -
#list_keyspaces(params = {}) ⇒ Types::ListKeyspacesResponse
The
ListKeyspacesoperation returns a list of keyspaces. -
#list_tables(params = {}) ⇒ Types::ListTablesResponse
The
ListTablesoperation returns a list of tables for a specified keyspace. -
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Returns a list of all tags associated with the specified Amazon Keyspaces resource.
-
#list_types(params = {}) ⇒ Types::ListTypesResponse
The
ListTypesoperation returns a list of types for a specified keyspace. -
#restore_table(params = {}) ⇒ Types::RestoreTableResponse
Restores the table to the specified point in time within the
earliest_restorable_timestampand the current time. -
#tag_resource(params = {}) ⇒ Struct
Associates a set of tags with a Amazon Keyspaces resource.
-
#untag_resource(params = {}) ⇒ Struct
Removes the association of tags from a Amazon Keyspaces resource.
-
#update_keyspace(params = {}) ⇒ Types::UpdateKeyspaceResponse
Adds a new Amazon Web Services Region to the keyspace.
-
#update_table(params = {}) ⇒ Types::UpdateTableResponse
Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings.
Class Method Summary collapse
- .errors_module ⇒ Object private
- .new ⇒ Object
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
478 479 480 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 478 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2312 2313 2314 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2312 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2315 2316 2317 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2315 def errors_module Errors end |
.new ⇒ Object
14 |
# File 'sig/client.rbs', line 14
def self.new: (
|
Instance Method Details
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2285 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::Keyspaces') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-keyspaces' context[:gem_version] = '1.62.0' Seahorse::Client::Request.new(handlers, context) end |
#create_keyspace(params = {}) ⇒ Types::CreateKeyspaceResponse
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 Create a keyspace in the Amazon Keyspaces Developer Guide.
87 |
# File 'sig/client.rbs', line 87
def create_keyspace: (
|
#create_table(params = {}) ⇒ Types::CreateTableResponse
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 Create a table in the Amazon Keyspaces Developer Guide.
107 |
# File 'sig/client.rbs', line 107
def create_table: (
|
#create_type(params = {}) ⇒ Types::CreateTypeResponse
The CreateType operation creates a new user-defined type in the
specified keyspace.
To configure the required permissions, see Permissions to create a UDT in the Amazon Keyspaces Developer Guide.
For more information, see User-defined types (UDTs) in the Amazon Keyspaces Developer Guide.
180 |
# File 'sig/client.rbs', line 180
def create_type: (
|
#delete_keyspace(params = {}) ⇒ Struct
The DeleteKeyspace operation deletes a keyspace and all of its
tables.
196 |
# File 'sig/client.rbs', line 196
def delete_keyspace: (
|
#delete_table(params = {}) ⇒ Struct
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.
205 |
# File 'sig/client.rbs', line 205
def delete_table: (
|
#delete_type(params = {}) ⇒ Types::DeleteTypeResponse
The DeleteType operation deletes a user-defined type (UDT). You can
only delete a type that is not used in a table or another UDT.
To configure the required permissions, see Permissions to delete a UDT in the Amazon Keyspaces Developer Guide.
217 |
# File 'sig/client.rbs', line 217
def delete_type: (
|
#get_keyspace(params = {}) ⇒ Types::GetKeyspaceResponse
Returns the name of the specified keyspace, the Amazon Resource Name
(ARN), the replication strategy, the Amazon Web Services Regions of a
multi-Region keyspace, and the status of newly added Regions after an
UpdateKeyspace operation.
232 |
# File 'sig/client.rbs', line 232
def get_keyspace: (
|
#get_table(params = {}) ⇒ Types::GetTableResponse
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, the IAM principal needs
Select action permissions for the table and the system keyspace.
258 |
# File 'sig/client.rbs', line 258
def get_table: (
|
#get_table_auto_scaling_settings(params = {}) ⇒ Types::GetTableAutoScalingSettingsResponse
Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.
Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.
GetTableAutoScalingSettings can't be used as an action in an IAM
policy.
To define permissions for GetTableAutoScalingSettings, you must
allow the following two actions in the IAM policy statement's
Action element:
-
application-autoscaling:DescribeScalableTargets -
application-autoscaling:DescribeScalingPolicies
273 |
# File 'sig/client.rbs', line 273
def get_table_auto_scaling_settings: (
|
#get_type(params = {}) ⇒ Types::GetTypeResponse
The GetType operation returns information about the type, for
example the field definitions, the timestamp when the type was last
modified, the level of nesting, the status, and details about if the
type is used in other types and tables.
To read keyspace metadata using GetType, the IAM principal needs
Select action permissions for the system keyspace. To configure the
required permissions, see Permissions to view a UDT in the
Amazon Keyspaces Developer Guide.
292 |
# File 'sig/client.rbs', line 292
def get_type: (
|
#list_keyspaces(params = {}) ⇒ Types::ListKeyspacesResponse
The ListKeyspaces operation returns a list of keyspaces.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
304 |
# File 'sig/client.rbs', line 304
def list_keyspaces: (
|
#list_tables(params = {}) ⇒ Types::ListTablesResponse
The ListTables operation returns a list of tables for a specified
keyspace.
To read keyspace metadata using ListTables, the IAM principal needs
Select action permissions for the system keyspace.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
316 |
# File 'sig/client.rbs', line 316
def list_tables: (
|
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Returns a list of all tags associated with the specified Amazon Keyspaces resource.
To read keyspace metadata using ListTagsForResource, the IAM
principal needs Select action permissions for the specified resource
and the system keyspace.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
329 |
# File 'sig/client.rbs', line 329
def list_tags_for_resource: (
|
#list_types(params = {}) ⇒ Types::ListTypesResponse
The ListTypes operation returns a list of types for a specified
keyspace.
To read keyspace metadata using ListTypes, the IAM principal needs
Select action permissions for the system keyspace. To configure the
required permissions, see Permissions to view a UDT in the
Amazon Keyspaces Developer Guide.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
342 |
# File 'sig/client.rbs', line 342
def list_types: (
|
#restore_table(params = {}) ⇒ Types::RestoreTableResponse
Restores the 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, auto scaling settings,
encryption settings, 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 units
-
Auto scaling 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:
-
Identity and Access Management (IAM) policies
-
Amazon CloudWatch metrics and alarms
354 |
# File 'sig/client.rbs', line 354
def restore_table: (
|
#tag_resource(params = {}) ⇒ Struct
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.
389 |
# File 'sig/client.rbs', line 389
def tag_resource: (
|
#untag_resource(params = {}) ⇒ Struct
Removes the association of tags from a Amazon Keyspaces resource.
404 |
# File 'sig/client.rbs', line 404
def untag_resource: (
|
#update_keyspace(params = {}) ⇒ Types::UpdateKeyspaceResponse
Adds a new Amazon Web Services Region to the keyspace. You can add a
new Region to a keyspace that is either a single or a multi-Region
keyspace. Amazon Keyspaces is going to replicate all tables in the
keyspace to the new Region. To successfully replicate all tables to
the new Region, they must use client-side timestamps for conflict
resolution. To enable client-side timestamps, specify
clientSideTimestamps.status = enabled when invoking the API. For
more information about client-side timestamps, see Client-side
timestamps in Amazon Keyspaces in the Amazon Keyspaces Developer
Guide.
To add a Region to a keyspace using the UpdateKeyspace API, the IAM
principal needs permissions for the following IAM actions:
-
cassandra:Alter -
cassandra:AlterMultiRegionResource -
cassandra:Create -
cassandra:CreateMultiRegionResource -
cassandra:Select -
cassandra:SelectMultiRegionResource -
cassandra:Modify -
cassandra:ModifyMultiRegionResource
If the keyspace contains a table that is configured in provisioned mode with auto scaling enabled, the following additional IAM actions need to be allowed.
-
application-autoscaling:RegisterScalableTarget -
application-autoscaling:DeregisterScalableTarget -
application-autoscaling:DescribeScalableTargets -
application-autoscaling:PutScalingPolicy -
application-autoscaling:DescribeScalingPolicies
To use the UpdateKeyspace API, the IAM principal also needs
permissions to create a service-linked role with the following
elements:
-
iam:CreateServiceLinkedRole- The action the principal can perform. -
arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication- The resource that the action can be performed on.
-
iam:AWSServiceName: replication.cassandra.amazonaws.com- The only Amazon Web Services service that this role can be attached to is Amazon Keyspaces.
For more information, see Configure the IAM permissions required to add an Amazon Web Services Region to a keyspace in the Amazon Keyspaces Developer Guide.
420 |
# File 'sig/client.rbs', line 420
def update_keyspace: (
|
#update_table(params = {}) ⇒ Types::UpdateTableResponse
Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.
437 |
# File 'sig/client.rbs', line 437
def update_table: (
|
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2305 2306 2307 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2305 def waiter_names [] end |