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
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](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#create_keyspace(params = {}) ⇒ Types::CreateKeyspaceResponse
The ‘CreateKeyspace` operation adds a new keyspace to your account.
-
#create_table(params = {}) ⇒ Types::CreateTableResponse
The ‘CreateTable` operation adds a new table to the specified keyspace.
-
#create_type(params = {}) ⇒ Types::CreateTypeResponse
The ‘CreateType` operation creates a new user-defined type in the specified keyspace.
-
#delete_keyspace(params = {}) ⇒ Struct
The ‘DeleteKeyspace` operation deletes a keyspace and all of its tables.
-
#delete_table(params = {}) ⇒ Struct
The ‘DeleteTable` operation deletes a table and all of its data.
-
#delete_type(params = {}) ⇒ Types::DeleteTypeResponse
The ‘DeleteType` operation 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 ‘UpdateKeyspace` operation.
-
#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 ‘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.
-
#list_keyspaces(params = {}) ⇒ Types::ListKeyspacesResponse
The ‘ListKeyspaces` operation returns a list of keyspaces.
-
#list_tables(params = {}) ⇒ Types::ListTablesResponse
The ‘ListTables` operation 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 ‘ListTypes` operation 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_timestamp` and 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
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.
451 452 453 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 451 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.
2169 2170 2171 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2169 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.
2172 2173 2174 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2172 def errors_module Errors end |
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.
2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2142 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.33.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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.keyspaces.html
525 526 527 528 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 525 def create_keyspace(params = {}, = {}) req = build_request(:create_keyspace, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html
854 855 856 857 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 854 def create_table(params = {}, = {}) req = build_request(:create_table, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-create [2]: docs.aws.amazon.com/keyspaces/latest/devguide/udts.html
923 924 925 926 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 923 def create_type(params = {}, = {}) req = build_request(:create_type, params) req.send_request() end |
#delete_keyspace(params = {}) ⇒ Struct
The ‘DeleteKeyspace` operation deletes a keyspace and all of its tables.
946 947 948 949 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 946 def delete_keyspace(params = {}, = {}) req = build_request(:delete_keyspace, params) req.send_request() end |
#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.
979 980 981 982 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 979 def delete_table(params = {}, = {}) req = build_request(:delete_table, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-drop
1021 1022 1023 1024 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1021 def delete_type(params = {}, = {}) req = build_request(:delete_type, params) req.send_request() end |
#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.
1064 1065 1066 1067 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1064 def get_keyspace(params = {}, = {}) req = build_request(:get_keyspace, params) req.send_request() end |
#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.
1147 1148 1149 1150 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1147 def get_table(params = {}, = {}) req = build_request(:get_table, params) req.send_request() end |
#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`
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html
1239 1240 1241 1242 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1239 def get_table_auto_scaling_settings(params = {}, = {}) req = build_request(:get_table_auto_scaling_settings, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view
1306 1307 1308 1309 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1306 def get_type(params = {}, = {}) req = build_request(:get_type, params) req.send_request() end |
#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.
1351 1352 1353 1354 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1351 def list_keyspaces(params = {}, = {}) req = build_request(:list_keyspaces, params) req.send_request() end |
#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.
1402 1403 1404 1405 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1402 def list_tables(params = {}, = {}) req = build_request(:list_tables, params) req.send_request() end |
#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.
1453 1454 1455 1456 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1453 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1508 1509 1510 1511 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1508 def list_types(params = {}, = {}) req = build_request(:list_types, params) req.send_request() end |
#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
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_window [2]: docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_settings
1749 1750 1751 1752 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1749 def restore_table(params = {}, = {}) req = build_request(:restore_table, params) req.send_request() end |
#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*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html [2]: docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-tags
1794 1795 1796 1797 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1794 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Removes the association of tags from a Amazon Keyspaces resource.
1827 1828 1829 1830 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1827 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#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. The new replica Region is applied to all tables in the keyspace. For more information, see [Add an Amazon Web Services Region to a keyspace in Amazon Keyspaces] in the *Amazon Keyspaces Developer Guide*.
To change a single-Region to a multi-Region keyspace, you have to enable client-side timestamps for all tables in the keyspace. For more information, see [Client-side timestamps in Amazon Keyspaces] in the *Amazon Keyspaces Developer Guide*.
[1]: docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-multi-region-add-replica.html [2]: docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html
1896 1897 1898 1899 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 1896 def update_keyspace(params = {}, = {}) req = build_request(:update_keyspace, params) req.send_request() end |
#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.
2133 2134 2135 2136 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2133 def update_table(params = {}, = {}) req = build_request(:update_table, params) req.send_request() end |
#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.
2162 2163 2164 |
# File 'lib/aws-sdk-keyspaces/client.rb', line 2162 def waiter_names [] end |