From 1efdc0bf5f31e6aa2dae59ed497ceaa20741b77f Mon Sep 17 00:00:00 2001 From: AWS SDK for Ruby Date: Wed, 2 Mar 2022 19:18:25 +0000 Subject: [PATCH] Updated API models and rebuilt service gems. --- README.md | 1 + apis/athena/2017-05-18/api-2.json | 18 +- apis/athena/2017-05-18/docs-2.json | 14 + apis/cloudtrail/2013-11-01/api-2.json | 7 +- apis/cloudtrail/2013-11-01/docs-2.json | 18 +- apis/ecr/2015-09-21/api-2.json | 4 +- apis/ecr/2015-09-21/docs-2.json | 16 +- apis/gamelift/2015-10-01/docs-2.json | 4 +- apis/keyspaces/2022-02-10/api-2.json | 802 +++++++++ apis/keyspaces/2022-02-10/docs-2.json | 502 ++++++ apis/keyspaces/2022-02-10/examples-1.json | 5 + apis/keyspaces/2022-02-10/paginators-1.json | 22 + apis/keyspaces/2022-02-10/smoke.json | 6 + apis/keyspaces/2022-02-10/waiters-2.json | 5 + gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/lib/aws-partitions.rb | 1 + gems/aws-sdk-athena/CHANGELOG.md | 5 + gems/aws-sdk-athena/VERSION | 2 +- gems/aws-sdk-athena/lib/aws-sdk-athena.rb | 2 +- .../lib/aws-sdk-athena/client.rb | 15 +- .../lib/aws-sdk-athena/client_api.rb | 8 + .../lib/aws-sdk-athena/types.rb | 104 +- gems/aws-sdk-cloudtrail/CHANGELOG.md | 5 + gems/aws-sdk-cloudtrail/VERSION | 2 +- .../lib/aws-sdk-cloudtrail.rb | 2 +- .../lib/aws-sdk-cloudtrail/client.rb | 26 +- .../lib/aws-sdk-cloudtrail/client_api.rb | 2 + .../lib/aws-sdk-cloudtrail/types.rb | 28 +- gems/aws-sdk-ecr/CHANGELOG.md | 5 + gems/aws-sdk-ecr/VERSION | 2 +- gems/aws-sdk-ecr/lib/aws-sdk-ecr.rb | 2 +- gems/aws-sdk-ecr/lib/aws-sdk-ecr/client.rb | 21 +- .../aws-sdk-ecr/lib/aws-sdk-ecr/client_api.rb | 2 + gems/aws-sdk-ecr/lib/aws-sdk-ecr/types.rb | 48 +- gems/aws-sdk-gamelift/CHANGELOG.md | 5 + gems/aws-sdk-gamelift/VERSION | 2 +- gems/aws-sdk-gamelift/lib/aws-sdk-gamelift.rb | 2 +- .../lib/aws-sdk-gamelift/client.rb | 8 +- gems/aws-sdk-keyspaces/CHANGELOG.md | 8 + gems/aws-sdk-keyspaces/LICENSE.txt | 202 +++ gems/aws-sdk-keyspaces/VERSION | 1 + .../aws-sdk-keyspaces.gemspec | 32 + gems/aws-sdk-keyspaces/features/env.rb | 18 + gems/aws-sdk-keyspaces/features/smoke.feature | 11 + .../features/smoke_step_definitions.rb | 35 + .../features/step_definitions.rb | 8 + .../lib/aws-sdk-keyspaces.rb | 54 + .../lib/aws-sdk-keyspaces/client.rb | 1314 ++++++++++++++ .../lib/aws-sdk-keyspaces/client_api.rb | 521 ++++++ .../lib/aws-sdk-keyspaces/customizations.rb | 0 .../lib/aws-sdk-keyspaces/errors.rb | 139 ++ .../lib/aws-sdk-keyspaces/resource.rb | 26 + .../lib/aws-sdk-keyspaces/types.rb | 1597 +++++++++++++++++ .../lib/aws-sdk-keyspaces/waiters.rb | 15 + gems/aws-sdk-keyspaces/spec/spec_helper.rb | 18 + gems/aws-sdk-resources/CHANGELOG.md | 5 + gems/aws-sdk-resources/VERSION | 2 +- .../aws-sdk-resources.gemspec | 1 + .../lib/aws-sdk-resources.rb | 1 + services.json | 3 + 61 files changed, 5666 insertions(+), 75 deletions(-) create mode 100644 apis/keyspaces/2022-02-10/api-2.json create mode 100644 apis/keyspaces/2022-02-10/docs-2.json create mode 100644 apis/keyspaces/2022-02-10/examples-1.json create mode 100644 apis/keyspaces/2022-02-10/paginators-1.json create mode 100644 apis/keyspaces/2022-02-10/smoke.json create mode 100644 apis/keyspaces/2022-02-10/waiters-2.json create mode 100644 gems/aws-sdk-keyspaces/CHANGELOG.md create mode 100644 gems/aws-sdk-keyspaces/LICENSE.txt create mode 100644 gems/aws-sdk-keyspaces/VERSION create mode 100644 gems/aws-sdk-keyspaces/aws-sdk-keyspaces.gemspec create mode 100644 gems/aws-sdk-keyspaces/features/env.rb create mode 100644 gems/aws-sdk-keyspaces/features/smoke.feature create mode 100644 gems/aws-sdk-keyspaces/features/smoke_step_definitions.rb create mode 100644 gems/aws-sdk-keyspaces/features/step_definitions.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client_api.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/customizations.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/errors.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/resource.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/types.rb create mode 100644 gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/waiters.rb create mode 100644 gems/aws-sdk-keyspaces/spec/spec_helper.rb diff --git a/README.md b/README.md index 6f55fefb722..64771b184a9 100644 --- a/README.md +++ b/README.md @@ -495,6 +495,7 @@ RubyGems.org page under "LINKS" section. | Amazon Import/Export Snowball | Aws::Snowball | aws-sdk-snowball | 2016-06-30 | | Amazon Inspector | Aws::Inspector | aws-sdk-inspector | 2016-02-16 | | Amazon Interactive Video Service | Aws::IVS | aws-sdk-ivs | 2020-07-14 | +| Amazon Keyspaces | Aws::Keyspaces | aws-sdk-keyspaces | 2022-02-10 | | Amazon Kinesis | Aws::Kinesis | aws-sdk-kinesis | 2013-12-02 | | Amazon Kinesis Analytics | Aws::KinesisAnalytics | aws-sdk-kinesisanalytics | 2015-08-14 | | Amazon Kinesis Analytics | Aws::KinesisAnalyticsV2 | aws-sdk-kinesisanalyticsv2 | 2018-05-23 | diff --git a/apis/athena/2017-05-18/api-2.json b/apis/athena/2017-05-18/api-2.json index c3c27d4601f..3cd50734060 100644 --- a/apis/athena/2017-05-18/api-2.json +++ b/apis/athena/2017-05-18/api-2.json @@ -486,6 +486,13 @@ } }, "shapes":{ + "AclConfiguration":{ + "type":"structure", + "required":["S3AclOption"], + "members":{ + "S3AclOption":{"shape":"S3AclOption"} + } + }, "AmazonResourceName":{ "type":"string", "max":1011, @@ -1345,7 +1352,8 @@ "members":{ "OutputLocation":{"shape":"String"}, "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}, - "ExpectedBucketOwner":{"shape":"String"} + "ExpectedBucketOwner":{"shape":"String"}, + "AclConfiguration":{"shape":"AclConfiguration"} } }, "ResultConfigurationUpdates":{ @@ -1356,7 +1364,9 @@ "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}, "RemoveEncryptionConfiguration":{"shape":"BoxedBoolean"}, "ExpectedBucketOwner":{"shape":"String"}, - "RemoveExpectedBucketOwner":{"shape":"BoxedBoolean"} + "RemoveExpectedBucketOwner":{"shape":"BoxedBoolean"}, + "AclConfiguration":{"shape":"AclConfiguration"}, + "RemoveAclConfiguration":{"shape":"BoxedBoolean"} } }, "ResultSet":{ @@ -1382,6 +1392,10 @@ "type":"list", "member":{"shape":"Row"} }, + "S3AclOption":{ + "type":"string", + "enum":["BUCKET_OWNER_FULL_CONTROL"] + }, "StartQueryExecutionInput":{ "type":"structure", "required":["QueryString"], diff --git a/apis/athena/2017-05-18/docs-2.json b/apis/athena/2017-05-18/docs-2.json index c3ee8057092..40a85e83b1c 100644 --- a/apis/athena/2017-05-18/docs-2.json +++ b/apis/athena/2017-05-18/docs-2.json @@ -39,6 +39,13 @@ "UpdateWorkGroup": "

Updates the workgroup with the specified name. The workgroup's name cannot be changed.

" }, "shapes": { + "AclConfiguration": { + "base": "

Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results. When Athena stores query results in Amazon S3, the canned ACL is set with the x-amz-acl request header. For more information about S3 Object Ownership, see Object Ownership settings in the Amazon S3 User Guide.

", + "refs": { + "ResultConfiguration$AclConfiguration": "

Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results. Currently the only supported canned ACL is BUCKET_OWNER_FULL_CONTROL. This is a client-side setting. If workgroup settings override client-side settings, then the query uses the ACL configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. For more information, see WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

", + "ResultConfigurationUpdates$AclConfiguration": "

The ACL configuration for the query results.

" + } + }, "AmazonResourceName": { "base": null, "refs": { @@ -87,6 +94,7 @@ "ResultConfigurationUpdates$RemoveOutputLocation": "

If set to \"true\", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null. If set to \"false\" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

", "ResultConfigurationUpdates$RemoveEncryptionConfiguration": "

If set to \"true\", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null. If set to \"false\" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

", "ResultConfigurationUpdates$RemoveExpectedBucketOwner": "

If set to \"true\", removes the Amazon Web Services account ID previously specified for ResultConfiguration$ExpectedBucketOwner. If set to \"false\" or not set, and a value is present in the ExpectedBucketOwner in ResultConfigurationUpdates (the client-side setting), the ExpectedBucketOwner in the workgroup's ResultConfiguration is updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

", + "ResultConfigurationUpdates$RemoveAclConfiguration": "

If set to true, indicates that the previously-specified ACL configuration for queries in this workgroup should be ignored and set to null. If set to false or not set, and a value is present in the AclConfiguration of ResultConfigurationUpdates, the AclConfiguration in the workgroup's ResultConfiguration is updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

", "WorkGroupConfiguration$EnforceWorkGroupConfiguration": "

If set to \"true\", the settings for the workgroup override client-side settings. If set to \"false\", client-side settings are used. For more information, see Workgroup Settings Override Client-Side Settings.

", "WorkGroupConfiguration$PublishCloudWatchMetricsEnabled": "

Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.

", "WorkGroupConfiguration$RequesterPaysEnabled": "

If set to true, allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to false, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is false. For more information about Requester Pays buckets, see Requester Pays Buckets in the Amazon Simple Storage Service Developer Guide.

", @@ -861,6 +869,12 @@ "ResultSet$Rows": "

The rows in the table.

" } }, + "S3AclOption": { + "base": null, + "refs": { + "AclConfiguration$S3AclOption": "

The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see Canned ACL in the Amazon S3 User Guide.

" + } + }, "StartQueryExecutionInput": { "base": null, "refs": { diff --git a/apis/cloudtrail/2013-11-01/api-2.json b/apis/cloudtrail/2013-11-01/api-2.json index 7d8e3002c34..2e15a145a20 100644 --- a/apis/cloudtrail/2013-11-01/api-2.json +++ b/apis/cloudtrail/2013-11-01/api-2.json @@ -1596,7 +1596,8 @@ "type":"structure", "members":{ "ResultsCount":{"shape":"Integer"}, - "TotalResultsCount":{"shape":"Integer"} + "TotalResultsCount":{"shape":"Integer"}, + "BytesScanned":{"shape":"Long"} } }, "QueryStatisticsForDescribeQuery":{ @@ -1604,6 +1605,7 @@ "members":{ "EventsMatched":{"shape":"Long"}, "EventsScanned":{"shape":"Long"}, + "BytesScanned":{"shape":"Long"}, "ExecutionTimeInMillis":{"shape":"Integer"}, "CreationTime":{"shape":"Date"} } @@ -1615,7 +1617,8 @@ "RUNNING", "FINISHED", "FAILED", - "CANCELLED" + "CANCELLED", + "TIMED_OUT" ] }, "ReadWriteType":{ diff --git a/apis/cloudtrail/2013-11-01/docs-2.json b/apis/cloudtrail/2013-11-01/docs-2.json index ba615d851de..6d232a3b0a0 100644 --- a/apis/cloudtrail/2013-11-01/docs-2.json +++ b/apis/cloudtrail/2013-11-01/docs-2.json @@ -3,7 +3,7 @@ "service": "CloudTrail

This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

CloudTrail is a web service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the Amazon Web Services API call, the source IP address, the request parameters, and the response elements returned by the service.

As an alternative to the API, you can use one of the Amazon Web Services SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide programmatic access to CloudTrail. For example, the SDKs handle cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to download and install them, see Tools to Build on Amazon Web Services.

See the CloudTrail User Guide for information about the data that is included with each Amazon Web Services API call listed in the log files.

", "operations": { "AddTags": "

Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing tag's value when a new value is specified for an existing tag key. Tag key names must be unique for a trail; you cannot have two keys with the same name but different values. If you specify a key without a value, the tag will be created with the specified key and a value of null. You can tag a trail that applies to all Amazon Web Services Regions only from the Region in which the trail was created (also known as its home region).

", - "CancelQuery": "

Cancels a query if the query is not in a terminated state, such as CANCELLED, FAILED or FINISHED. You must specify an ARN value for EventDataStore. The ID of the query that you want to cancel is also required. When you run CancelQuery, the query status might show as CANCELLED even if the operation is not yet finished.

", + "CancelQuery": "

Cancels a query if the query is not in a terminated state, such as CANCELLED, FAILED, TIMED_OUT, or FINISHED. You must specify an ARN value for EventDataStore. The ID of the query that you want to cancel is also required. When you run CancelQuery, the query status might show as CANCELLED even if the operation is not yet finished.

", "CreateEventDataStore": "

Creates a new event data store.

", "CreateTrail": "

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.

", "DeleteEventDataStore": "

Disables the event data store specified by EventDataStore, which accepts an event data store ARN. After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled must be set to False on the event data store; this operation cannot work if TerminationProtectionEnabled is True.

After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, DescribeQuery, or GetQueryResults on queries that are using an event data store in a PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

", @@ -18,7 +18,7 @@ "GetTrailStatus": "

Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns trail status from a single region. To return trail status from all regions, you must call the operation on each region.

", "ListEventDataStores": "

Returns information about all event data stores in the account, in the current region.

", "ListPublicKeys": "

Returns all public keys whose private keys were used to sign the digest files within the specified time range. The public key is needed to validate digest files that were signed with its corresponding private key.

CloudTrail uses different private and public key pairs per region. Each digest file is signed with a private key unique to its region. When you validate a digest file from a specific region, you must look in the same region for its corresponding public key.

", - "ListQueries": "

Returns a list of queries and query statuses for the past seven days. You must specify an ARN value for EventDataStore. Optionally, to shorten the list of results, you can specify a time range, formatted as timestamps, by adding StartTime and EndTime parameters, and a QueryStatus value. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED.

", + "ListQueries": "

Returns a list of queries and query statuses for the past seven days. You must specify an ARN value for EventDataStore. Optionally, to shorten the list of results, you can specify a time range, formatted as timestamps, by adding StartTime and EndTime parameters, and a QueryStatus value. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED.

", "ListTags": "

Lists the tags for the trail in the current region.

", "ListTrails": "

Lists trails that are in the current account.

", "LookupEvents": "

Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

Lookup supports the following attributes for Insights events:

All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to two per second, per account, per region. If this limit is exceeded, a throttling error occurs.

", @@ -459,7 +459,7 @@ } }, "InactiveQueryException": { - "base": "

The specified query cannot be canceled because it is in the FINISHED, FAILED, or CANCELLED state.

", + "base": "

The specified query cannot be canceled because it is in the FINISHED, FAILED, TIMED_OUT, or CANCELLED state.

", "refs": { } }, @@ -711,8 +711,10 @@ "Long": { "base": null, "refs": { + "QueryStatistics$BytesScanned": "

The total bytes that the query scanned in the event data store. This value matches the number of bytes for which your account is billed for the query, unless the query is still running.

", "QueryStatisticsForDescribeQuery$EventsMatched": "

The number of events that matched a query.

", - "QueryStatisticsForDescribeQuery$EventsScanned": "

The number of events that the query scanned in the event data store.

" + "QueryStatisticsForDescribeQuery$EventsScanned": "

The number of events that the query scanned in the event data store.

", + "QueryStatisticsForDescribeQuery$BytesScanned": "

The total bytes that the query scanned in the event data store. This value matches the number of bytes for which your account is billed for the query, unless the query is still running.

" } }, "LookupAttribute": { @@ -922,10 +924,10 @@ "base": null, "refs": { "CancelQueryResponse$QueryStatus": "

Shows the status of a query after a CancelQuery request. Typically, the values shown are either RUNNING or CANCELLED.

", - "DescribeQueryResponse$QueryStatus": "

The status of a query. Values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED

", - "GetQueryResultsResponse$QueryStatus": "

The status of the query. Values include QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED.

", - "ListQueriesRequest$QueryStatus": "

The status of queries that you want to return in results. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED.

", - "Query$QueryStatus": "

The status of the query. This can be QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED.

" + "DescribeQueryResponse$QueryStatus": "

The status of a query. Values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED

", + "GetQueryResultsResponse$QueryStatus": "

The status of the query. Values include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED.

", + "ListQueriesRequest$QueryStatus": "

The status of queries that you want to return in results. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED.

", + "Query$QueryStatus": "

The status of the query. This can be QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED.

" } }, "ReadWriteType": { diff --git a/apis/ecr/2015-09-21/api-2.json b/apis/ecr/2015-09-21/api-2.json index 8c60f210ce0..d38e9abd177 100644 --- a/apis/ecr/2015-09-21/api-2.json +++ b/apis/ecr/2015-09-21/api-2.json @@ -1304,7 +1304,8 @@ "imageScanStatus":{"shape":"ImageScanStatus"}, "imageScanFindingsSummary":{"shape":"ImageScanFindingsSummary"}, "imageManifestMediaType":{"shape":"MediaType"}, - "artifactMediaType":{"shape":"MediaType"} + "artifactMediaType":{"shape":"MediaType"}, + "lastRecordedPullTime":{"shape":"RecordedPullTimestamp"} } }, "ImageDetailList":{ @@ -1930,6 +1931,7 @@ } }, "RecommendationText":{"type":"string"}, + "RecordedPullTimestamp":{"type":"timestamp"}, "ReferenceUrlsList":{ "type":"list", "member":{"shape":"Url"} diff --git a/apis/ecr/2015-09-21/docs-2.json b/apis/ecr/2015-09-21/docs-2.json index 8be1eb72c24..a3159cb8ba8 100644 --- a/apis/ecr/2015-09-21/docs-2.json +++ b/apis/ecr/2015-09-21/docs-2.json @@ -31,7 +31,7 @@ "ListImages": "

Lists all the image IDs for the specified repository.

You can filter images based on whether or not they are tagged by using the tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

", "ListTagsForResource": "

List the tags for an Amazon ECR resource.

", "PutImage": "

Creates or updates the image manifest and tags associated with an image.

When an image is pushed and all new image layers have been uploaded, the PutImage API is called once to create or update the image manifest and the tags associated with the image.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

", - "PutImageScanningConfiguration": "

Updates the image scanning configuration for the specified repository.

", + "PutImageScanningConfiguration": "

The PutImageScanningConfiguration API is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see PutRegistryScanningConfiguration.

Updates the image scanning configuration for the specified repository.

", "PutImageTagMutability": "

Updates the image tag mutability settings for the specified repository. For more information, see Image tag mutability in the Amazon Elastic Container Registry User Guide.

", "PutLifecyclePolicy": "

Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle policy template.

", "PutRegistryPolicy": "

Creates or updates the permissions policy for your registry.

A registry policy is used to specify permissions for another Amazon Web Services account and is used when configuring cross-account replication. For more information, see Registry permissions in the Amazon Elastic Container Registry User Guide.

", @@ -1256,6 +1256,12 @@ "Recommendation$text": "

The recommended course of action to remediate the finding.

" } }, + "RecordedPullTimestamp": { + "base": null, + "refs": { + "ImageDetail$lastRecordedPullTime": "

The date and time, expressed in standard JavaScript date format, when Amazon ECR recorded the last image pull.

Amazon ECR refreshes the last image pull timestamp at least once every 24 hours. For example, if you pull an image once a day then the lastRecordedPullTime timestamp will indicate the exact time that the image was last pulled. However, if you pull an image once an hour, because Amazon ECR refreshes the lastRecordedPullTime timestamp at least once every 24 hours, the result may not be the exact time that the image was last pulled.

" + } + }, "ReferenceUrlsList": { "base": null, "refs": { @@ -1619,7 +1625,7 @@ "ScanFrequency": { "base": null, "refs": { - "RegistryScanningRule$scanFrequency": "

The frequency that scans are performed at for a private registry.

", + "RegistryScanningRule$scanFrequency": "

The frequency that scans are performed at for a private registry. When the ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH and MANUAL scan frequencies are supported.

", "RepositoryScanningConfiguration$scanFrequency": "

The scan frequency for the repository.

" } }, @@ -1657,7 +1663,7 @@ "ScanType": { "base": null, "refs": { - "PutRegistryScanningConfigurationRequest$scanType": "

The scanning type to set for the registry.

By default, the BASIC scan type is used. When basic scanning is set, you may specify filters to determine which individual repositories, or all repositories, are scanned when new images are pushed. Alternatively, you can do manual scans of images with basic scanning.

When the ENHANCED scan type is set, Amazon Inspector provides automated, continuous scanning of all repositories in your registry.

", + "PutRegistryScanningConfigurationRequest$scanType": "

The scanning type to set for the registry.

When a registry scanning configuration is not defined, by default the BASIC scan type is used. When basic scanning is used, you may specify filters to determine which individual repositories, or all repositories, are scanned when new images are pushed to those repositories. Alternatively, you can do manual scans of images with basic scanning.

When the ENHANCED scan type is set, Amazon Inspector provides automated vulnerability scanning. You may choose between continuous scanning or scan on push and you may specify filters to determine which individual repositories, or all repositories, are scanned.

", "RegistryScanningConfiguration$scanType": "

The type of scanning configured for the registry.

" } }, @@ -1793,7 +1799,7 @@ } }, "Tag": { - "base": "

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

", + "base": "

The metadata to apply to a resource to help you categorize and organize them. Each tag consists of a key and a value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

", "refs": { "TagList$member": null } @@ -1841,7 +1847,7 @@ "TagValue": { "base": null, "refs": { - "Tag$Value": "

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

", + "Tag$Value": "

A value acts as a descriptor within a tag category (key).

", "Tags$value": null } }, diff --git a/apis/gamelift/2015-10-01/docs-2.json b/apis/gamelift/2015-10-01/docs-2.json index e5c353b20c5..743510e02d0 100644 --- a/apis/gamelift/2015-10-01/docs-2.json +++ b/apis/gamelift/2015-10-01/docs-2.json @@ -33,7 +33,7 @@ "DeregisterGameServer": "

This operation is used with the GameLift FleetIQ solution and game server groups.

Removes the game server from a game server group. As a result of this operation, the deregistered game server can no longer be claimed and will not be returned in a list of active game servers.

To deregister a game server, specify the game server group and game server ID. If successful, this operation emits a CloudWatch event with termination timestamp and reason.

Learn more

GameLift FleetIQ Guide

Related actions

RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer | UpdateGameServer | DeregisterGameServer | All APIs by task

", "DescribeAlias": "

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

Related actions

CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias | All APIs by task

", "DescribeBuild": "

Retrieves properties for a custom game build. To request a build resource, specify a build ID. If successful, an object containing the build properties is returned.

Learn more

Upload a Custom Server Build

Related actions

CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All APIs by task

", - "DescribeEC2InstanceLimits": "

The GameLift service limits and current utilization for an Amazon Web Services Region or location. Instance limits control the number of instances, per instance type, per location, that your Amazon Web Services account can use. Learn more at Amazon EC2 Instance Types. The information returned includes the maximum number of instances allowed and your account's current usage across all fleets. This information can affect your ability to scale your GameLift fleets. You can request a limit increase for your account by using the Service limits page in the GameLift console.

Instance limits differ based on whether the instances are deployed in a fleet's home Region or in a remote location. For remote locations, limits also differ based on the combination of home Region and remote location. All requests must specify an Amazon Web Services Region (either explicitly or as your default settings). To get the limit for a remote location, you must also specify the location. For example, the following requests all return different results:

This operation can be used in the following ways:

If successful, an EC2InstanceLimits object is returned with limits and usage data for each requested instance type.

Learn more

Setting up GameLift fleets

Related actions

CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes | StopFleetActions | DeleteFleet | All APIs by task

", + "DescribeEC2InstanceLimits": "

Retrieves the instance limits and current utilization for an Amazon Web Services Region or location. Instance limits control the number of instances, per instance type, per location, that your Amazon Web Services account can use. Learn more at Amazon EC2 Instance Types. The information returned includes the maximum number of instances allowed and your account's current usage across all fleets. This information can affect your ability to scale your GameLift fleets. You can request a limit increase for your account by using the Service limits page in the GameLift console.

Instance limits differ based on whether the instances are deployed in a fleet's home Region or in a remote location. For remote locations, limits also differ based on the combination of home Region and remote location. All requests must specify an Amazon Web Services Region (either explicitly or as your default settings). To get the limit for a remote location, you must also specify the location. For example, the following requests all return different results:

This operation can be used in the following ways:

If successful, an EC2InstanceLimits object is returned with limits and usage data for each requested instance type.

Learn more

Setting up GameLift fleets

Related actions

CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes | StopFleetActions | DeleteFleet | All APIs by task

", "DescribeFleetAttributes": "

Retrieves core fleet-wide properties, including the computing hardware and deployment configuration for all instances in the fleet.

This operation can be used in the following ways:

When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetAttributes object is returned for each fleet requested, unless the fleet identifier is not found.

Some API operations limit the number of fleet IDs that allowed in one request. If a request exceeds this limit, the request fails and the error message contains the maximum allowed number.

Learn more

Setting up GameLift fleets

Related actions

ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies | All APIs by task

", "DescribeFleetCapacity": "

Retrieves the resource capacity settings for one or more fleets. The data returned includes the current fleet capacity (number of EC2 instances), and settings that can control how capacity scaling. For fleets with remote locations, this operation retrieves data for the fleet's home Region only. See DescribeFleetLocationCapacity to get capacity settings for a fleet's remote locations.

This operation can be used in the following ways:

When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetCapacity object is returned for each requested fleet ID. Each FleetCapacity object includes a Location property, which is set to the fleet's home Region. When a list of fleet IDs is provided, attribute objects are returned only for fleets that currently exist.

Some API operations may limit the number of fleet IDs that are allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Setting up GameLift fleets

GameLift metrics for fleets

Related actions

ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies | All APIs by task

", "DescribeFleetEvents": "

Retrieves entries from a fleet's event log. Fleet events are initiated by changes in status, such as during fleet creation and termination, changes in capacity, etc. If a fleet has multiple locations, events are also initiated by changes to status and capacity in remote locations.

You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a collection of event log entries matching the request are returned.

Learn more

Setting up GameLift fleets

Related actions

ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies | All APIs by task

", @@ -50,7 +50,7 @@ "DescribeGameSessionQueues": "

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the Region.

Learn more

View Your Queues

Related actions

CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task

", "DescribeGameSessions": "

Retrieves a set of one or more game sessions in a specific fleet location. You can optionally filter the results by current game session status. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve the protection policy for game sessions, use DescribeGameSessionDetails.

This operation is not designed to be continually called to track game session status. This practice can cause you to exceed your API limit, which results in errors. Instead, you must configure configure an Amazon Simple Notification Service (SNS) topic to receive notifications from FlexMatch or queues. Continuously polling with DescribeGameSessions should only be used for games in development with low game session usage.

This operation can be used in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a GameSession object is returned for each game session that matches the request.

This operation is not designed to be continually called to track matchmaking ticket status. This practice can cause you to exceed your API limit, which results in errors. Instead, as a best practice, set up an Amazon Simple Notification Service to receive notifications, and provide the topic ARN in the matchmaking configuration. Continuously poling ticket status with DescribeGameSessions should only be used for games in development with low matchmaking usage.

Available in Amazon Web Services Local.

Learn more

Find a game session

Related actions

CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement | DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task

", "DescribeInstances": "

Retrieves information about a fleet's instances, including instance IDs, connection data, and status.

This operation can be used in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, an Instance object is returned for each requested instance. Instances are not returned in any particular order.

Learn more

Remotely Access Fleet Instances

Debug Fleet Issues

Related actions

DescribeInstances | GetInstanceAccess | DescribeEC2InstanceLimits | All APIs by task

", - "DescribeMatchmaking": "

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including--after a successful match is made--connection information for the resulting new game session.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

This operation is not designed to be continually called to track matchmaking ticket status. This practice can cause you to exceed your API limit, which results in errors. Instead, as a best practice, set up an Amazon Simple Notification Service to receive notifications, and provide the topic ARN in the matchmaking configuration. Continuously poling ticket status with DescribeMatchmaking should only be used for games in development with low matchmaking usage.

Learn more

Add FlexMatch to a game client

Set Up FlexMatch event notification

Related actions

StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch | StartMatchBackfill | All APIs by task

", + "DescribeMatchmaking": "

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including--after a successful match is made--connection information for the resulting new game session.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

This operation is not designed to be continually called to track matchmaking ticket status. This practice can cause you to exceed your API limit, which results in errors. Instead, as a best practice, set up an Amazon Simple Notification Service to receive notifications, and provide the topic ARN in the matchmaking configuration. Continuously polling ticket status with DescribeMatchmaking should only be used for games in development with low matchmaking usage.

Learn more

Add FlexMatch to a game client

Set Up FlexMatch event notification

Related actions

StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch | StartMatchBackfill | All APIs by task

", "DescribeMatchmakingConfigurations": "

Retrieves the details of FlexMatch matchmaking configurations.

This operation offers the following options: (1) retrieve all matchmaking configurations, (2) retrieve configurations for a specified list, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Learn more

Setting up FlexMatch matchmakers

Related actions

CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task

", "DescribeMatchmakingRuleSets": "

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Learn more

Related actions

CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task

", "DescribePlayerSessions": "

Retrieves properties for one or more player sessions.

This action can be used in the following ways:

To request player sessions, specify either a player session ID, game session ID, or player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a PlayerSession object is returned for each session that matches the request.

Available in Amazon Web Services Local.

Related actions

CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement | DescribeGameSessionPlacement | All APIs by task

", diff --git a/apis/keyspaces/2022-02-10/api-2.json b/apis/keyspaces/2022-02-10/api-2.json new file mode 100644 index 00000000000..d132d5ca452 --- /dev/null +++ b/apis/keyspaces/2022-02-10/api-2.json @@ -0,0 +1,802 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-02-10", + "endpointPrefix":"cassandra", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"Amazon Keyspaces", + "serviceId":"Keyspaces", + "signatureVersion":"v4", + "signingName":"cassandra", + "targetPrefix":"KeyspacesService", + "uid":"keyspaces-2022-02-10" + }, + "operations":{ + "CreateKeyspace":{ + "name":"CreateKeyspace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateKeyspaceRequest"}, + "output":{"shape":"CreateKeyspaceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ] + }, + "CreateTable":{ + "name":"CreateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTableRequest"}, + "output":{"shape":"CreateTableResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DeleteKeyspace":{ + "name":"DeleteKeyspace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteKeyspaceRequest"}, + "output":{"shape":"DeleteKeyspaceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DeleteTable":{ + "name":"DeleteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTableRequest"}, + "output":{"shape":"DeleteTableResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetKeyspace":{ + "name":"GetKeyspace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetKeyspaceRequest"}, + "output":{"shape":"GetKeyspaceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetTable":{ + "name":"GetTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableRequest"}, + "output":{"shape":"GetTableResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListKeyspaces":{ + "name":"ListKeyspaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListKeyspacesRequest"}, + "output":{"shape":"ListKeyspacesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTables":{ + "name":"ListTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTablesRequest"}, + "output":{"shape":"ListTablesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "RestoreTable":{ + "name":"RestoreTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreTableRequest"}, + "output":{"shape":"RestoreTableResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateTable":{ + "name":"UpdateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTableRequest"}, + "output":{"shape":"UpdateTableResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":1000, + "min":20, + "pattern":"arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "CapacitySpecification":{ + "type":"structure", + "required":["throughputMode"], + "members":{ + "throughputMode":{"shape":"ThroughputMode"}, + "readCapacityUnits":{"shape":"CapacityUnits"}, + "writeCapacityUnits":{"shape":"CapacityUnits"} + } + }, + "CapacitySpecificationSummary":{ + "type":"structure", + "required":["throughputMode"], + "members":{ + "throughputMode":{"shape":"ThroughputMode"}, + "readCapacityUnits":{"shape":"CapacityUnits"}, + "writeCapacityUnits":{"shape":"CapacityUnits"}, + "lastUpdateToPayPerRequestTimestamp":{"shape":"Timestamp"} + } + }, + "CapacityUnits":{ + "type":"long", + "box":true, + "min":1 + }, + "ClusteringKey":{ + "type":"structure", + "required":[ + "name", + "orderBy" + ], + "members":{ + "name":{"shape":"GenericString"}, + "orderBy":{"shape":"SortOrder"} + } + }, + "ClusteringKeyList":{ + "type":"list", + "member":{"shape":"ClusteringKey"} + }, + "ColumnDefinition":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{"shape":"GenericString"}, + "type":{"shape":"GenericString"} + } + }, + "ColumnDefinitionList":{ + "type":"list", + "member":{"shape":"ColumnDefinition"}, + "min":1 + }, + "Comment":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "CreateKeyspaceRequest":{ + "type":"structure", + "required":["keyspaceName"], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tags":{"shape":"TagList"} + } + }, + "CreateKeyspaceResponse":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{"shape":"ARN"} + } + }, + "CreateTableRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName", + "schemaDefinition" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"}, + "schemaDefinition":{"shape":"SchemaDefinition"}, + "comment":{"shape":"Comment"}, + "capacitySpecification":{"shape":"CapacitySpecification"}, + "encryptionSpecification":{"shape":"EncryptionSpecification"}, + "pointInTimeRecovery":{"shape":"PointInTimeRecovery"}, + "ttl":{"shape":"TimeToLive"}, + "defaultTimeToLive":{"shape":"DefaultTimeToLive"}, + "tags":{"shape":"TagList"} + } + }, + "CreateTableResponse":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{"shape":"ARN"} + } + }, + "DefaultTimeToLive":{ + "type":"integer", + "box":true, + "max":630720000, + "min":1 + }, + "DeleteKeyspaceRequest":{ + "type":"structure", + "required":["keyspaceName"], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"} + } + }, + "DeleteKeyspaceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTableRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"} + } + }, + "DeleteTableResponse":{ + "type":"structure", + "members":{ + } + }, + "EncryptionSpecification":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"EncryptionType"}, + "kmsKeyIdentifier":{"shape":"kmsKeyARN"} + } + }, + "EncryptionType":{ + "type":"string", + "enum":[ + "CUSTOMER_MANAGED_KMS_KEY", + "AWS_OWNED_KMS_KEY" + ] + }, + "GenericString":{"type":"string"}, + "GetKeyspaceRequest":{ + "type":"structure", + "required":["keyspaceName"], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"} + } + }, + "GetKeyspaceResponse":{ + "type":"structure", + "required":[ + "keyspaceName", + "resourceArn" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "resourceArn":{"shape":"ARN"} + } + }, + "GetTableRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"} + } + }, + "GetTableResponse":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName", + "resourceArn" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"}, + "resourceArn":{"shape":"ARN"}, + "creationTimestamp":{"shape":"Timestamp"}, + "status":{"shape":"TableStatus"}, + "schemaDefinition":{"shape":"SchemaDefinition"}, + "capacitySpecification":{"shape":"CapacitySpecificationSummary"}, + "encryptionSpecification":{"shape":"EncryptionSpecification"}, + "pointInTimeRecovery":{"shape":"PointInTimeRecoverySummary"}, + "ttl":{"shape":"TimeToLive"}, + "defaultTimeToLive":{"shape":"DefaultTimeToLive"}, + "comment":{"shape":"Comment"} + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true, + "fault":true + }, + "KeyspaceName":{ + "type":"string", + "max":48, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_]{1,47}" + }, + "KeyspaceSummary":{ + "type":"structure", + "required":[ + "keyspaceName", + "resourceArn" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "resourceArn":{"shape":"ARN"} + } + }, + "KeyspaceSummaryList":{ + "type":"list", + "member":{"shape":"KeyspaceSummary"} + }, + "ListKeyspacesRequest":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListKeyspacesResponse":{ + "type":"structure", + "required":["keyspaces"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "keyspaces":{"shape":"KeyspaceSummaryList"} + } + }, + "ListTablesRequest":{ + "type":"structure", + "required":["keyspaceName"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"}, + "keyspaceName":{"shape":"KeyspaceName"} + } + }, + "ListTablesResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "tables":{"shape":"TableSummaryList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{"shape":"ARN"}, + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "tags":{"shape":"TagList"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "PartitionKey":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"GenericString"} + } + }, + "PartitionKeyList":{ + "type":"list", + "member":{"shape":"PartitionKey"}, + "min":1 + }, + "PointInTimeRecovery":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{"shape":"PointInTimeRecoveryStatus"} + } + }, + "PointInTimeRecoveryStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "PointInTimeRecoverySummary":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{"shape":"PointInTimeRecoveryStatus"}, + "earliestRestorableTimestamp":{"shape":"Timestamp"} + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "resourceArn":{"shape":"ARN"} + }, + "exception":true + }, + "RestoreTableRequest":{ + "type":"structure", + "required":[ + "sourceKeyspaceName", + "sourceTableName", + "targetKeyspaceName", + "targetTableName" + ], + "members":{ + "sourceKeyspaceName":{"shape":"KeyspaceName"}, + "sourceTableName":{"shape":"TableName"}, + "targetKeyspaceName":{"shape":"KeyspaceName"}, + "targetTableName":{"shape":"TableName"}, + "restoreTimestamp":{"shape":"Timestamp"}, + "capacitySpecificationOverride":{"shape":"CapacitySpecification"}, + "encryptionSpecificationOverride":{"shape":"EncryptionSpecification"}, + "pointInTimeRecoveryOverride":{"shape":"PointInTimeRecovery"}, + "tagsOverride":{"shape":"TagList"} + } + }, + "RestoreTableResponse":{ + "type":"structure", + "required":["restoredTableARN"], + "members":{ + "restoredTableARN":{"shape":"ARN"} + } + }, + "SchemaDefinition":{ + "type":"structure", + "required":[ + "allColumns", + "partitionKeys" + ], + "members":{ + "allColumns":{"shape":"ColumnDefinitionList"}, + "partitionKeys":{"shape":"PartitionKeyList"}, + "clusteringKeys":{"shape":"ClusteringKeyList"}, + "staticColumns":{"shape":"StaticColumnList"} + } + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "StaticColumn":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"GenericString"} + } + }, + "StaticColumnList":{ + "type":"list", + "member":{"shape":"StaticColumn"} + }, + "String":{"type":"string"}, + "TableName":{ + "type":"string", + "max":48, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_]{1,47}" + }, + "TableStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "UPDATING", + "DELETING", + "DELETED", + "RESTORING", + "INACCESSIBLE_ENCRYPTION_CREDENTIALS" + ] + }, + "TableSummary":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName", + "resourceArn" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"}, + "resourceArn":{"shape":"ARN"} + } + }, + "TableSummaryList":{ + "type":"list", + "member":{"shape":"TableSummary"} + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":60, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{"shape":"ARN"}, + "tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "ThroughputMode":{ + "type":"string", + "enum":[ + "PAY_PER_REQUEST", + "PROVISIONED" + ] + }, + "TimeToLive":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{"shape":"TimeToLiveStatus"} + } + }, + "TimeToLiveStatus":{ + "type":"string", + "enum":["ENABLED"] + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{"shape":"ARN"}, + "tags":{"shape":"TagList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTableRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "tableName" + ], + "members":{ + "keyspaceName":{"shape":"KeyspaceName"}, + "tableName":{"shape":"TableName"}, + "addColumns":{"shape":"ColumnDefinitionList"}, + "capacitySpecification":{"shape":"CapacitySpecification"}, + "encryptionSpecification":{"shape":"EncryptionSpecification"}, + "pointInTimeRecovery":{"shape":"PointInTimeRecovery"}, + "ttl":{"shape":"TimeToLive"}, + "defaultTimeToLive":{"shape":"DefaultTimeToLive"} + } + }, + "UpdateTableResponse":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{"shape":"ARN"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, + "kmsKeyARN":{ + "type":"string", + "max":5096, + "min":1 + } + } +} diff --git a/apis/keyspaces/2022-02-10/docs-2.json b/apis/keyspaces/2022-02-10/docs-2.json new file mode 100644 index 00000000000..b7348cf60c3 --- /dev/null +++ b/apis/keyspaces/2022-02-10/docs-2.json @@ -0,0 +1,502 @@ +{ + "version": "2.0", + "service": "

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.

 <p>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. This API reference describes the supported DDL operations in detail. </p> <note> <p>For the list of all supported CQL APIs, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/cassandra-apis.html">Supported Cassandra APIs, operations, and data types in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> <p>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 <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">Amazon Web Services APIs</a> in the <i>General Reference</i>. </p> </note> 
", + "operations": { + "CreateKeyspace": "

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.

", + "CreateTable": "

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.

", + "DeleteKeyspace": "

The DeleteKeyspace operation deletes a keyspace and all of its tables.

", + "DeleteTable": "

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.

", + "GetKeyspace": "

Returns the name and the Amazon Resource Name (ARN) of the specified table.

", + "GetTable": "

Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

", + "ListKeyspaces": "

Returns a list of keyspaces.

", + "ListTables": "

Returns a list of tables for a specified keyspace.

", + "ListTagsForResource": "

Returns a list of all tags associated with the specified Amazon Keyspaces resource.

", + "RestoreTable": "

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:

For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.

The following settings are not restored, and you must configure them manually for the new table.

", + "TagResource": "

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.

", + "UntagResource": "

Removes the association of tags from a Amazon Keyspaces resource.

", + "UpdateTable": "

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.

" + }, + "shapes": { + "ARN": { + "base": null, + "refs": { + "CreateKeyspaceResponse$resourceArn": "

The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).

", + "CreateTableResponse$resourceArn": "

The unique identifier of the table in the format of an Amazon Resource Name (ARN).

", + "GetKeyspaceResponse$resourceArn": "

The ARN of the keyspace.

", + "GetTableResponse$resourceArn": "

The Amazon Resource Name (ARN) of the specified table.

", + "KeyspaceSummary$resourceArn": "

The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).

", + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the Amazon Keyspaces resource.

", + "ResourceNotFoundException$resourceArn": "

The unique identifier in the format of Amazon Resource Name (ARN), for the resource not found.

", + "RestoreTableResponse$restoredTableARN": "

The Amazon Resource Name (ARN) of the restored table.

", + "TableSummary$resourceArn": "

The unique identifier of the table in the format of an Amazon Resource Name (ARN).

", + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to which to add tags.

", + "UntagResourceRequest$resourceArn": "

The Amazon Keyspaces resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).

", + "UpdateTableResponse$resourceArn": "

The Amazon Resource Name (ARN) of the modified table.

" + } + }, + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "CapacitySpecification": { + "base": "

Amazon Keyspaces has two read/write capacity modes for processing reads and writes on your tables:

 <p> The read/write capacity mode that you choose controls how you are charged for read and write throughput and how table throughput capacity is managed. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html">Read/write capacity modes</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> 
", + "refs": { + "CreateTableRequest$capacitySpecification": "

Specifies the read/write throughput capacity mode for the table. The options are:

The default is throughput_mode:PAY_PER_REQUEST.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

", + "RestoreTableRequest$capacitySpecificationOverride": "

Specifies the read/write throughput capacity mode for the target table. The options are:

The default is throughput_mode:PAY_PER_REQUEST.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

", + "UpdateTableRequest$capacitySpecification": "

Modifies the read/write throughput capacity mode for the table. The options are:

The default is throughput_mode:PAY_PER_REQUEST.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

" + } + }, + "CapacitySpecificationSummary": { + "base": "

The read/write throughput capacity mode for a table. The options are:

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

", + "refs": { + "GetTableResponse$capacitySpecification": "

The read/write throughput capacity mode for a table. The options are:

" + } + }, + "CapacityUnits": { + "base": null, + "refs": { + "CapacitySpecification$readCapacityUnits": "

The throughput capacity specified for read operations defined in read capacity units (RCUs).

", + "CapacitySpecification$writeCapacityUnits": "

The throughput capacity specified for write operations defined in write capacity units (WCUs).

", + "CapacitySpecificationSummary$readCapacityUnits": "

The throughput capacity specified for read operations defined in read capacity units (RCUs).

", + "CapacitySpecificationSummary$writeCapacityUnits": "

The throughput capacity specified for write operations defined in write capacity units (WCUs).

" + } + }, + "ClusteringKey": { + "base": "

The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.

", + "refs": { + "ClusteringKeyList$member": null + } + }, + "ClusteringKeyList": { + "base": null, + "refs": { + "SchemaDefinition$clusteringKeys": "

The columns that are part of the clustering key of the table.

" + } + }, + "ColumnDefinition": { + "base": "

The names and data types of regular columns.

", + "refs": { + "ColumnDefinitionList$member": null + } + }, + "ColumnDefinitionList": { + "base": null, + "refs": { + "SchemaDefinition$allColumns": "

The regular columns of the table.

", + "UpdateTableRequest$addColumns": "

For each column to be added to the specified table:

" + } + }, + "Comment": { + "base": "

An optional comment that describes the table.

", + "refs": { + "CreateTableRequest$comment": "

This parameter allows to enter a description of the table.

", + "GetTableResponse$comment": "

The the description of the specified table.

" + } + }, + "ConflictException": { + "base": "

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.

", + "refs": { + } + }, + "CreateKeyspaceRequest": { + "base": null, + "refs": { + } + }, + "CreateKeyspaceResponse": { + "base": null, + "refs": { + } + }, + "CreateTableRequest": { + "base": null, + "refs": { + } + }, + "CreateTableResponse": { + "base": null, + "refs": { + } + }, + "DefaultTimeToLive": { + "base": null, + "refs": { + "CreateTableRequest$defaultTimeToLive": "

The default Time to Live setting in seconds for the table.

For more information, see Setting the default TTL value for a table in the Amazon Keyspaces Developer Guide.

", + "GetTableResponse$defaultTimeToLive": "

The default Time to Live settings of the specified table.

", + "UpdateTableRequest$defaultTimeToLive": "

The default Time to Live setting in seconds for the table.

For more information, see Setting the default TTL value for a table in the Amazon Keyspaces Developer Guide.

" + } + }, + "DeleteKeyspaceRequest": { + "base": null, + "refs": { + } + }, + "DeleteKeyspaceResponse": { + "base": null, + "refs": { + } + }, + "DeleteTableRequest": { + "base": null, + "refs": { + } + }, + "DeleteTableResponse": { + "base": null, + "refs": { + } + }, + "EncryptionSpecification": { + "base": "

Amazon Keyspaces encrypts and decrypts the table data at rest transparently and integrates with Key Management Service for storing and managing the encryption key. You can choose one of the following KMS keys (KMS keys):

For more information about encryption at rest in Amazon Keyspaces, see Encryption at rest in the Amazon Keyspaces Developer Guide.

For more information about KMS, see KMS management service concepts in the Key Management Service Developer Guide.

", + "refs": { + "CreateTableRequest$encryptionSpecification": "

Specifies how the encryption key for encryption at rest is managed for the table. You can choose one of the following KMS key (KMS key):

 <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> 
", + "GetTableResponse$encryptionSpecification": "

The encryption settings of the specified table.

", + "RestoreTableRequest$encryptionSpecificationOverride": "

Specifies the encryption settings for the target table. You can choose one of the following KMS key (KMS key):

 <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> 
", + "UpdateTableRequest$encryptionSpecification": "

Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):

 <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> 
" + } + }, + "EncryptionType": { + "base": null, + "refs": { + "EncryptionSpecification$type": "

The encryption option specified for the table. You can choose one of the following KMS keys (KMS keys):

The default is type:AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

" + } + }, + "GenericString": { + "base": null, + "refs": { + "ClusteringKey$name": "

The name(s) of the clustering column(s).

", + "ColumnDefinition$name": "

The name of the column.

", + "ColumnDefinition$type": "

The data type of the column. For a list of available data types, see Data types in the Amazon Keyspaces Developer Guide.

", + "PartitionKey$name": "

The name(s) of the partition key column(s).

", + "StaticColumn$name": "

The name of the static column.

" + } + }, + "GetKeyspaceRequest": { + "base": null, + "refs": { + } + }, + "GetKeyspaceResponse": { + "base": null, + "refs": { + } + }, + "GetTableRequest": { + "base": null, + "refs": { + } + }, + "GetTableResponse": { + "base": null, + "refs": { + } + }, + "InternalServerException": { + "base": "

Amazon Keyspaces was unable to fully process this request because of an internal server error.

", + "refs": { + } + }, + "KeyspaceName": { + "base": null, + "refs": { + "CreateKeyspaceRequest$keyspaceName": "

The name of the keyspace to be created.

", + "CreateTableRequest$keyspaceName": "

The name of the keyspace that the table is going to be created in.

", + "DeleteKeyspaceRequest$keyspaceName": "

The name of the keyspace to be deleted.

", + "DeleteTableRequest$keyspaceName": "

The name of the keyspace of the to be deleted table.

", + "GetKeyspaceRequest$keyspaceName": "

The name of the keyspace.

", + "GetKeyspaceResponse$keyspaceName": "

The name of the keyspace.

", + "GetTableRequest$keyspaceName": "

The name of the keyspace that the table is stored in.

", + "GetTableResponse$keyspaceName": "

The name of the keyspace that the specified table is stored in.

", + "KeyspaceSummary$keyspaceName": "

The name of the keyspace.

", + "ListTablesRequest$keyspaceName": "

The name of the keyspace.

", + "RestoreTableRequest$sourceKeyspaceName": "

The keyspace name of the source table.

", + "RestoreTableRequest$targetKeyspaceName": "

The name of the target keyspace.

", + "TableSummary$keyspaceName": "

The name of the keyspace that the table is stored in.

", + "UpdateTableRequest$keyspaceName": "

The name of the keyspace the specified table is stored in.

" + } + }, + "KeyspaceSummary": { + "base": "

Represents the properties of a keyspace.

", + "refs": { + "KeyspaceSummaryList$member": null + } + }, + "KeyspaceSummaryList": { + "base": null, + "refs": { + "ListKeyspacesResponse$keyspaces": "

A list of keyspaces.

" + } + }, + "ListKeyspacesRequest": { + "base": null, + "refs": { + } + }, + "ListKeyspacesResponse": { + "base": null, + "refs": { + } + }, + "ListTablesRequest": { + "base": null, + "refs": { + } + }, + "ListTablesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListKeyspacesRequest$maxResults": "

The total number of keyspaces to return in the output. If the total number of keyspaces available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

", + "ListTablesRequest$maxResults": "

The total number of tables to return in the output. If the total number of tables available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

", + "ListTagsForResourceRequest$maxResults": "

The total number of tags to return in the output. If the total number of tags available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListKeyspacesRequest$nextToken": "

The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

", + "ListKeyspacesResponse$nextToken": "

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

", + "ListTablesRequest$nextToken": "

The pagination token. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

", + "ListTablesResponse$nextToken": "

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

", + "ListTagsForResourceRequest$nextToken": "

The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

", + "ListTagsForResourceResponse$nextToken": "

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + }, + "PartitionKey": { + "base": "

The partition key portion of the primary key is required and determines how Amazon Keyspaces stores the data. The partition key can be a single column, or it can be a compound value composed of two or more columns.

", + "refs": { + "PartitionKeyList$member": null + } + }, + "PartitionKeyList": { + "base": null, + "refs": { + "SchemaDefinition$partitionKeys": "

The columns that are part of the partition key of the table .

" + } + }, + "PointInTimeRecovery": { + "base": "

Point-in-time recovery (PITR) helps protect your Amazon Keyspaces tables from accidental write or delete operations by providing you continuous backups of your table data.

For more information, see Point-in-time recovery in the Amazon Keyspaces Developer Guide.

", + "refs": { + "CreateTableRequest$pointInTimeRecovery": "

Specifies if pointInTimeRecovery is enabled or disabled for the table. The options are:

If it's not specified, the default is DISABLED.

For more information, see Point-in-time recovery in the Amazon Keyspaces Developer Guide.

", + "RestoreTableRequest$pointInTimeRecoveryOverride": "

Specifies the pointInTimeRecovery settings for the target table. The options are:

If it's not specified, the default is DISABLED.

For more information, see Point-in-time recovery in the Amazon Keyspaces Developer Guide.

", + "UpdateTableRequest$pointInTimeRecovery": "

Modifies the pointInTimeRecovery settings of the table. The options are:

If it's not specified, the default is DISABLED.

For more information, see Point-in-time recovery in the Amazon Keyspaces Developer Guide.

" + } + }, + "PointInTimeRecoveryStatus": { + "base": null, + "refs": { + "PointInTimeRecovery$status": "

The options are:

", + "PointInTimeRecoverySummary$status": "

Shows if point-in-time recovery is enabled or disabled for the specified table.

" + } + }, + "PointInTimeRecoverySummary": { + "base": "

The point-in-time recovery status of the specified table.

", + "refs": { + "GetTableResponse$pointInTimeRecovery": "

The point-in-time recovery status of the specified table.

" + } + }, + "ResourceNotFoundException": { + "base": "

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.

", + "refs": { + } + }, + "RestoreTableRequest": { + "base": null, + "refs": { + } + }, + "RestoreTableResponse": { + "base": null, + "refs": { + } + }, + "SchemaDefinition": { + "base": "

Describes the schema of the table.

", + "refs": { + "CreateTableRequest$schemaDefinition": "

The schemaDefinition consists of the following parameters.

For each column to be created:

 <p>The primary key of the table consists of the following columns:</p> <ul> <li> <p> <code>partitionKeys</code> - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of each partition key column.</p> </li> </ul> </li> <li> <p> <code>clusteringKeys</code> - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of the clustering column. </p> </li> <li> <p> <i> <code>orderBy</code> </i> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p> </li> </ul> </li> </ul> <p>To define a column as static use <code> <i>staticColumns</i> </code> - Static columns store values that are shared by all rows in the same partition:</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of the column.</p> </li> <li> <p> <code> <i>type</i> </code> - An Amazon Keyspaces data type.</p> </li> </ul> 
", + "GetTableResponse$schemaDefinition": "

The schema definition of the specified table.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The operation exceeded the service quota for this resource. For more information on service quotas, see Quotas in the Amazon Keyspaces Developer Guide.

", + "refs": { + } + }, + "SortOrder": { + "base": null, + "refs": { + "ClusteringKey$orderBy": "

Sets the ascendant (ASC) or descendant (DESC) order modifier.

" + } + }, + "StaticColumn": { + "base": "

The static columns of the table. Static columns store values that are shared by all rows in the same partition.

", + "refs": { + "StaticColumnList$member": null + } + }, + "StaticColumnList": { + "base": null, + "refs": { + "SchemaDefinition$staticColumns": "

The columns that have been defined as STATIC. Static columns store values that are shared by all rows in the same partition.

" + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "Comment$message": "

An optional description of the table.

", + "ConflictException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "ValidationException$message": null + } + }, + "TableName": { + "base": null, + "refs": { + "CreateTableRequest$tableName": "

The name of the table.

", + "DeleteTableRequest$tableName": "

The name of the table to be deleted.

", + "GetTableRequest$tableName": "

The name of the table.

", + "GetTableResponse$tableName": "

The name of the specified table.

", + "RestoreTableRequest$sourceTableName": "

The name of the source table.

", + "RestoreTableRequest$targetTableName": "

The name of the target table.

", + "TableSummary$tableName": "

The name of the table.

", + "UpdateTableRequest$tableName": "

The name of the table.

" + } + }, + "TableStatus": { + "base": null, + "refs": { + "GetTableResponse$status": "

The current status of the specified table.

" + } + }, + "TableSummary": { + "base": "

Returns the name of the specified table, the keyspace it is stored in, and the unique identifier in the format of an Amazon Resource Name (ARN).

", + "refs": { + "TableSummaryList$member": null + } + }, + "TableSummaryList": { + "base": null, + "refs": { + "ListTablesResponse$tables": "

A list of tables.

" + } + }, + "Tag": { + "base": "

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single Amazon Keyspaces resource.

Amazon Web Services-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. Amazon Web Services-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.

For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$key": "

The key of the tag. Tag keys are case sensitive. Each Amazon Keyspaces resource can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateKeyspaceRequest$tags": "

A list of key-value pair tags to be attached to the keyspace.

For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.

", + "CreateTableRequest$tags": "

A list of key-value pair tags to be attached to the resource.

For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.

", + "ListTagsForResourceResponse$tags": "

A list of tags.

", + "RestoreTableRequest$tagsOverride": "

A list of key-value pair tags to be attached to the restored table.

For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.

", + "TagResourceRequest$tags": "

The tags to be assigned to the Amazon Keyspaces resource.

", + "UntagResourceRequest$tags": "

A list of existing tags to be removed from the Amazon Keyspaces resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$value": "

The value of the tag. Tag values are case-sensitive and can be null.

" + } + }, + "ThroughputMode": { + "base": null, + "refs": { + "CapacitySpecification$throughputMode": "

The read/write throughput capacity mode for a table. The options are:

The default is throughput_mode:PAY_PER_REQUEST.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

", + "CapacitySpecificationSummary$throughputMode": "

The read/write throughput capacity mode for a table. The options are:

The default is throughput_mode:PAY_PER_REQUEST.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

" + } + }, + "TimeToLive": { + "base": "

Enable custom Time to Live (TTL) settings for rows and columns without setting a TTL default for the specified table.

For more information, see Enabling TTL on tables in the Amazon Keyspaces Developer Guide.

", + "refs": { + "CreateTableRequest$ttl": "

Enables Time to Live custom settings for the table. The options are:

The default is status:disabled. After ttl is enabled, you can't disable it for the table.

For more information, see Expiring data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces Developer Guide.

", + "GetTableResponse$ttl": "

The custom Time to Live settings of the specified table.

", + "UpdateTableRequest$ttl": "

Modifies Time to Live custom settings for the table. The options are:

The default is status:disabled. After ttl is enabled, you can't disable it for the table.

For more information, see Expiring data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces Developer Guide.

" + } + }, + "TimeToLiveStatus": { + "base": null, + "refs": { + "TimeToLive$status": "

Shows how to enable custom Time to Live (TTL) settings for the specified table.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "CapacitySpecificationSummary$lastUpdateToPayPerRequestTimestamp": "

The timestamp of the last operation that changed the provisioned throughput capacity of a table.

", + "GetTableResponse$creationTimestamp": "

The creation timestamp of the specified table.

", + "PointInTimeRecoverySummary$earliestRestorableTimestamp": "

Specifies the earliest possible restore point of the table in ISO 8601 format.

", + "RestoreTableRequest$restoreTimestamp": "

The restore timestamp in ISO 8601 format.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateTableRequest": { + "base": null, + "refs": { + } + }, + "UpdateTableResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The operation failed due to an invalid or malformed request.

", + "refs": { + } + }, + "kmsKeyARN": { + "base": null, + "refs": { + "EncryptionSpecification$kmsKeyIdentifier": "

The Amazon Resource Name (ARN) of the customer managed KMS key, for example kms_key_identifier:ARN.

" + } + } + } +} diff --git a/apis/keyspaces/2022-02-10/examples-1.json b/apis/keyspaces/2022-02-10/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/apis/keyspaces/2022-02-10/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/apis/keyspaces/2022-02-10/paginators-1.json b/apis/keyspaces/2022-02-10/paginators-1.json new file mode 100644 index 00000000000..885bf4e2508 --- /dev/null +++ b/apis/keyspaces/2022-02-10/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListKeyspaces": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "keyspaces" + }, + "ListTables": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "tables" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "tags" + } + } +} diff --git a/apis/keyspaces/2022-02-10/smoke.json b/apis/keyspaces/2022-02-10/smoke.json new file mode 100644 index 00000000000..047a1d85ef7 --- /dev/null +++ b/apis/keyspaces/2022-02-10/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} \ No newline at end of file diff --git a/apis/keyspaces/2022-02-10/waiters-2.json b/apis/keyspaces/2022-02-10/waiters-2.json new file mode 100644 index 00000000000..4b20636aa4c --- /dev/null +++ b/apis/keyspaces/2022-02-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} \ No newline at end of file diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 6b2a6dc7b4e..29afcdba7be 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.562.0 (2022-03-02) +------------------ + +* Feature - Added support for enumerating regions for `Aws::Keyspaces`. + 1.561.0 (2022-03-01) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index cb4c46e580f..f09b7048253 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.561.0 +1.562.0 diff --git a/gems/aws-partitions/lib/aws-partitions.rb b/gems/aws-partitions/lib/aws-partitions.rb index 72171387808..c2998a7a15f 100644 --- a/gems/aws-partitions/lib/aws-partitions.rb +++ b/gems/aws-partitions/lib/aws-partitions.rb @@ -379,6 +379,7 @@ def service_ids 'Kafka' => 'kafka', 'KafkaConnect' => 'kafkaconnect', 'Kendra' => 'kendra', + 'Keyspaces' => 'cassandra', 'Kinesis' => 'kinesis', 'KinesisAnalytics' => 'kinesisanalytics', 'KinesisAnalyticsV2' => 'kinesisanalytics', diff --git a/gems/aws-sdk-athena/CHANGELOG.md b/gems/aws-sdk-athena/CHANGELOG.md index 579aa152200..8cc09a5bff2 100644 --- a/gems/aws-sdk-athena/CHANGELOG.md +++ b/gems/aws-sdk-athena/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.52.0 (2022-03-02) +------------------ + +* Feature - This release adds support for S3 Object Ownership by allowing the S3 bucket owner full control canned ACL to be set when Athena writes query results to S3 buckets. + 1.51.0 (2022-02-28) ------------------ diff --git a/gems/aws-sdk-athena/VERSION b/gems/aws-sdk-athena/VERSION index ba0a719118c..a63cb35e6f0 100644 --- a/gems/aws-sdk-athena/VERSION +++ b/gems/aws-sdk-athena/VERSION @@ -1 +1 @@ -1.51.0 +1.52.0 diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena.rb index 11c636a11d3..443dc7b29fb 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena.rb @@ -48,6 +48,6 @@ # @!group service module Aws::Athena - GEM_VERSION = '1.51.0' + GEM_VERSION = '1.52.0' end diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb index fa621b7a070..0a0772c9456 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb @@ -441,6 +441,7 @@ def batch_get_named_query(params = {}, options = {}) # resp.query_executions[0].result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS" # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String # resp.query_executions[0].result_configuration.expected_bucket_owner #=> String + # resp.query_executions[0].result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL" # resp.query_executions[0].query_execution_context.database #=> String # resp.query_executions[0].query_execution_context.catalog #=> String # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED" @@ -708,6 +709,9 @@ def create_prepared_statement(params = {}, options = {}) # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # }, # enforce_work_group_configuration: false, # publish_cloud_watch_metrics_enabled: false, @@ -1011,6 +1015,7 @@ def get_prepared_statement(params = {}, options = {}) # resp.query_execution.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS" # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String # resp.query_execution.result_configuration.expected_bucket_owner #=> String + # resp.query_execution.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL" # resp.query_execution.query_execution_context.database #=> String # resp.query_execution.query_execution_context.catalog #=> String # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED" @@ -1188,6 +1193,7 @@ def get_table_metadata(params = {}, options = {}) # resp.work_group.configuration.result_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS" # resp.work_group.configuration.result_configuration.encryption_configuration.kms_key #=> String # resp.work_group.configuration.result_configuration.expected_bucket_owner #=> String + # resp.work_group.configuration.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL" # resp.work_group.configuration.enforce_work_group_configuration #=> Boolean # resp.work_group.configuration.publish_cloud_watch_metrics_enabled #=> Boolean # resp.work_group.configuration.bytes_scanned_cutoff_per_query #=> Integer @@ -1715,6 +1721,9 @@ def list_work_groups(params = {}, options = {}) # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # }, # work_group: "WorkGroupName", # }) @@ -2011,6 +2020,10 @@ def update_prepared_statement(params = {}, options = {}) # remove_encryption_configuration: false, # expected_bucket_owner: "String", # remove_expected_bucket_owner: false, + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, + # remove_acl_configuration: false, # }, # publish_cloud_watch_metrics_enabled: false, # bytes_scanned_cutoff_per_query: 1, @@ -2046,7 +2059,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-athena' - context[:gem_version] = '1.51.0' + context[:gem_version] = '1.52.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb index b85a37647a0..98dbbd5cef2 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb @@ -13,6 +13,7 @@ module ClientApi include Seahorse::Model + AclConfiguration = Shapes::StructureShape.new(name: 'AclConfiguration') AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName') AthenaError = Shapes::StructureShape.new(name: 'AthenaError') BatchGetNamedQueryInput = Shapes::StructureShape.new(name: 'BatchGetNamedQueryInput') @@ -142,6 +143,7 @@ module ClientApi ResultSetMetadata = Shapes::StructureShape.new(name: 'ResultSetMetadata') Row = Shapes::StructureShape.new(name: 'Row') RowList = Shapes::ListShape.new(name: 'RowList') + S3AclOption = Shapes::StringShape.new(name: 'S3AclOption') StartQueryExecutionInput = Shapes::StructureShape.new(name: 'StartQueryExecutionInput') StartQueryExecutionOutput = Shapes::StructureShape.new(name: 'StartQueryExecutionOutput') StatementName = Shapes::StringShape.new(name: 'StatementName') @@ -189,6 +191,9 @@ module ClientApi datumList = Shapes::ListShape.new(name: 'datumList') datumString = Shapes::StringShape.new(name: 'datumString') + AclConfiguration.add_member(:s3_acl_option, Shapes::ShapeRef.new(shape: S3AclOption, required: true, location_name: "S3AclOption")) + AclConfiguration.struct_class = Types::AclConfiguration + AthenaError.add_member(:error_category, Shapes::ShapeRef.new(shape: ErrorCategory, location_name: "ErrorCategory")) AthenaError.add_member(:error_type, Shapes::ShapeRef.new(shape: ErrorType, location_name: "ErrorType")) AthenaError.struct_class = Types::AthenaError @@ -534,6 +539,7 @@ module ClientApi ResultConfiguration.add_member(:output_location, Shapes::ShapeRef.new(shape: String, location_name: "OutputLocation")) ResultConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "EncryptionConfiguration")) ResultConfiguration.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: String, location_name: "ExpectedBucketOwner")) + ResultConfiguration.add_member(:acl_configuration, Shapes::ShapeRef.new(shape: AclConfiguration, location_name: "AclConfiguration")) ResultConfiguration.struct_class = Types::ResultConfiguration ResultConfigurationUpdates.add_member(:output_location, Shapes::ShapeRef.new(shape: String, location_name: "OutputLocation")) @@ -542,6 +548,8 @@ module ClientApi ResultConfigurationUpdates.add_member(:remove_encryption_configuration, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "RemoveEncryptionConfiguration")) ResultConfigurationUpdates.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: String, location_name: "ExpectedBucketOwner")) ResultConfigurationUpdates.add_member(:remove_expected_bucket_owner, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "RemoveExpectedBucketOwner")) + ResultConfigurationUpdates.add_member(:acl_configuration, Shapes::ShapeRef.new(shape: AclConfiguration, location_name: "AclConfiguration")) + ResultConfigurationUpdates.add_member(:remove_acl_configuration, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "RemoveAclConfiguration")) ResultConfigurationUpdates.struct_class = Types::ResultConfigurationUpdates ResultSet.add_member(:rows, Shapes::ShapeRef.new(shape: RowList, location_name: "Rows")) diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena/types.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena/types.rb index 4dd987353a0..ee81aa1fb39 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena/types.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena/types.rb @@ -10,6 +10,45 @@ module Aws::Athena module Types + # Indicates that an Amazon S3 canned ACL should be set to control + # ownership of stored query results. When Athena stores query results in + # Amazon S3, the canned ACL is set with the `x-amz-acl` request header. + # For more information about S3 Object Ownership, see [Object Ownership + # settings][1] in the *Amazon S3 User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview + # + # @note When making an API call, you may pass AclConfiguration + # data as a hash: + # + # { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # } + # + # @!attribute [rw] s3_acl_option + # The Amazon S3 canned ACL that Athena should specify when storing + # query results. Currently the only supported canned ACL is + # `BUCKET_OWNER_FULL_CONTROL`. If a query runs in a workgroup and the + # workgroup overrides client-side settings, then the Amazon S3 canned + # ACL specified in the workgroup's settings is used for all queries + # that run in the workgroup. For more information about Amazon S3 + # canned ACLs, see [Canned ACL][1] in the *Amazon S3 User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/AclConfiguration AWS API Documentation + # + class AclConfiguration < Struct.new( + :s3_acl_option) + SENSITIVE = [] + include Aws::Structure + end + # Provides information about an Athena query error. The `AthenaError` # feature provides standardized error information to help you understand # failed queries and take steps after a query failure occurs. @@ -434,6 +473,9 @@ class CreatePreparedStatementOutput < Aws::EmptyStructure; end # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # }, # enforce_work_group_configuration: false, # publish_cloud_watch_metrics_enabled: false, @@ -1973,6 +2015,9 @@ class ResourceNotFoundException < Struct.new( # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # } # # @!attribute [rw] output_location @@ -2028,12 +2073,29 @@ class ResourceNotFoundException < Struct.new( # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html # @return [String] # + # @!attribute [rw] acl_configuration + # Indicates that an Amazon S3 canned ACL should be set to control + # ownership of stored query results. Currently the only supported + # canned ACL is `BUCKET_OWNER_FULL_CONTROL`. This is a client-side + # setting. If workgroup settings override client-side settings, then + # the query uses the ACL configuration that is specified for the + # workgroup, and also uses the location for storing query results + # specified in the workgroup. For more information, see + # WorkGroupConfiguration$EnforceWorkGroupConfiguration and [Workgroup + # Settings Override Client-Side Settings][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html + # @return [Types::AclConfiguration] + # # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfiguration AWS API Documentation # class ResultConfiguration < Struct.new( :output_location, :encryption_configuration, - :expected_bucket_owner) + :expected_bucket_owner, + :acl_configuration) SENSITIVE = [] include Aws::Structure end @@ -2054,6 +2116,10 @@ class ResultConfiguration < Struct.new( # remove_encryption_configuration: false, # expected_bucket_owner: "String", # remove_expected_bucket_owner: false, + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, + # remove_acl_configuration: false, # } # # @!attribute [rw] output_location @@ -2143,6 +2209,24 @@ class ResultConfiguration < Struct.new( # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html # @return [Boolean] # + # @!attribute [rw] acl_configuration + # The ACL configuration for the query results. + # @return [Types::AclConfiguration] + # + # @!attribute [rw] remove_acl_configuration + # If set to `true`, indicates that the previously-specified ACL + # configuration for queries in this workgroup should be ignored and + # set to null. If set to `false` or not set, and a value is present in + # the `AclConfiguration` of `ResultConfigurationUpdates`, the + # `AclConfiguration` in the workgroup's `ResultConfiguration` is + # updated with the new value. For more information, see [Workgroup + # Settings Override Client-Side Settings][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfigurationUpdates AWS API Documentation # class ResultConfigurationUpdates < Struct.new( @@ -2151,7 +2235,9 @@ class ResultConfigurationUpdates < Struct.new( :encryption_configuration, :remove_encryption_configuration, :expected_bucket_owner, - :remove_expected_bucket_owner) + :remove_expected_bucket_owner, + :acl_configuration, + :remove_acl_configuration) SENSITIVE = [] include Aws::Structure end @@ -2225,6 +2311,9 @@ class Row < Struct.new( # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # }, # work_group: "WorkGroupName", # } @@ -2720,6 +2809,10 @@ class UpdatePreparedStatementOutput < Aws::EmptyStructure; end # remove_encryption_configuration: false, # expected_bucket_owner: "String", # remove_expected_bucket_owner: false, + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, + # remove_acl_configuration: false, # }, # publish_cloud_watch_metrics_enabled: false, # bytes_scanned_cutoff_per_query: 1, @@ -2839,6 +2932,9 @@ class WorkGroup < Struct.new( # kms_key: "String", # }, # expected_bucket_owner: "String", + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, # }, # enforce_work_group_configuration: false, # publish_cloud_watch_metrics_enabled: false, @@ -2942,6 +3038,10 @@ class WorkGroupConfiguration < Struct.new( # remove_encryption_configuration: false, # expected_bucket_owner: "String", # remove_expected_bucket_owner: false, + # acl_configuration: { + # s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL + # }, + # remove_acl_configuration: false, # }, # publish_cloud_watch_metrics_enabled: false, # bytes_scanned_cutoff_per_query: 1, diff --git a/gems/aws-sdk-cloudtrail/CHANGELOG.md b/gems/aws-sdk-cloudtrail/CHANGELOG.md index 1599f5260c0..d7aa61474e4 100644 --- a/gems/aws-sdk-cloudtrail/CHANGELOG.md +++ b/gems/aws-sdk-cloudtrail/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.48.0 (2022-03-02) +------------------ + +* Feature - Add bytesScanned field into responses of DescribeQuery and GetQueryResults. + 1.47.0 (2022-02-24) ------------------ diff --git a/gems/aws-sdk-cloudtrail/VERSION b/gems/aws-sdk-cloudtrail/VERSION index 21998d3c2d9..9db5ea12f52 100644 --- a/gems/aws-sdk-cloudtrail/VERSION +++ b/gems/aws-sdk-cloudtrail/VERSION @@ -1 +1 @@ -1.47.0 +1.48.0 diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb index 6f88ad5bcfa..dabfdb094f1 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb @@ -48,6 +48,6 @@ # @!group service module Aws::CloudTrail - GEM_VERSION = '1.47.0' + GEM_VERSION = '1.48.0' end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb index ff98bbbc8f5..594f5b2066a 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb @@ -403,10 +403,10 @@ def add_tags(params = {}, options = {}) end # Cancels a query if the query is not in a terminated state, such as - # `CANCELLED`, `FAILED` or `FINISHED`. You must specify an ARN value for - # `EventDataStore`. The ID of the query that you want to cancel is also - # required. When you run `CancelQuery`, the query status might show as - # `CANCELLED` even if the operation is not yet finished. + # `CANCELLED`, `FAILED`, `TIMED_OUT`, or `FINISHED`. You must specify an + # ARN value for `EventDataStore`. The ID of the query that you want to + # cancel is also required. When you run `CancelQuery`, the query status + # might show as `CANCELLED` even if the operation is not yet finished. # # @option params [required, String] :event_data_store # The ARN (or the ID suffix of the ARN) of an event data store on which @@ -431,7 +431,7 @@ def add_tags(params = {}, options = {}) # @example Response structure # # resp.query_id #=> String - # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED" + # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED", "TIMED_OUT" # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CancelQuery AWS API Documentation # @@ -831,9 +831,10 @@ def delete_trail(params = {}, options = {}) # # resp.query_id #=> String # resp.query_string #=> String - # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED" + # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED", "TIMED_OUT" # resp.query_statistics.events_matched #=> Integer # resp.query_statistics.events_scanned #=> Integer + # resp.query_statistics.bytes_scanned #=> Integer # resp.query_statistics.execution_time_in_millis #=> Integer # resp.query_statistics.creation_time #=> Time # resp.error_message #=> String @@ -1172,9 +1173,10 @@ def get_insight_selectors(params = {}, options = {}) # # @example Response structure # - # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED" + # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED", "TIMED_OUT" # resp.query_statistics.results_count #=> Integer # resp.query_statistics.total_results_count #=> Integer + # resp.query_statistics.bytes_scanned #=> Integer # resp.query_result_rows #=> Array # resp.query_result_rows[0] #=> Array # resp.query_result_rows[0][0] #=> Hash @@ -1430,7 +1432,7 @@ def list_public_keys(params = {}, options = {}) # shorten the list of results, you can specify a time range, formatted # as timestamps, by adding `StartTime` and `EndTime` parameters, and a # `QueryStatus` value. Valid values for `QueryStatus` include `QUEUED`, - # `RUNNING`, `FINISHED`, `FAILED`, or `CANCELLED`. + # `RUNNING`, `FINISHED`, `FAILED`, `TIMED_OUT`, or `CANCELLED`. # # @option params [required, String] :event_data_store # The ARN (or the ID suffix of the ARN) of an event data store on which @@ -1453,7 +1455,7 @@ def list_public_keys(params = {}, options = {}) # @option params [String] :query_status # The status of queries that you want to return in results. Valid values # for `QueryStatus` include `QUEUED`, `RUNNING`, `FINISHED`, `FAILED`, - # or `CANCELLED`. + # `TIMED_OUT`, or `CANCELLED`. # # @return [Types::ListQueriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -1470,14 +1472,14 @@ def list_public_keys(params = {}, options = {}) # max_results: 1, # start_time: Time.now, # end_time: Time.now, - # query_status: "QUEUED", # accepts QUEUED, RUNNING, FINISHED, FAILED, CANCELLED + # query_status: "QUEUED", # accepts QUEUED, RUNNING, FINISHED, FAILED, CANCELLED, TIMED_OUT # }) # # @example Response structure # # resp.queries #=> Array # resp.queries[0].query_id #=> String - # resp.queries[0].query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED" + # resp.queries[0].query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED", "TIMED_OUT" # resp.queries[0].creation_time #=> Time # resp.next_token #=> String # @@ -2412,7 +2414,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-cloudtrail' - context[:gem_version] = '1.47.0' + context[:gem_version] = '1.48.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb index 218faf0ed2a..bf7557e36f0 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb @@ -639,10 +639,12 @@ module ClientApi QueryStatistics.add_member(:results_count, Shapes::ShapeRef.new(shape: Integer, location_name: "ResultsCount")) QueryStatistics.add_member(:total_results_count, Shapes::ShapeRef.new(shape: Integer, location_name: "TotalResultsCount")) + QueryStatistics.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: Long, location_name: "BytesScanned")) QueryStatistics.struct_class = Types::QueryStatistics QueryStatisticsForDescribeQuery.add_member(:events_matched, Shapes::ShapeRef.new(shape: Long, location_name: "EventsMatched")) QueryStatisticsForDescribeQuery.add_member(:events_scanned, Shapes::ShapeRef.new(shape: Long, location_name: "EventsScanned")) + QueryStatisticsForDescribeQuery.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: Long, location_name: "BytesScanned")) QueryStatisticsForDescribeQuery.add_member(:execution_time_in_millis, Shapes::ShapeRef.new(shape: Integer, location_name: "ExecutionTimeInMillis")) QueryStatisticsForDescribeQuery.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime")) QueryStatisticsForDescribeQuery.struct_class = Types::QueryStatisticsForDescribeQuery diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb index 201e368eae0..a7b1b529f01 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb @@ -1074,7 +1074,7 @@ class DescribeQueryRequest < Struct.new( # # @!attribute [rw] query_status # The status of a query. Values for `QueryStatus` include `QUEUED`, - # `RUNNING`, `FINISHED`, `FAILED`, or `CANCELLED` + # `RUNNING`, `FINISHED`, `FAILED`, `TIMED_OUT`, or `CANCELLED` # @return [String] # # @!attribute [rw] query_statistics @@ -1671,7 +1671,7 @@ class GetQueryResultsRequest < Struct.new( # @!attribute [rw] query_status # The status of the query. Values include `QUEUED`, `RUNNING`, - # `FINISHED`, `FAILED`, or `CANCELLED`. + # `FINISHED`, `FAILED`, `TIMED_OUT`, or `CANCELLED`. # @return [String] # # @!attribute [rw] query_statistics @@ -1907,7 +1907,7 @@ class GetTrailStatusResponse < Struct.new( class InactiveEventDataStoreException < Aws::EmptyStructure; end # The specified query cannot be canceled because it is in the - # `FINISHED`, `FAILED`, or `CANCELLED` state. + # `FINISHED`, `FAILED`, `TIMED_OUT`, or `CANCELLED` state. # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/InactiveQueryException AWS API Documentation # @@ -2317,7 +2317,7 @@ class ListPublicKeysResponse < Struct.new( # max_results: 1, # start_time: Time.now, # end_time: Time.now, - # query_status: "QUEUED", # accepts QUEUED, RUNNING, FINISHED, FAILED, CANCELLED + # query_status: "QUEUED", # accepts QUEUED, RUNNING, FINISHED, FAILED, CANCELLED, TIMED_OUT # } # # @!attribute [rw] event_data_store @@ -2346,7 +2346,7 @@ class ListPublicKeysResponse < Struct.new( # @!attribute [rw] query_status # The status of queries that you want to return in results. Valid # values for `QueryStatus` include `QUEUED`, `RUNNING`, `FINISHED`, - # `FAILED`, or `CANCELLED`. + # `FAILED`, `TIMED_OUT`, or `CANCELLED`. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListQueriesRequest AWS API Documentation @@ -2863,7 +2863,7 @@ class PutInsightSelectorsResponse < Struct.new( # # @!attribute [rw] query_status # The status of the query. This can be `QUEUED`, `RUNNING`, - # `FINISHED`, `FAILED`, or `CANCELLED`. + # `FINISHED`, `FAILED`, `TIMED_OUT`, or `CANCELLED`. # @return [String] # # @!attribute [rw] creation_time @@ -2896,11 +2896,18 @@ class QueryIdNotFoundException < Aws::EmptyStructure; end # The total number of results returned by a query. # @return [Integer] # + # @!attribute [rw] bytes_scanned + # The total bytes that the query scanned in the event data store. This + # value matches the number of bytes for which your account is billed + # for the query, unless the query is still running. + # @return [Integer] + # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/QueryStatistics AWS API Documentation # class QueryStatistics < Struct.new( :results_count, - :total_results_count) + :total_results_count, + :bytes_scanned) SENSITIVE = [] include Aws::Structure end @@ -2917,6 +2924,12 @@ class QueryStatistics < Struct.new( # The number of events that the query scanned in the event data store. # @return [Integer] # + # @!attribute [rw] bytes_scanned + # The total bytes that the query scanned in the event data store. This + # value matches the number of bytes for which your account is billed + # for the query, unless the query is still running. + # @return [Integer] + # # @!attribute [rw] execution_time_in_millis # The query's run time, in milliseconds. # @return [Integer] @@ -2930,6 +2943,7 @@ class QueryStatistics < Struct.new( class QueryStatisticsForDescribeQuery < Struct.new( :events_matched, :events_scanned, + :bytes_scanned, :execution_time_in_millis, :creation_time) SENSITIVE = [] diff --git a/gems/aws-sdk-ecr/CHANGELOG.md b/gems/aws-sdk-ecr/CHANGELOG.md index 66abb9e8d5f..0d2c4e85f0b 100644 --- a/gems/aws-sdk-ecr/CHANGELOG.md +++ b/gems/aws-sdk-ecr/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.55.0 (2022-03-02) +------------------ + +* Feature - This release adds support for tracking images lastRecordedPullTime. + 1.54.0 (2022-02-24) ------------------ diff --git a/gems/aws-sdk-ecr/VERSION b/gems/aws-sdk-ecr/VERSION index b7921ae87bc..094d6ad00ce 100644 --- a/gems/aws-sdk-ecr/VERSION +++ b/gems/aws-sdk-ecr/VERSION @@ -1 +1 @@ -1.54.0 +1.55.0 diff --git a/gems/aws-sdk-ecr/lib/aws-sdk-ecr.rb b/gems/aws-sdk-ecr/lib/aws-sdk-ecr.rb index c1d32072d4a..2db050284ea 100644 --- a/gems/aws-sdk-ecr/lib/aws-sdk-ecr.rb +++ b/gems/aws-sdk-ecr/lib/aws-sdk-ecr.rb @@ -49,6 +49,6 @@ # @!group service module Aws::ECR - GEM_VERSION = '1.54.0' + GEM_VERSION = '1.55.0' end diff --git a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client.rb b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client.rb index 9f5549d3655..50e3d863b14 100644 --- a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client.rb +++ b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client.rb @@ -1379,6 +1379,7 @@ def describe_image_scan_findings(params = {}, options = {}) # resp.image_details[0].image_scan_findings_summary.finding_severity_counts["FindingSeverity"] #=> Integer # resp.image_details[0].image_manifest_media_type #=> String # resp.image_details[0].artifact_media_type #=> String + # resp.image_details[0].last_recorded_pull_time #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages AWS API Documentation @@ -2193,6 +2194,10 @@ def put_image(params = {}, options = {}) req.send_request(options) end + # The `PutImageScanningConfiguration` API is being deprecated, in favor + # of specifying the image scanning configuration at the registry level. + # For more information, see PutRegistryScanningConfiguration. + # # Updates the image scanning configuration for the specified repository. # # @option params [String] :registry_id @@ -2393,13 +2398,17 @@ def put_registry_policy(params = {}, options = {}) # @option params [String] :scan_type # The scanning type to set for the registry. # - # By default, the `BASIC` scan type is used. When basic scanning is set, - # you may specify filters to determine which individual repositories, or - # all repositories, are scanned when new images are pushed. - # Alternatively, you can do manual scans of images with basic scanning. + # When a registry scanning configuration is not defined, by default the + # `BASIC` scan type is used. When basic scanning is used, you may + # specify filters to determine which individual repositories, or all + # repositories, are scanned when new images are pushed to those + # repositories. Alternatively, you can do manual scans of images with + # basic scanning. # # When the `ENHANCED` scan type is set, Amazon Inspector provides - # automated, continuous scanning of all repositories in your registry. + # automated vulnerability scanning. You may choose between continuous + # scanning or scan on push and you may specify filters to determine + # which individual repositories, or all repositories, are scanned. # # @option params [Array] :rules # The scanning rules to use for the registry. A scanning rule is used to @@ -2826,7 +2835,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-ecr' - context[:gem_version] = '1.54.0' + context[:gem_version] = '1.55.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client_api.rb b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client_api.rb index 1dd8b785d84..9d87be7de15 100644 --- a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client_api.rb +++ b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/client_api.rb @@ -209,6 +209,7 @@ module ClientApi Reason = Shapes::StringShape.new(name: 'Reason') Recommendation = Shapes::StructureShape.new(name: 'Recommendation') RecommendationText = Shapes::StringShape.new(name: 'RecommendationText') + RecordedPullTimestamp = Shapes::TimestampShape.new(name: 'RecordedPullTimestamp') ReferenceUrlsList = Shapes::ListShape.new(name: 'ReferenceUrlsList') ReferencedImagesNotFoundException = Shapes::StructureShape.new(name: 'ReferencedImagesNotFoundException') Region = Shapes::StringShape.new(name: 'Region') @@ -646,6 +647,7 @@ module ClientApi ImageDetail.add_member(:image_scan_findings_summary, Shapes::ShapeRef.new(shape: ImageScanFindingsSummary, location_name: "imageScanFindingsSummary")) ImageDetail.add_member(:image_manifest_media_type, Shapes::ShapeRef.new(shape: MediaType, location_name: "imageManifestMediaType")) ImageDetail.add_member(:artifact_media_type, Shapes::ShapeRef.new(shape: MediaType, location_name: "artifactMediaType")) + ImageDetail.add_member(:last_recorded_pull_time, Shapes::ShapeRef.new(shape: RecordedPullTimestamp, location_name: "lastRecordedPullTime")) ImageDetail.struct_class = Types::ImageDetail ImageDetailList.member = Shapes::ShapeRef.new(shape: ImageDetail) diff --git a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/types.rb b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/types.rb index a58749467fc..f01a09ad9e1 100644 --- a/gems/aws-sdk-ecr/lib/aws-sdk-ecr/types.rb +++ b/gems/aws-sdk-ecr/lib/aws-sdk-ecr/types.rb @@ -1954,6 +1954,21 @@ class ImageAlreadyExistsException < Struct.new( # The artifact media type of the image. # @return [String] # + # @!attribute [rw] last_recorded_pull_time + # The date and time, expressed in standard JavaScript date format, + # when Amazon ECR recorded the last image pull. + # + # Amazon ECR refreshes the last image pull timestamp at least once + # every 24 hours. For example, if you pull an image once a day then + # the `lastRecordedPullTime` timestamp will indicate the exact time + # that the image was last pulled. However, if you pull an image once + # an hour, because Amazon ECR refreshes the `lastRecordedPullTime` + # timestamp at least once every 24 hours, the result may not be the + # exact time that the image was last pulled. + # + # + # @return [Time] + # # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageDetail AWS API Documentation # class ImageDetail < Struct.new( @@ -1966,7 +1981,8 @@ class ImageDetail < Struct.new( :image_scan_status, :image_scan_findings_summary, :image_manifest_media_type, - :artifact_media_type) + :artifact_media_type, + :last_recorded_pull_time) SENSITIVE = [] include Aws::Structure end @@ -3208,14 +3224,17 @@ class PutRegistryPolicyResponse < Struct.new( # @!attribute [rw] scan_type # The scanning type to set for the registry. # - # By default, the `BASIC` scan type is used. When basic scanning is - # set, you may specify filters to determine which individual - # repositories, or all repositories, are scanned when new images are - # pushed. Alternatively, you can do manual scans of images with basic - # scanning. + # When a registry scanning configuration is not defined, by default + # the `BASIC` scan type is used. When basic scanning is used, you may + # specify filters to determine which individual repositories, or all + # repositories, are scanned when new images are pushed to those + # repositories. Alternatively, you can do manual scans of images with + # basic scanning. # # When the `ENHANCED` scan type is set, Amazon Inspector provides - # automated, continuous scanning of all repositories in your registry. + # automated vulnerability scanning. You may choose between continuous + # scanning or scan on push and you may specify filters to determine + # which individual repositories, or all repositories, are scanned. # @return [String] # # @!attribute [rw] rules @@ -3375,6 +3394,10 @@ class RegistryScanningConfiguration < Struct.new( # # @!attribute [rw] scan_frequency # The frequency that scans are performed at for a private registry. + # When the `ENHANCED` scan type is specified, the supported scan + # frequencies are `CONTINUOUS_SCAN` and `SCAN_ON_PUSH`. When the + # `BASIC` scan type is specified, the `SCAN_ON_PUSH` and `MANUAL` scan + # frequencies are supported. # @return [String] # # @!attribute [rw] repository_filters @@ -4038,10 +4061,10 @@ class StartLifecyclePolicyPreviewResponse < Struct.new( include Aws::Structure end - # The metadata that you apply to a resource to help you categorize and - # organize them. Each tag consists of a key and an optional value, both - # of which you define. Tag keys can have a maximum character length of - # 128 characters, and tag values can have a maximum length of 256 + # The metadata to apply to a resource to help you categorize and + # organize them. Each tag consists of a key and a value, both of which + # you define. Tag keys can have a maximum character length of 128 + # characters, and tag values can have a maximum length of 256 # characters. # # @note When making an API call, you may pass Tag @@ -4059,8 +4082,7 @@ class StartLifecyclePolicyPreviewResponse < Struct.new( # @return [String] # # @!attribute [rw] value - # The optional part of a key-value pair that make up a tag. A `value` - # acts as a descriptor within a tag category (key). + # A `value` acts as a descriptor within a tag category (key). # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Tag AWS API Documentation diff --git a/gems/aws-sdk-gamelift/CHANGELOG.md b/gems/aws-sdk-gamelift/CHANGELOG.md index c4607d3a7c8..0cbabd37517 100644 --- a/gems/aws-sdk-gamelift/CHANGELOG.md +++ b/gems/aws-sdk-gamelift/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.56.0 (2022-03-02) +------------------ + +* Feature - Minor updates to address errors. + 1.55.0 (2022-02-24) ------------------ diff --git a/gems/aws-sdk-gamelift/VERSION b/gems/aws-sdk-gamelift/VERSION index 094d6ad00ce..3ebf789f5a8 100644 --- a/gems/aws-sdk-gamelift/VERSION +++ b/gems/aws-sdk-gamelift/VERSION @@ -1 +1 @@ -1.55.0 +1.56.0 diff --git a/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift.rb b/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift.rb index ec3cae5e01f..ed000b3c767 100644 --- a/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift.rb +++ b/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift.rb @@ -48,6 +48,6 @@ # @!group service module Aws::GameLift - GEM_VERSION = '1.55.0' + GEM_VERSION = '1.56.0' end diff --git a/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift/client.rb b/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift/client.rb index 9c047d47842..be6eea4cd3b 100644 --- a/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift/client.rb +++ b/gems/aws-sdk-gamelift/lib/aws-sdk-gamelift/client.rb @@ -3437,8 +3437,8 @@ def describe_build(params = {}, options = {}) req.send_request(options) end - # The GameLift service limits and current utilization for an Amazon Web - # Services Region or location. Instance limits control the number of + # Retrieves the instance limits and current utilization for an Amazon + # Web Services Region or location. Instance limits control the number of # instances, per instance type, per location, that your Amazon Web # Services account can use. Learn more at [Amazon EC2 Instance # Types][1]. The information returned includes the maximum number of @@ -5075,7 +5075,7 @@ def describe_instances(params = {}, options = {}) # API limit, which results in errors. Instead, as a best practice, set # up an Amazon Simple Notification Service to receive notifications, and # provide the topic ARN in the matchmaking configuration. Continuously - # poling ticket status with DescribeMatchmaking should only be used for + # polling ticket status with DescribeMatchmaking should only be used for # games in development with low matchmaking usage. # # @@ -9495,7 +9495,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-gamelift' - context[:gem_version] = '1.55.0' + context[:gem_version] = '1.56.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-keyspaces/CHANGELOG.md b/gems/aws-sdk-keyspaces/CHANGELOG.md new file mode 100644 index 00000000000..ff193a2c1d7 --- /dev/null +++ b/gems/aws-sdk-keyspaces/CHANGELOG.md @@ -0,0 +1,8 @@ +Unreleased Changes +------------------ + +1.0.0 (2022-03-02) +------------------ + +* Feature - Initial release of `aws-sdk-keyspaces`. + diff --git a/gems/aws-sdk-keyspaces/LICENSE.txt b/gems/aws-sdk-keyspaces/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/gems/aws-sdk-keyspaces/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License 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. diff --git a/gems/aws-sdk-keyspaces/VERSION b/gems/aws-sdk-keyspaces/VERSION new file mode 100644 index 00000000000..3eefcb9dd5b --- /dev/null +++ b/gems/aws-sdk-keyspaces/VERSION @@ -0,0 +1 @@ +1.0.0 diff --git a/gems/aws-sdk-keyspaces/aws-sdk-keyspaces.gemspec b/gems/aws-sdk-keyspaces/aws-sdk-keyspaces.gemspec new file mode 100644 index 00000000000..74e27fcad02 --- /dev/null +++ b/gems/aws-sdk-keyspaces/aws-sdk-keyspaces.gemspec @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Gem::Specification.new do |spec| + + spec.name = 'aws-sdk-keyspaces' + spec.version = File.read(File.expand_path('../VERSION', __FILE__)).strip + spec.summary = 'AWS SDK for Ruby - Amazon Keyspaces' + spec.description = 'Official AWS Ruby gem for Amazon Keyspaces. This gem is part of the AWS SDK for Ruby.' + spec.author = 'Amazon Web Services' + spec.homepage = 'https://github.com/aws/aws-sdk-ruby' + spec.license = 'Apache-2.0' + spec.email = ['aws-dr-rubygems@amazon.com'] + spec.require_paths = ['lib'] + spec.files = Dir['LICENSE.txt', 'CHANGELOG.md', 'VERSION', 'lib/**/*.rb'] + + spec.metadata = { + 'source_code_uri' => 'https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-keyspaces', + 'changelog_uri' => 'https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-keyspaces/CHANGELOG.md' + } + + spec.add_dependency('aws-sdk-core', '~> 3', '>= 3.127.0') + spec.add_dependency('aws-sigv4', '~> 1.1') + + spec.required_ruby_version = '>= 2.3' +end diff --git a/gems/aws-sdk-keyspaces/features/env.rb b/gems/aws-sdk-keyspaces/features/env.rb new file mode 100644 index 00000000000..862d3af01a2 --- /dev/null +++ b/gems/aws-sdk-keyspaces/features/env.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +$:.unshift(File.expand_path('../../lib', __FILE__)) +$:.unshift(File.expand_path('../../../aws-sdk-core/features', __FILE__)) +$:.unshift(File.expand_path('../../../aws-sdk-core/lib', __FILE__)) +$:.unshift(File.expand_path('../../../aws-sigv4/lib', __FILE__)) + +require 'features_helper' +require 'aws-sdk-keyspaces' + +Aws::Keyspaces::Client.add_plugin(ApiCallTracker) diff --git a/gems/aws-sdk-keyspaces/features/smoke.feature b/gems/aws-sdk-keyspaces/features/smoke.feature new file mode 100644 index 00000000000..2799ac709cc --- /dev/null +++ b/gems/aws-sdk-keyspaces/features/smoke.feature @@ -0,0 +1,11 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Keyspaces + +Background: + Given I create a client in region 'us-west-2' diff --git a/gems/aws-sdk-keyspaces/features/smoke_step_definitions.rb b/gems/aws-sdk-keyspaces/features/smoke_step_definitions.rb new file mode 100644 index 00000000000..a78e0606c8d --- /dev/null +++ b/gems/aws-sdk-keyspaces/features/smoke_step_definitions.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +# Shared Smoke Test Definitions +Given(/I create a client in region '(.*?)'/) do |region| + @regional_client = Aws::Keyspaces::Client.new(region: region) +end + +Given(/I create a client with endpoint '(.*?)'/) do |endpoint| + @regional_client = Aws::Keyspaces::Client.new(endpoint: endpoint) +end + +When(/I call the operation '(.*?)' with params:/) do |operation, params| + opts = JSON.parse(params, symbolize_names: true) + begin + @regional_client.send(operation.to_sym, opts) + @operation_raised_error = false + rescue StandardError + @operation_raised_error = true + end +end + +Then(/I expect an error was raised/) do + expect(@operation_raised_error).to be_truthy +end + +Then(/I expect an error was not raised/) do + expect(@operation_raised_error).not_to be_truthy +end diff --git a/gems/aws-sdk-keyspaces/features/step_definitions.rb b/gems/aws-sdk-keyspaces/features/step_definitions.rb new file mode 100644 index 00000000000..3025c082fdb --- /dev/null +++ b/gems/aws-sdk-keyspaces/features/step_definitions.rb @@ -0,0 +1,8 @@ +Before("@keyspaces") do + @service = Aws::Keyspaces::Resource.new + @client = @service.client +end + +After("@keyspaces") do + # shared cleanup logic +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces.rb new file mode 100644 index 00000000000..1b96908a9a6 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + + +require 'aws-sdk-core' +require 'aws-sigv4' + +require_relative 'aws-sdk-keyspaces/types' +require_relative 'aws-sdk-keyspaces/client_api' +require_relative 'aws-sdk-keyspaces/client' +require_relative 'aws-sdk-keyspaces/errors' +require_relative 'aws-sdk-keyspaces/waiters' +require_relative 'aws-sdk-keyspaces/resource' +require_relative 'aws-sdk-keyspaces/customizations' + +# This module provides support for Amazon Keyspaces. This module is available in the +# `aws-sdk-keyspaces` gem. +# +# # Client +# +# The {Client} class provides one method for each API operation. Operation +# methods each accept a hash of request parameters and return a response +# structure. +# +# keyspaces = Aws::Keyspaces::Client.new +# resp = keyspaces.create_keyspace(params) +# +# See {Client} for more information. +# +# # Errors +# +# Errors returned from Amazon Keyspaces are defined in the +# {Errors} module and all extend {Errors::ServiceError}. +# +# begin +# # do stuff +# rescue Aws::Keyspaces::Errors::ServiceError +# # rescues all Amazon Keyspaces API errors +# end +# +# See {Errors} for more information. +# +# @!group service +module Aws::Keyspaces + + GEM_VERSION = '1.0.0' + +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client.rb new file mode 100644 index 00000000000..4cc73489448 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client.rb @@ -0,0 +1,1314 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +require 'seahorse/client/plugins/content_length.rb' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/endpoint_discovery.rb' +require 'aws-sdk-core/plugins/endpoint_pattern.rb' +require 'aws-sdk-core/plugins/response_paging.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/client_metrics_plugin.rb' +require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb' +require 'aws-sdk-core/plugins/transfer_encoding.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/signature_v4.rb' +require 'aws-sdk-core/plugins/protocols/json_rpc.rb' + +Aws::Plugins::GlobalConfiguration.add_identifier(:keyspaces) + +module Aws::Keyspaces + # 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 Client < Seahorse::Client::Base + + include Aws::ClientStubs + + @identifier = :keyspaces + + set_api(ClientApi::API) + + add_plugin(Seahorse::Client::Plugins::ContentLength) + add_plugin(Aws::Plugins::CredentialsConfiguration) + add_plugin(Aws::Plugins::Logging) + add_plugin(Aws::Plugins::ParamConverter) + add_plugin(Aws::Plugins::ParamValidator) + add_plugin(Aws::Plugins::UserAgent) + add_plugin(Aws::Plugins::HelpfulSocketErrors) + add_plugin(Aws::Plugins::RetryErrors) + add_plugin(Aws::Plugins::GlobalConfiguration) + add_plugin(Aws::Plugins::RegionalEndpoint) + add_plugin(Aws::Plugins::EndpointDiscovery) + add_plugin(Aws::Plugins::EndpointPattern) + add_plugin(Aws::Plugins::ResponsePaging) + add_plugin(Aws::Plugins::StubResponses) + add_plugin(Aws::Plugins::IdempotencyToken) + add_plugin(Aws::Plugins::JsonvalueConverter) + add_plugin(Aws::Plugins::ClientMetricsPlugin) + add_plugin(Aws::Plugins::ClientMetricsSendPlugin) + add_plugin(Aws::Plugins::TransferEncoding) + add_plugin(Aws::Plugins::HttpChecksum) + add_plugin(Aws::Plugins::ChecksumAlgorithm) + add_plugin(Aws::Plugins::DefaultsMode) + add_plugin(Aws::Plugins::RecursionDetection) + add_plugin(Aws::Plugins::SignatureV4) + add_plugin(Aws::Plugins::Protocols::JsonRpc) + + # @overload initialize(options) + # @param [Hash] options + # @option options [required, Aws::CredentialProvider] :credentials + # Your AWS credentials. This can be an instance of any one of the + # following classes: + # + # * `Aws::Credentials` - Used for configuring static, non-refreshing + # credentials. + # + # * `Aws::SharedCredentials` - Used for loading static credentials from a + # shared file, such as `~/.aws/config`. + # + # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role. + # + # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to + # assume a role after providing credentials via the web. + # + # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an + # access token generated from `aws login`. + # + # * `Aws::ProcessCredentials` - Used for loading credentials from a + # process that outputs to stdout. + # + # * `Aws::InstanceProfileCredentials` - Used for loading credentials + # from an EC2 IMDS on an EC2 instance. + # + # * `Aws::ECSCredentials` - Used for loading credentials from + # instances running in ECS. + # + # * `Aws::CognitoIdentityCredentials` - Used for loading credentials + # from the Cognito Identity service. + # + # When `:credentials` are not configured directly, the following + # locations will be searched for credentials: + # + # * `Aws.config[:credentials]` + # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options. + # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'] + # * `~/.aws/credentials` + # * `~/.aws/config` + # * EC2/ECS IMDS instance profile - When used by default, the timeouts + # are very aggressive. Construct and pass an instance of + # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to + # enable retries and extended timeouts. Instance profile credential + # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] + # to true. + # + # @option options [required, String] :region + # The AWS region to connect to. The configured `:region` is + # used to determine the service `:endpoint`. When not passed, + # a default `:region` is searched for in the following locations: + # + # * `Aws.config[:region]` + # * `ENV['AWS_REGION']` + # * `ENV['AMAZON_REGION']` + # * `ENV['AWS_DEFAULT_REGION']` + # * `~/.aws/credentials` + # * `~/.aws/config` + # + # @option options [String] :access_key_id + # + # @option options [Boolean] :active_endpoint_cache (false) + # When set to `true`, a thread polling for endpoints will be running in + # the background every 60 secs (default). Defaults to `false`. + # + # @option options [Boolean] :adaptive_retry_wait_to_fill (true) + # Used only in `adaptive` retry mode. When true, the request will sleep + # until there is sufficent client side capacity to retry the request. + # When false, the request will raise a `RetryCapacityNotAvailableError` and will + # not retry instead of sleeping. + # + # @option options [Boolean] :client_side_monitoring (false) + # When `true`, client-side metrics will be collected for all API requests from + # this client. + # + # @option options [String] :client_side_monitoring_client_id ("") + # Allows you to provide an identifier for this client which will be attached to + # all generated client side metrics. Defaults to an empty string. + # + # @option options [String] :client_side_monitoring_host ("127.0.0.1") + # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client + # side monitoring agent is running on, where client metrics will be published via UDP. + # + # @option options [Integer] :client_side_monitoring_port (31000) + # Required for publishing client metrics. The port that the client side monitoring + # agent is running on, where client metrics will be published via UDP. + # + # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) + # Allows you to provide a custom client-side monitoring publisher class. By default, + # will use the Client Side Monitoring Agent Publisher. + # + # @option options [Boolean] :convert_params (true) + # When `true`, an attempt is made to coerce request parameters into + # the required types. + # + # @option options [Boolean] :correct_clock_skew (true) + # Used only in `standard` and adaptive retry modes. Specifies whether to apply + # a clock skew correction and retry requests with skewed client clocks. + # + # @option options [String] :defaults_mode ("legacy") + # See {Aws::DefaultsModeConfiguration} for a list of the + # accepted modes and the configuration defaults that are included. + # + # @option options [Boolean] :disable_host_prefix_injection (false) + # Set to true to disable SDK automatically adding host prefix + # to default service endpoint when available. + # + # @option options [String] :endpoint + # The client endpoint is normally constructed from the `:region` + # option. You should only configure an `:endpoint` when connecting + # to test or custom endpoints. This should be a valid HTTP(S) URI. + # + # @option options [Integer] :endpoint_cache_max_entries (1000) + # Used for the maximum size limit of the LRU cache storing endpoints data + # for endpoint discovery enabled operations. Defaults to 1000. + # + # @option options [Integer] :endpoint_cache_max_threads (10) + # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. + # + # @option options [Integer] :endpoint_cache_poll_interval (60) + # When :endpoint_discovery and :active_endpoint_cache is enabled, + # Use this option to config the time interval in seconds for making + # requests fetching endpoints information. Defaults to 60 sec. + # + # @option options [Boolean] :endpoint_discovery (false) + # When set to `true`, endpoint discovery will be enabled for operations when available. + # + # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) + # The log formatter. + # + # @option options [Symbol] :log_level (:info) + # The log level to send messages to the `:logger` at. + # + # @option options [Logger] :logger + # The Logger instance to send log messages to. If this option + # is not set, logging will be disabled. + # + # @option options [Integer] :max_attempts (3) + # An integer representing the maximum number attempts that will be made for + # a single request, including the initial attempt. For example, + # setting this value to 5 will result in a request being retried up to + # 4 times. Used in `standard` and `adaptive` retry modes. + # + # @option options [String] :profile ("default") + # Used when loading credentials from the shared credentials file + # at HOME/.aws/credentials. When not specified, 'default' is used. + # + # @option options [Proc] :retry_backoff + # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. + # This option is only used in the `legacy` retry mode. + # + # @option options [Float] :retry_base_delay (0.3) + # The base delay in seconds used by the default backoff function. This option + # is only used in the `legacy` retry mode. + # + # @option options [Symbol] :retry_jitter (:none) + # A delay randomiser function used by the default backoff function. + # Some predefined functions can be referenced by name - :none, :equal, :full, + # otherwise a Proc that takes and returns a number. This option is only used + # in the `legacy` retry mode. + # + # @see https://www.awsarchitectureblog.com/2015/03/backoff.html + # + # @option options [Integer] :retry_limit (3) + # The maximum number of times to retry failed requests. Only + # ~ 500 level server errors and certain ~ 400 level client errors + # are retried. Generally, these are throttling errors, data + # checksum errors, networking errors, timeout errors, auth errors, + # endpoint discovery, and errors from expired credentials. + # This option is only used in the `legacy` retry mode. + # + # @option options [Integer] :retry_max_delay (0) + # The maximum number of seconds to delay between retries (0 for no limit) + # used by the default backoff function. This option is only used in the + # `legacy` retry mode. + # + # @option options [String] :retry_mode ("legacy") + # Specifies which retry algorithm to use. Values are: + # + # * `legacy` - The pre-existing retry behavior. This is default value if + # no retry mode is provided. + # + # * `standard` - A standardized set of retry rules across the AWS SDKs. + # This includes support for retry quotas, which limit the number of + # unsuccessful retries a client can make. + # + # * `adaptive` - An experimental retry mode that includes all the + # functionality of `standard` mode along with automatic client side + # throttling. This is a provisional mode that may change behavior + # in the future. + # + # + # @option options [String] :secret_access_key + # + # @option options [String] :session_token + # + # @option options [Boolean] :simple_json (false) + # Disables request parameter conversion, validation, and formatting. + # Also disable response data type conversions. This option is useful + # when you want to ensure the highest level of performance by + # avoiding overhead of walking request parameters and response data + # structures. + # + # When `:simple_json` is enabled, the request parameters hash must + # be formatted exactly as the DynamoDB API expects. + # + # @option options [Boolean] :stub_responses (false) + # Causes the client to return stubbed responses. By default + # fake responses are generated and returned. You can specify + # the response data to return or errors to raise by calling + # {ClientStubs#stub_responses}. See {ClientStubs} for more information. + # + # ** Please note ** When response stubbing is enabled, no HTTP + # requests are made, and retries are disabled. + # + # @option options [Boolean] :use_dualstack_endpoint + # When set to `true`, dualstack enabled endpoints (with `.aws` TLD) + # will be used if available. + # + # @option options [Boolean] :use_fips_endpoint + # When set to `true`, fips compatible endpoints will be used if available. + # When a `fips` region is used, the region is normalized and this config + # is set to `true`. + # + # @option options [Boolean] :validate_params (true) + # When `true`, request parameters are validated before + # sending the request. + # + # @option options [URI::HTTP,String] :http_proxy A proxy to send + # requests through. Formatted like 'http://proxy.com:123'. + # + # @option options [Float] :http_open_timeout (15) The number of + # seconds to wait when opening a HTTP session before raising a + # `Timeout::Error`. + # + # @option options [Float] :http_read_timeout (60) The default + # number of seconds to wait for response data. This value can + # safely be set per-request on the session. + # + # @option options [Float] :http_idle_timeout (5) The number of + # seconds a connection is allowed to sit idle before it is + # considered stale. Stale connections are closed and removed + # from the pool before making a request. + # + # @option options [Float] :http_continue_timeout (1) The number of + # seconds to wait for a 100-continue response before sending the + # request body. This option has no effect unless the request has + # "Expect" header set to "100-continue". Defaults to `nil` which + # disables this behaviour. This value can safely be set per + # request on the session. + # + # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout + # in seconds. + # + # @option options [Boolean] :http_wire_trace (false) When `true`, + # HTTP debug output will be sent to the `:logger`. + # + # @option options [Boolean] :ssl_verify_peer (true) When `true`, + # SSL peer certificates are verified when establishing a + # connection. + # + # @option options [String] :ssl_ca_bundle Full path to the SSL + # certificate authority bundle file that should be used when + # verifying peer certificates. If you do not pass + # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default + # will be used if available. + # + # @option options [String] :ssl_ca_directory Full path of the + # directory that contains the unbundled SSL certificate + # authority files for verifying peer certificates. If you do + # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the + # system default will be used if available. + # + def initialize(*args) + super + end + + # @!group API Operations + + # 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][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-keyspaces.html#keyspaces-create + # + # @option params [required, String] :keyspace_name + # The name of the keyspace to be created. + # + # @option params [Array] :tags + # A list of key-value pair tags to be attached to the keyspace. + # + # For more information, see [Adding tags and labels to Amazon Keyspaces + # resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # + # @return [Types::CreateKeyspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreateKeyspaceResponse#resource_arn #resource_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.create_keyspace({ + # keyspace_name: "KeyspaceName", # required + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @example Response structure + # + # resp.resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspace AWS API Documentation + # + # @overload create_keyspace(params = {}) + # @param [Hash] params ({}) + def create_keyspace(params = {}, options = {}) + req = build_request(:create_keyspace, params) + req.send_request(options) + end + + # 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][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html#tables-create + # + # @option params [required, String] :keyspace_name + # The name of the keyspace that the table is going to be created in. + # + # @option params [required, String] :table_name + # The name of the table. + # + # @option params [required, Types::SchemaDefinition] :schema_definition + # The `schemaDefinition` consists of the following parameters. + # + # For each column to be created: + # + # * name - The name of the column. + # + # * ` type ` - An Amazon Keyspaces data type. For more information, see + # [Data types][1] in the *Amazon Keyspaces Developer Guide*. + # ^ + # + #

The primary key of the table consists of the following columns:

  • partitionKeys - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.

    • name - The name of each partition key column.

  • clusteringKeys - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.

    • name - The name of the clustering column.

    • orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier.

To define a column as static use staticColumns - Static columns store values that are shared by all rows in the same partition:

  • name - The name of the column.

  • type - An Amazon Keyspaces data type.

+ # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types + # + # @option params [Types::Comment] :comment + # This parameter allows to enter a description of the table. + # + # @option params [Types::CapacitySpecification] :capacity_specification + # Specifies the read/write throughput capacity mode for the table. The + # options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode requires + # `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # + # @option params [Types::EncryptionSpecification] :encryption_specification + # Specifies how the encryption key for encryption at rest is managed for + # the table. You can choose one of the following KMS key (KMS key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is type:AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # + # @option params [Types::PointInTimeRecovery] :point_in_time_recovery + # Specifies if `pointInTimeRecovery` is enabled or disabled for the + # table. The options are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # + # @option params [Types::TimeToLive] :ttl + # Enables Time to Live custom settings for the table. The options are: + # + # * `status:enabled` + # + # * `status:disabled` + # + # The default is `status:disabled`. After `ttl` is enabled, you can't + # disable it for the table. + # + # For more information, see [Expiring data by using Amazon Keyspaces + # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html + # + # @option params [Integer] :default_time_to_live + # The default Time to Live setting in seconds for the table. + # + # For more information, see [Setting the default TTL value for a + # table][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl + # + # @option params [Array] :tags + # A list of key-value pair tags to be attached to the resource. + # + # For more information, see [Adding tags and labels to Amazon Keyspaces + # resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # + # @return [Types::CreateTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreateTableResponse#resource_arn #resource_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.create_table({ + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # schema_definition: { # required + # all_columns: [ # required + # { + # name: "GenericString", # required + # type: "GenericString", # required + # }, + # ], + # partition_keys: [ # required + # { + # name: "GenericString", # required + # }, + # ], + # clustering_keys: [ + # { + # name: "GenericString", # required + # order_by: "ASC", # required, accepts ASC, DESC + # }, + # ], + # static_columns: [ + # { + # name: "GenericString", # required + # }, + # ], + # }, + # comment: { + # message: "String", # required + # }, + # capacity_specification: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # ttl: { + # status: "ENABLED", # required, accepts ENABLED + # }, + # default_time_to_live: 1, + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @example Response structure + # + # resp.resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTable AWS API Documentation + # + # @overload create_table(params = {}) + # @param [Hash] params ({}) + def create_table(params = {}, options = {}) + req = build_request(:create_table, params) + req.send_request(options) + end + + # The `DeleteKeyspace` operation deletes a keyspace and all of its + # tables. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace to be deleted. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.delete_keyspace({ + # keyspace_name: "KeyspaceName", # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspace AWS API Documentation + # + # @overload delete_keyspace(params = {}) + # @param [Hash] params ({}) + def delete_keyspace(params = {}, options = {}) + req = build_request(:delete_keyspace, params) + req.send_request(options) + end + + # 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. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace of the to be deleted table. + # + # @option params [required, String] :table_name + # The name of the table to be deleted. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.delete_table({ + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTable AWS API Documentation + # + # @overload delete_table(params = {}) + # @param [Hash] params ({}) + def delete_table(params = {}, options = {}) + req = build_request(:delete_table, params) + req.send_request(options) + end + + # Returns the name and the Amazon Resource Name (ARN) of the specified + # table. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace. + # + # @return [Types::GetKeyspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetKeyspaceResponse#keyspace_name #keyspace_name} => String + # * {Types::GetKeyspaceResponse#resource_arn #resource_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.get_keyspace({ + # keyspace_name: "KeyspaceName", # required + # }) + # + # @example Response structure + # + # resp.keyspace_name #=> String + # resp.resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspace AWS API Documentation + # + # @overload get_keyspace(params = {}) + # @param [Hash] params ({}) + def get_keyspace(params = {}, options = {}) + req = build_request(:get_keyspace, params) + req.send_request(options) + end + + # Returns information about the table, including the table's name and + # current status, the keyspace name, configuration settings, and + # metadata. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace that the table is stored in. + # + # @option params [required, String] :table_name + # The name of the table. + # + # @return [Types::GetTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetTableResponse#keyspace_name #keyspace_name} => String + # * {Types::GetTableResponse#table_name #table_name} => String + # * {Types::GetTableResponse#resource_arn #resource_arn} => String + # * {Types::GetTableResponse#creation_timestamp #creation_timestamp} => Time + # * {Types::GetTableResponse#status #status} => String + # * {Types::GetTableResponse#schema_definition #schema_definition} => Types::SchemaDefinition + # * {Types::GetTableResponse#capacity_specification #capacity_specification} => Types::CapacitySpecificationSummary + # * {Types::GetTableResponse#encryption_specification #encryption_specification} => Types::EncryptionSpecification + # * {Types::GetTableResponse#point_in_time_recovery #point_in_time_recovery} => Types::PointInTimeRecoverySummary + # * {Types::GetTableResponse#ttl #ttl} => Types::TimeToLive + # * {Types::GetTableResponse#default_time_to_live #default_time_to_live} => Integer + # * {Types::GetTableResponse#comment #comment} => Types::Comment + # + # @example Request syntax with placeholder values + # + # resp = client.get_table({ + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # }) + # + # @example Response structure + # + # resp.keyspace_name #=> String + # resp.table_name #=> String + # resp.resource_arn #=> String + # resp.creation_timestamp #=> Time + # resp.status #=> String, one of "ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "RESTORING", "INACCESSIBLE_ENCRYPTION_CREDENTIALS" + # resp.schema_definition.all_columns #=> Array + # resp.schema_definition.all_columns[0].name #=> String + # resp.schema_definition.all_columns[0].type #=> String + # resp.schema_definition.partition_keys #=> Array + # resp.schema_definition.partition_keys[0].name #=> String + # resp.schema_definition.clustering_keys #=> Array + # resp.schema_definition.clustering_keys[0].name #=> String + # resp.schema_definition.clustering_keys[0].order_by #=> String, one of "ASC", "DESC" + # resp.schema_definition.static_columns #=> Array + # resp.schema_definition.static_columns[0].name #=> String + # resp.capacity_specification.throughput_mode #=> String, one of "PAY_PER_REQUEST", "PROVISIONED" + # resp.capacity_specification.read_capacity_units #=> Integer + # resp.capacity_specification.write_capacity_units #=> Integer + # resp.capacity_specification.last_update_to_pay_per_request_timestamp #=> Time + # resp.encryption_specification.type #=> String, one of "CUSTOMER_MANAGED_KMS_KEY", "AWS_OWNED_KMS_KEY" + # resp.encryption_specification.kms_key_identifier #=> String + # resp.point_in_time_recovery.status #=> String, one of "ENABLED", "DISABLED" + # resp.point_in_time_recovery.earliest_restorable_timestamp #=> Time + # resp.ttl.status #=> String, one of "ENABLED" + # resp.default_time_to_live #=> Integer + # resp.comment.message #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTable AWS API Documentation + # + # @overload get_table(params = {}) + # @param [Hash] params ({}) + def get_table(params = {}, options = {}) + req = build_request(:get_table, params) + req.send_request(options) + end + + # Returns a list of keyspaces. + # + # @option params [String] :next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as argument of a subsequent API invocation. + # + # @option params [Integer] :max_results + # The total number of keyspaces to return in the output. If the total + # number of keyspaces available is more than the value specified, a + # `NextToken` is provided in the output. To resume pagination, provide + # the `NextToken` value as an argument of a subsequent API invocation. + # + # @return [Types::ListKeyspacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListKeyspacesResponse#next_token #next_token} => String + # * {Types::ListKeyspacesResponse#keyspaces #keyspaces} => Array<Types::KeyspaceSummary> + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_keyspaces({ + # next_token: "NextToken", + # max_results: 1, + # }) + # + # @example Response structure + # + # resp.next_token #=> String + # resp.keyspaces #=> Array + # resp.keyspaces[0].keyspace_name #=> String + # resp.keyspaces[0].resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspaces AWS API Documentation + # + # @overload list_keyspaces(params = {}) + # @param [Hash] params ({}) + def list_keyspaces(params = {}, options = {}) + req = build_request(:list_keyspaces, params) + req.send_request(options) + end + + # Returns a list of tables for a specified keyspace. + # + # @option params [String] :next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as an argument of a subsequent API invocation. + # + # @option params [Integer] :max_results + # The total number of tables to return in the output. If the total + # number of tables available is more than the value specified, a + # `NextToken` is provided in the output. To resume pagination, provide + # the `NextToken` value as an argument of a subsequent API invocation. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace. + # + # @return [Types::ListTablesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListTablesResponse#next_token #next_token} => String + # * {Types::ListTablesResponse#tables #tables} => Array<Types::TableSummary> + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_tables({ + # next_token: "NextToken", + # max_results: 1, + # keyspace_name: "KeyspaceName", # required + # }) + # + # @example Response structure + # + # resp.next_token #=> String + # resp.tables #=> Array + # resp.tables[0].keyspace_name #=> String + # resp.tables[0].table_name #=> String + # resp.tables[0].resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTables AWS API Documentation + # + # @overload list_tables(params = {}) + # @param [Hash] params ({}) + def list_tables(params = {}, options = {}) + req = build_request(:list_tables, params) + req.send_request(options) + end + + # Returns a list of all tags associated with the specified Amazon + # Keyspaces resource. + # + # @option params [required, String] :resource_arn + # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource. + # + # @option params [String] :next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as argument of a subsequent API invocation. + # + # @option params [Integer] :max_results + # The total number of tags to return in the output. If the total number + # of tags available is more than the value specified, a `NextToken` is + # provided in the output. To resume pagination, provide the `NextToken` + # value as an argument of a subsequent API invocation. + # + # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListTagsForResourceResponse#next_token #next_token} => String + # * {Types::ListTagsForResourceResponse#tags #tags} => Array<Types::Tag> + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_tags_for_resource({ + # resource_arn: "ARN", # required + # next_token: "NextToken", + # max_results: 1, + # }) + # + # @example Response structure + # + # resp.next_token #=> String + # resp.tags #=> Array + # resp.tags[0].key #=> String + # resp.tags[0].value #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResource AWS API Documentation + # + # @overload list_tags_for_resource(params = {}) + # @param [Hash] params ({}) + def list_tags_for_resource(params = {}, options = {}) + req = build_request(:list_tags_for_resource, params) + req.send_request(options) + end + + # 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][1] 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][2] in the *Amazon + # Keyspaces Developer Guide*. + # + # 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 + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_window + # [2]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_settings + # + # @option params [required, String] :source_keyspace_name + # The keyspace name of the source table. + # + # @option params [required, String] :source_table_name + # The name of the source table. + # + # @option params [required, String] :target_keyspace_name + # The name of the target keyspace. + # + # @option params [required, String] :target_table_name + # The name of the target table. + # + # @option params [Time,DateTime,Date,Integer,String] :restore_timestamp + # The restore timestamp in ISO 8601 format. + # + # @option params [Types::CapacitySpecification] :capacity_specification_override + # Specifies the read/write throughput capacity mode for the target + # table. The options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode requires + # `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # + # @option params [Types::EncryptionSpecification] :encryption_specification_override + # Specifies the encryption settings for the target table. You can choose + # one of the following KMS key (KMS key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is type:AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # + # @option params [Types::PointInTimeRecovery] :point_in_time_recovery_override + # Specifies the `pointInTimeRecovery` settings for the target table. The + # options are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # + # @option params [Array] :tags_override + # A list of key-value pair tags to be attached to the restored table. + # + # For more information, see [Adding tags and labels to Amazon Keyspaces + # resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # + # @return [Types::RestoreTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::RestoreTableResponse#restored_table_arn #restored_table_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.restore_table({ + # source_keyspace_name: "KeyspaceName", # required + # source_table_name: "TableName", # required + # target_keyspace_name: "KeyspaceName", # required + # target_table_name: "TableName", # required + # restore_timestamp: Time.now, + # capacity_specification_override: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification_override: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery_override: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # tags_override: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @example Response structure + # + # resp.restored_table_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTable AWS API Documentation + # + # @overload restore_table(params = {}) + # @param [Hash] params ({}) + def restore_table(params = {}, options = {}) + req = build_request(:restore_table, params) + req.send_request(options) + end + + # 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][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # + # @option params [required, String] :resource_arn + # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to + # which to add tags. + # + # @option params [required, Array] :tags + # The tags to be assigned to the Amazon Keyspaces resource. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.tag_resource({ + # resource_arn: "ARN", # required + # tags: [ # required + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResource AWS API Documentation + # + # @overload tag_resource(params = {}) + # @param [Hash] params ({}) + def tag_resource(params = {}, options = {}) + req = build_request(:tag_resource, params) + req.send_request(options) + end + + # Removes the association of tags from a Amazon Keyspaces resource. + # + # @option params [required, String] :resource_arn + # The Amazon Keyspaces resource that the tags will be removed from. This + # value is an Amazon Resource Name (ARN). + # + # @option params [required, Array] :tags + # A list of existing tags to be removed from the Amazon Keyspaces + # resource. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.untag_resource({ + # resource_arn: "ARN", # required + # tags: [ # required + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResource AWS API Documentation + # + # @overload untag_resource(params = {}) + # @param [Hash] params ({}) + def untag_resource(params = {}, options = {}) + req = build_request(:untag_resource, params) + req.send_request(options) + end + + # 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. + # + # @option params [required, String] :keyspace_name + # The name of the keyspace the specified table is stored in. + # + # @option params [required, String] :table_name + # The name of the table. + # + # @option params [Array] :add_columns + # For each column to be added to the specified table: + # + # * name - The name of the column. + # + # * ` type ` - An Amazon Keyspaces data type. For more information, see + # [Data types][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types + # + # @option params [Types::CapacitySpecification] :capacity_specification + # Modifies the read/write throughput capacity mode for the table. The + # options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode requires + # `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # + # @option params [Types::EncryptionSpecification] :encryption_specification + # Modifies the encryption settings of the table. You can choose one of + # the following KMS key (KMS key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # + # @option params [Types::PointInTimeRecovery] :point_in_time_recovery + # Modifies the `pointInTimeRecovery` settings of the table. The options + # are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # + # @option params [Types::TimeToLive] :ttl + # Modifies Time to Live custom settings for the table. The options are: + # + # * `status:enabled` + # + # * `status:disabled` + # + # The default is `status:disabled`. After `ttl` is enabled, you can't + # disable it for the table. + # + # For more information, see [Expiring data by using Amazon Keyspaces + # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html + # + # @option params [Integer] :default_time_to_live + # The default Time to Live setting in seconds for the table. + # + # For more information, see [Setting the default TTL value for a + # table][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl + # + # @return [Types::UpdateTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::UpdateTableResponse#resource_arn #resource_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.update_table({ + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # add_columns: [ + # { + # name: "GenericString", # required + # type: "GenericString", # required + # }, + # ], + # capacity_specification: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # ttl: { + # status: "ENABLED", # required, accepts ENABLED + # }, + # default_time_to_live: 1, + # }) + # + # @example Response structure + # + # resp.resource_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTable AWS API Documentation + # + # @overload update_table(params = {}) + # @param [Hash] params ({}) + def update_table(params = {}, options = {}) + req = build_request(:update_table, params) + req.send_request(options) + end + + # @!endgroup + + # @param params ({}) + # @api private + def build_request(operation_name, params = {}) + handlers = @handlers.for(operation_name) + context = Seahorse::Client::RequestContext.new( + operation_name: operation_name, + operation: config.api.operation(operation_name), + client: self, + params: params, + config: config) + context[:gem_name] = 'aws-sdk-keyspaces' + context[:gem_version] = '1.0.0' + Seahorse::Client::Request.new(handlers, context) + end + + # @api private + # @deprecated + def waiter_names + [] + end + + class << self + + # @api private + attr_reader :identifier + + # @api private + def errors_module + Errors + end + + end + end +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client_api.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client_api.rb new file mode 100644 index 00000000000..934b8b65dd8 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/client_api.rb @@ -0,0 +1,521 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws::Keyspaces + # @api private + module ClientApi + + include Seahorse::Model + + ARN = Shapes::StringShape.new(name: 'ARN') + AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException') + CapacitySpecification = Shapes::StructureShape.new(name: 'CapacitySpecification') + CapacitySpecificationSummary = Shapes::StructureShape.new(name: 'CapacitySpecificationSummary') + CapacityUnits = Shapes::IntegerShape.new(name: 'CapacityUnits') + ClusteringKey = Shapes::StructureShape.new(name: 'ClusteringKey') + ClusteringKeyList = Shapes::ListShape.new(name: 'ClusteringKeyList') + ColumnDefinition = Shapes::StructureShape.new(name: 'ColumnDefinition') + ColumnDefinitionList = Shapes::ListShape.new(name: 'ColumnDefinitionList') + Comment = Shapes::StructureShape.new(name: 'Comment') + ConflictException = Shapes::StructureShape.new(name: 'ConflictException') + CreateKeyspaceRequest = Shapes::StructureShape.new(name: 'CreateKeyspaceRequest') + CreateKeyspaceResponse = Shapes::StructureShape.new(name: 'CreateKeyspaceResponse') + CreateTableRequest = Shapes::StructureShape.new(name: 'CreateTableRequest') + CreateTableResponse = Shapes::StructureShape.new(name: 'CreateTableResponse') + DefaultTimeToLive = Shapes::IntegerShape.new(name: 'DefaultTimeToLive') + DeleteKeyspaceRequest = Shapes::StructureShape.new(name: 'DeleteKeyspaceRequest') + DeleteKeyspaceResponse = Shapes::StructureShape.new(name: 'DeleteKeyspaceResponse') + DeleteTableRequest = Shapes::StructureShape.new(name: 'DeleteTableRequest') + DeleteTableResponse = Shapes::StructureShape.new(name: 'DeleteTableResponse') + EncryptionSpecification = Shapes::StructureShape.new(name: 'EncryptionSpecification') + EncryptionType = Shapes::StringShape.new(name: 'EncryptionType') + GenericString = Shapes::StringShape.new(name: 'GenericString') + GetKeyspaceRequest = Shapes::StructureShape.new(name: 'GetKeyspaceRequest') + GetKeyspaceResponse = Shapes::StructureShape.new(name: 'GetKeyspaceResponse') + GetTableRequest = Shapes::StructureShape.new(name: 'GetTableRequest') + GetTableResponse = Shapes::StructureShape.new(name: 'GetTableResponse') + InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException') + KeyspaceName = Shapes::StringShape.new(name: 'KeyspaceName') + KeyspaceSummary = Shapes::StructureShape.new(name: 'KeyspaceSummary') + KeyspaceSummaryList = Shapes::ListShape.new(name: 'KeyspaceSummaryList') + ListKeyspacesRequest = Shapes::StructureShape.new(name: 'ListKeyspacesRequest') + ListKeyspacesResponse = Shapes::StructureShape.new(name: 'ListKeyspacesResponse') + ListTablesRequest = Shapes::StructureShape.new(name: 'ListTablesRequest') + ListTablesResponse = Shapes::StructureShape.new(name: 'ListTablesResponse') + ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest') + ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse') + MaxResults = Shapes::IntegerShape.new(name: 'MaxResults') + NextToken = Shapes::StringShape.new(name: 'NextToken') + PartitionKey = Shapes::StructureShape.new(name: 'PartitionKey') + PartitionKeyList = Shapes::ListShape.new(name: 'PartitionKeyList') + PointInTimeRecovery = Shapes::StructureShape.new(name: 'PointInTimeRecovery') + PointInTimeRecoveryStatus = Shapes::StringShape.new(name: 'PointInTimeRecoveryStatus') + PointInTimeRecoverySummary = Shapes::StructureShape.new(name: 'PointInTimeRecoverySummary') + ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException') + RestoreTableRequest = Shapes::StructureShape.new(name: 'RestoreTableRequest') + RestoreTableResponse = Shapes::StructureShape.new(name: 'RestoreTableResponse') + SchemaDefinition = Shapes::StructureShape.new(name: 'SchemaDefinition') + ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException') + SortOrder = Shapes::StringShape.new(name: 'SortOrder') + StaticColumn = Shapes::StructureShape.new(name: 'StaticColumn') + StaticColumnList = Shapes::ListShape.new(name: 'StaticColumnList') + String = Shapes::StringShape.new(name: 'String') + TableName = Shapes::StringShape.new(name: 'TableName') + TableStatus = Shapes::StringShape.new(name: 'TableStatus') + TableSummary = Shapes::StructureShape.new(name: 'TableSummary') + TableSummaryList = Shapes::ListShape.new(name: 'TableSummaryList') + Tag = Shapes::StructureShape.new(name: 'Tag') + TagKey = Shapes::StringShape.new(name: 'TagKey') + TagList = Shapes::ListShape.new(name: 'TagList') + TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest') + TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse') + TagValue = Shapes::StringShape.new(name: 'TagValue') + ThroughputMode = Shapes::StringShape.new(name: 'ThroughputMode') + TimeToLive = Shapes::StructureShape.new(name: 'TimeToLive') + TimeToLiveStatus = Shapes::StringShape.new(name: 'TimeToLiveStatus') + Timestamp = Shapes::TimestampShape.new(name: 'Timestamp') + UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest') + UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse') + UpdateTableRequest = Shapes::StructureShape.new(name: 'UpdateTableRequest') + UpdateTableResponse = Shapes::StructureShape.new(name: 'UpdateTableResponse') + ValidationException = Shapes::StructureShape.new(name: 'ValidationException') + kmsKeyARN = Shapes::StringShape.new(name: 'kmsKeyARN') + + AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + AccessDeniedException.struct_class = Types::AccessDeniedException + + CapacitySpecification.add_member(:throughput_mode, Shapes::ShapeRef.new(shape: ThroughputMode, required: true, location_name: "throughputMode")) + CapacitySpecification.add_member(:read_capacity_units, Shapes::ShapeRef.new(shape: CapacityUnits, location_name: "readCapacityUnits")) + CapacitySpecification.add_member(:write_capacity_units, Shapes::ShapeRef.new(shape: CapacityUnits, location_name: "writeCapacityUnits")) + CapacitySpecification.struct_class = Types::CapacitySpecification + + CapacitySpecificationSummary.add_member(:throughput_mode, Shapes::ShapeRef.new(shape: ThroughputMode, required: true, location_name: "throughputMode")) + CapacitySpecificationSummary.add_member(:read_capacity_units, Shapes::ShapeRef.new(shape: CapacityUnits, location_name: "readCapacityUnits")) + CapacitySpecificationSummary.add_member(:write_capacity_units, Shapes::ShapeRef.new(shape: CapacityUnits, location_name: "writeCapacityUnits")) + CapacitySpecificationSummary.add_member(:last_update_to_pay_per_request_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdateToPayPerRequestTimestamp")) + CapacitySpecificationSummary.struct_class = Types::CapacitySpecificationSummary + + ClusteringKey.add_member(:name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "name")) + ClusteringKey.add_member(:order_by, Shapes::ShapeRef.new(shape: SortOrder, required: true, location_name: "orderBy")) + ClusteringKey.struct_class = Types::ClusteringKey + + ClusteringKeyList.member = Shapes::ShapeRef.new(shape: ClusteringKey) + + ColumnDefinition.add_member(:name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "name")) + ColumnDefinition.add_member(:type, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "type")) + ColumnDefinition.struct_class = Types::ColumnDefinition + + ColumnDefinitionList.member = Shapes::ShapeRef.new(shape: ColumnDefinition) + + Comment.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) + Comment.struct_class = Types::Comment + + ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + ConflictException.struct_class = Types::ConflictException + + CreateKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + CreateKeyspaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags")) + CreateKeyspaceRequest.struct_class = Types::CreateKeyspaceRequest + + CreateKeyspaceResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + CreateKeyspaceResponse.struct_class = Types::CreateKeyspaceResponse + + CreateTableRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + CreateTableRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + CreateTableRequest.add_member(:schema_definition, Shapes::ShapeRef.new(shape: SchemaDefinition, required: true, location_name: "schemaDefinition")) + CreateTableRequest.add_member(:comment, Shapes::ShapeRef.new(shape: Comment, location_name: "comment")) + CreateTableRequest.add_member(:capacity_specification, Shapes::ShapeRef.new(shape: CapacitySpecification, location_name: "capacitySpecification")) + CreateTableRequest.add_member(:encryption_specification, Shapes::ShapeRef.new(shape: EncryptionSpecification, location_name: "encryptionSpecification")) + CreateTableRequest.add_member(:point_in_time_recovery, Shapes::ShapeRef.new(shape: PointInTimeRecovery, location_name: "pointInTimeRecovery")) + CreateTableRequest.add_member(:ttl, Shapes::ShapeRef.new(shape: TimeToLive, location_name: "ttl")) + CreateTableRequest.add_member(:default_time_to_live, Shapes::ShapeRef.new(shape: DefaultTimeToLive, location_name: "defaultTimeToLive")) + CreateTableRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags")) + CreateTableRequest.struct_class = Types::CreateTableRequest + + CreateTableResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + CreateTableResponse.struct_class = Types::CreateTableResponse + + DeleteKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + DeleteKeyspaceRequest.struct_class = Types::DeleteKeyspaceRequest + + DeleteKeyspaceResponse.struct_class = Types::DeleteKeyspaceResponse + + DeleteTableRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + DeleteTableRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + DeleteTableRequest.struct_class = Types::DeleteTableRequest + + DeleteTableResponse.struct_class = Types::DeleteTableResponse + + EncryptionSpecification.add_member(:type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "type")) + EncryptionSpecification.add_member(:kms_key_identifier, Shapes::ShapeRef.new(shape: kmsKeyARN, location_name: "kmsKeyIdentifier")) + EncryptionSpecification.struct_class = Types::EncryptionSpecification + + GetKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + GetKeyspaceRequest.struct_class = Types::GetKeyspaceRequest + + GetKeyspaceResponse.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + GetKeyspaceResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + GetKeyspaceResponse.struct_class = Types::GetKeyspaceResponse + + GetTableRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + GetTableRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + GetTableRequest.struct_class = Types::GetTableRequest + + GetTableResponse.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + GetTableResponse.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + GetTableResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + GetTableResponse.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationTimestamp")) + GetTableResponse.add_member(:status, Shapes::ShapeRef.new(shape: TableStatus, location_name: "status")) + GetTableResponse.add_member(:schema_definition, Shapes::ShapeRef.new(shape: SchemaDefinition, location_name: "schemaDefinition")) + GetTableResponse.add_member(:capacity_specification, Shapes::ShapeRef.new(shape: CapacitySpecificationSummary, location_name: "capacitySpecification")) + GetTableResponse.add_member(:encryption_specification, Shapes::ShapeRef.new(shape: EncryptionSpecification, location_name: "encryptionSpecification")) + GetTableResponse.add_member(:point_in_time_recovery, Shapes::ShapeRef.new(shape: PointInTimeRecoverySummary, location_name: "pointInTimeRecovery")) + GetTableResponse.add_member(:ttl, Shapes::ShapeRef.new(shape: TimeToLive, location_name: "ttl")) + GetTableResponse.add_member(:default_time_to_live, Shapes::ShapeRef.new(shape: DefaultTimeToLive, location_name: "defaultTimeToLive")) + GetTableResponse.add_member(:comment, Shapes::ShapeRef.new(shape: Comment, location_name: "comment")) + GetTableResponse.struct_class = Types::GetTableResponse + + InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + InternalServerException.struct_class = Types::InternalServerException + + KeyspaceSummary.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + KeyspaceSummary.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + KeyspaceSummary.struct_class = Types::KeyspaceSummary + + KeyspaceSummaryList.member = Shapes::ShapeRef.new(shape: KeyspaceSummary) + + ListKeyspacesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListKeyspacesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults")) + ListKeyspacesRequest.struct_class = Types::ListKeyspacesRequest + + ListKeyspacesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListKeyspacesResponse.add_member(:keyspaces, Shapes::ShapeRef.new(shape: KeyspaceSummaryList, required: true, location_name: "keyspaces")) + ListKeyspacesResponse.struct_class = Types::ListKeyspacesResponse + + ListTablesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListTablesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults")) + ListTablesRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + ListTablesRequest.struct_class = Types::ListTablesRequest + + ListTablesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListTablesResponse.add_member(:tables, Shapes::ShapeRef.new(shape: TableSummaryList, location_name: "tables")) + ListTablesResponse.struct_class = Types::ListTablesResponse + + ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + ListTagsForResourceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListTagsForResourceRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults")) + ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest + + ListTagsForResourceResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) + ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags")) + ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse + + PartitionKey.add_member(:name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "name")) + PartitionKey.struct_class = Types::PartitionKey + + PartitionKeyList.member = Shapes::ShapeRef.new(shape: PartitionKey) + + PointInTimeRecovery.add_member(:status, Shapes::ShapeRef.new(shape: PointInTimeRecoveryStatus, required: true, location_name: "status")) + PointInTimeRecovery.struct_class = Types::PointInTimeRecovery + + PointInTimeRecoverySummary.add_member(:status, Shapes::ShapeRef.new(shape: PointInTimeRecoveryStatus, required: true, location_name: "status")) + PointInTimeRecoverySummary.add_member(:earliest_restorable_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "earliestRestorableTimestamp")) + PointInTimeRecoverySummary.struct_class = Types::PointInTimeRecoverySummary + + ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + ResourceNotFoundException.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "resourceArn")) + ResourceNotFoundException.struct_class = Types::ResourceNotFoundException + + RestoreTableRequest.add_member(:source_keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "sourceKeyspaceName")) + RestoreTableRequest.add_member(:source_table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "sourceTableName")) + RestoreTableRequest.add_member(:target_keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "targetKeyspaceName")) + RestoreTableRequest.add_member(:target_table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "targetTableName")) + RestoreTableRequest.add_member(:restore_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "restoreTimestamp")) + RestoreTableRequest.add_member(:capacity_specification_override, Shapes::ShapeRef.new(shape: CapacitySpecification, location_name: "capacitySpecificationOverride")) + RestoreTableRequest.add_member(:encryption_specification_override, Shapes::ShapeRef.new(shape: EncryptionSpecification, location_name: "encryptionSpecificationOverride")) + RestoreTableRequest.add_member(:point_in_time_recovery_override, Shapes::ShapeRef.new(shape: PointInTimeRecovery, location_name: "pointInTimeRecoveryOverride")) + RestoreTableRequest.add_member(:tags_override, Shapes::ShapeRef.new(shape: TagList, location_name: "tagsOverride")) + RestoreTableRequest.struct_class = Types::RestoreTableRequest + + RestoreTableResponse.add_member(:restored_table_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "restoredTableARN")) + RestoreTableResponse.struct_class = Types::RestoreTableResponse + + SchemaDefinition.add_member(:all_columns, Shapes::ShapeRef.new(shape: ColumnDefinitionList, required: true, location_name: "allColumns")) + SchemaDefinition.add_member(:partition_keys, Shapes::ShapeRef.new(shape: PartitionKeyList, required: true, location_name: "partitionKeys")) + SchemaDefinition.add_member(:clustering_keys, Shapes::ShapeRef.new(shape: ClusteringKeyList, location_name: "clusteringKeys")) + SchemaDefinition.add_member(:static_columns, Shapes::ShapeRef.new(shape: StaticColumnList, location_name: "staticColumns")) + SchemaDefinition.struct_class = Types::SchemaDefinition + + ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException + + StaticColumn.add_member(:name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "name")) + StaticColumn.struct_class = Types::StaticColumn + + StaticColumnList.member = Shapes::ShapeRef.new(shape: StaticColumn) + + TableSummary.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + TableSummary.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + TableSummary.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + TableSummary.struct_class = Types::TableSummary + + TableSummaryList.member = Shapes::ShapeRef.new(shape: TableSummary) + + Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "key")) + Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "value")) + Tag.struct_class = Types::Tag + + TagList.member = Shapes::ShapeRef.new(shape: Tag) + + TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "tags")) + TagResourceRequest.struct_class = Types::TagResourceRequest + + TagResourceResponse.struct_class = Types::TagResourceResponse + + TimeToLive.add_member(:status, Shapes::ShapeRef.new(shape: TimeToLiveStatus, required: true, location_name: "status")) + TimeToLive.struct_class = Types::TimeToLive + + UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + UntagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "tags")) + UntagResourceRequest.struct_class = Types::UntagResourceRequest + + UntagResourceResponse.struct_class = Types::UntagResourceResponse + + UpdateTableRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName")) + UpdateTableRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName")) + UpdateTableRequest.add_member(:add_columns, Shapes::ShapeRef.new(shape: ColumnDefinitionList, location_name: "addColumns")) + UpdateTableRequest.add_member(:capacity_specification, Shapes::ShapeRef.new(shape: CapacitySpecification, location_name: "capacitySpecification")) + UpdateTableRequest.add_member(:encryption_specification, Shapes::ShapeRef.new(shape: EncryptionSpecification, location_name: "encryptionSpecification")) + UpdateTableRequest.add_member(:point_in_time_recovery, Shapes::ShapeRef.new(shape: PointInTimeRecovery, location_name: "pointInTimeRecovery")) + UpdateTableRequest.add_member(:ttl, Shapes::ShapeRef.new(shape: TimeToLive, location_name: "ttl")) + UpdateTableRequest.add_member(:default_time_to_live, Shapes::ShapeRef.new(shape: DefaultTimeToLive, location_name: "defaultTimeToLive")) + UpdateTableRequest.struct_class = Types::UpdateTableRequest + + UpdateTableResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn")) + UpdateTableResponse.struct_class = Types::UpdateTableResponse + + ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + ValidationException.struct_class = Types::ValidationException + + + # @api private + API = Seahorse::Model::Api.new.tap do |api| + + api.version = "2022-02-10" + + api.metadata = { + "apiVersion" => "2022-02-10", + "endpointPrefix" => "cassandra", + "jsonVersion" => "1.0", + "protocol" => "json", + "serviceFullName" => "Amazon Keyspaces", + "serviceId" => "Keyspaces", + "signatureVersion" => "v4", + "signingName" => "cassandra", + "targetPrefix" => "KeyspacesService", + "uid" => "keyspaces-2022-02-10", + } + + api.add_operation(:create_keyspace, Seahorse::Model::Operation.new.tap do |o| + o.name = "CreateKeyspace" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: CreateKeyspaceRequest) + o.output = Shapes::ShapeRef.new(shape: CreateKeyspaceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + end) + + api.add_operation(:create_table, Seahorse::Model::Operation.new.tap do |o| + o.name = "CreateTable" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: CreateTableRequest) + o.output = Shapes::ShapeRef.new(shape: CreateTableResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:delete_keyspace, Seahorse::Model::Operation.new.tap do |o| + o.name = "DeleteKeyspace" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: DeleteKeyspaceRequest) + o.output = Shapes::ShapeRef.new(shape: DeleteKeyspaceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:delete_table, Seahorse::Model::Operation.new.tap do |o| + o.name = "DeleteTable" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: DeleteTableRequest) + o.output = Shapes::ShapeRef.new(shape: DeleteTableResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:get_keyspace, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetKeyspace" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: GetKeyspaceRequest) + o.output = Shapes::ShapeRef.new(shape: GetKeyspaceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:get_table, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetTable" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: GetTableRequest) + o.output = Shapes::ShapeRef.new(shape: GetTableResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:list_keyspaces, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListKeyspaces" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: ListKeyspacesRequest) + o.output = Shapes::ShapeRef.new(shape: ListKeyspacesResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + + api.add_operation(:list_tables, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListTables" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: ListTablesRequest) + o.output = Shapes::ShapeRef.new(shape: ListTablesResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + + api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListTagsForResource" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest) + o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + + api.add_operation(:restore_table, Seahorse::Model::Operation.new.tap do |o| + o.name = "RestoreTable" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: RestoreTableRequest) + o.output = Shapes::ShapeRef.new(shape: RestoreTableResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o| + o.name = "TagResource" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: TagResourceRequest) + o.output = Shapes::ShapeRef.new(shape: TagResourceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o| + o.name = "UntagResource" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest) + o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + + api.add_operation(:update_table, Seahorse::Model::Operation.new.tap do |o| + o.name = "UpdateTable" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: UpdateTableRequest) + o.output = Shapes::ShapeRef.new(shape: UpdateTableResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: InternalServerException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + end) + end + + end +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/customizations.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/customizations.rb new file mode 100644 index 00000000000..e69de29bb2d diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/errors.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/errors.rb new file mode 100644 index 00000000000..3f1aa6077e2 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/errors.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws::Keyspaces + + # When Keyspaces returns an error response, the Ruby SDK constructs and raises an error. + # These errors all extend Aws::Keyspaces::Errors::ServiceError < {Aws::Errors::ServiceError} + # + # You can rescue all Keyspaces errors using ServiceError: + # + # begin + # # do stuff + # rescue Aws::Keyspaces::Errors::ServiceError + # # rescues all Keyspaces API errors + # end + # + # + # ## Request Context + # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns + # information about the request that generated the error. + # See {Seahorse::Client::RequestContext} for more information. + # + # ## Error Classes + # * {AccessDeniedException} + # * {ConflictException} + # * {InternalServerException} + # * {ResourceNotFoundException} + # * {ServiceQuotaExceededException} + # * {ValidationException} + # + # Additionally, error classes are dynamically generated for service errors based on the error code + # if they are not defined above. + module Errors + + extend Aws::Errors::DynamicErrors + + class AccessDeniedException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::AccessDeniedException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + + class ConflictException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::ConflictException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + + class InternalServerException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::InternalServerException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + + class ResourceNotFoundException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::ResourceNotFoundException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + + # @return [String] + def resource_arn + @data[:resource_arn] + end + end + + class ServiceQuotaExceededException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::ServiceQuotaExceededException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + + class ValidationException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::Keyspaces::Types::ValidationException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + + # @return [String] + def message + @message || @data[:message] + end + end + + end +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/resource.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/resource.rb new file mode 100644 index 00000000000..bc5e89a42f8 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/resource.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws::Keyspaces + + class Resource + + # @param options ({}) + # @option options [Client] :client + def initialize(options = {}) + @client = options[:client] || Client.new(options) + end + + # @return [Client] + def client + @client + end + + end +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/types.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/types.rb new file mode 100644 index 00000000000..c8d7f0190a1 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/types.rb @@ -0,0 +1,1597 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws::Keyspaces + module Types + + # You do not have sufficient access to perform this action. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/AccessDeniedException AWS API Documentation + # + class AccessDeniedException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + # Amazon Keyspaces has two read/write capacity modes for processing + # reads and writes on your tables: + # + # * On-demand (default) + # + # * Provisioned + # ^ + # + #

The read/write capacity mode that you choose controls how you are charged for read and write throughput and how table throughput capacity is managed.

For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.

+ # + # @note When making an API call, you may pass CapacitySpecification + # data as a hash: + # + # { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # } + # + # @!attribute [rw] throughput_mode + # The read/write throughput capacity mode for a table. The options + # are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode + # requires `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # @return [String] + # + # @!attribute [rw] read_capacity_units + # The throughput capacity specified for `read` operations defined in + # `read capacity units` `(RCUs)`. + # @return [Integer] + # + # @!attribute [rw] write_capacity_units + # The throughput capacity specified for `write` operations defined in + # `write capacity units` `(WCUs)`. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CapacitySpecification AWS API Documentation + # + class CapacitySpecification < Struct.new( + :throughput_mode, + :read_capacity_units, + :write_capacity_units) + SENSITIVE = [] + include Aws::Structure + end + + # The read/write throughput capacity mode for a table. The options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # + # @!attribute [rw] throughput_mode + # The read/write throughput capacity mode for a table. The options + # are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode + # requires `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # @return [String] + # + # @!attribute [rw] read_capacity_units + # The throughput capacity specified for `read` operations defined in + # `read capacity units` `(RCUs)`. + # @return [Integer] + # + # @!attribute [rw] write_capacity_units + # The throughput capacity specified for `write` operations defined in + # `write capacity units` `(WCUs)`. + # @return [Integer] + # + # @!attribute [rw] last_update_to_pay_per_request_timestamp + # The timestamp of the last operation that changed the provisioned + # throughput capacity of a table. + # @return [Time] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CapacitySpecificationSummary AWS API Documentation + # + class CapacitySpecificationSummary < Struct.new( + :throughput_mode, + :read_capacity_units, + :write_capacity_units, + :last_update_to_pay_per_request_timestamp) + SENSITIVE = [] + include Aws::Structure + end + + # The optional clustering column portion of your primary key determines + # how the data is clustered and sorted within each partition. + # + # @note When making an API call, you may pass ClusteringKey + # data as a hash: + # + # { + # name: "GenericString", # required + # order_by: "ASC", # required, accepts ASC, DESC + # } + # + # @!attribute [rw] name + # The name(s) of the clustering column(s). + # @return [String] + # + # @!attribute [rw] order_by + # Sets the ascendant (`ASC`) or descendant (`DESC`) order modifier. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ClusteringKey AWS API Documentation + # + class ClusteringKey < Struct.new( + :name, + :order_by) + SENSITIVE = [] + include Aws::Structure + end + + # The names and data types of regular columns. + # + # @note When making an API call, you may pass ColumnDefinition + # data as a hash: + # + # { + # name: "GenericString", # required + # type: "GenericString", # required + # } + # + # @!attribute [rw] name + # The name of the column. + # @return [String] + # + # @!attribute [rw] type + # The data type of the column. For a list of available data types, see + # [Data types][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ColumnDefinition AWS API Documentation + # + class ColumnDefinition < Struct.new( + :name, + :type) + SENSITIVE = [] + include Aws::Structure + end + + # An optional comment that describes the table. + # + # @note When making an API call, you may pass Comment + # data as a hash: + # + # { + # message: "String", # required + # } + # + # @!attribute [rw] message + # An optional description of the table. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/Comment AWS API Documentation + # + class Comment < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + # 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. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ConflictException AWS API Documentation + # + class ConflictException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass CreateKeyspaceRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace to be created. + # @return [String] + # + # @!attribute [rw] tags + # A list of key-value pair tags to be attached to the keyspace. + # + # For more information, see [Adding tags and labels to Amazon + # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspaceRequest AWS API Documentation + # + class CreateKeyspaceRequest < Struct.new( + :keyspace_name, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] resource_arn + # The unique identifier of the keyspace in the format of an Amazon + # Resource Name (ARN). + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspaceResponse AWS API Documentation + # + class CreateKeyspaceResponse < Struct.new( + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass CreateTableRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # schema_definition: { # required + # all_columns: [ # required + # { + # name: "GenericString", # required + # type: "GenericString", # required + # }, + # ], + # partition_keys: [ # required + # { + # name: "GenericString", # required + # }, + # ], + # clustering_keys: [ + # { + # name: "GenericString", # required + # order_by: "ASC", # required, accepts ASC, DESC + # }, + # ], + # static_columns: [ + # { + # name: "GenericString", # required + # }, + # ], + # }, + # comment: { + # message: "String", # required + # }, + # capacity_specification: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # ttl: { + # status: "ENABLED", # required, accepts ENABLED + # }, + # default_time_to_live: 1, + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace that the table is going to be created in. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the table. + # @return [String] + # + # @!attribute [rw] schema_definition + # The `schemaDefinition` consists of the following parameters. + # + # For each column to be created: + # + # * name - The name of the column. + # + # * ` type ` - An Amazon Keyspaces data type. For more information, + # see [Data types][1] in the *Amazon Keyspaces Developer Guide*. + # ^ + # + #

The primary key of the table consists of the following columns:

  • partitionKeys - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.

    • name - The name of each partition key column.

  • clusteringKeys - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.

    • name - The name of the clustering column.

    • orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier.

To define a column as static use staticColumns - Static columns store values that are shared by all rows in the same partition:

  • name - The name of the column.

  • type - An Amazon Keyspaces data type.

+ # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types + # @return [Types::SchemaDefinition] + # + # @!attribute [rw] comment + # This parameter allows to enter a description of the table. + # @return [Types::Comment] + # + # @!attribute [rw] capacity_specification + # Specifies the read/write throughput capacity mode for the table. The + # options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode + # requires `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # @return [Types::CapacitySpecification] + # + # @!attribute [rw] encryption_specification + # Specifies how the encryption key for encryption at rest is managed + # for the table. You can choose one of the following KMS key (KMS + # key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is type:AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # @return [Types::EncryptionSpecification] + # + # @!attribute [rw] point_in_time_recovery + # Specifies if `pointInTimeRecovery` is enabled or disabled for the + # table. The options are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # @return [Types::PointInTimeRecovery] + # + # @!attribute [rw] ttl + # Enables Time to Live custom settings for the table. The options are: + # + # * `status:enabled` + # + # * `status:disabled` + # + # The default is `status:disabled`. After `ttl` is enabled, you can't + # disable it for the table. + # + # For more information, see [Expiring data by using Amazon Keyspaces + # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html + # @return [Types::TimeToLive] + # + # @!attribute [rw] default_time_to_live + # The default Time to Live setting in seconds for the table. + # + # For more information, see [Setting the default TTL value for a + # table][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl + # @return [Integer] + # + # @!attribute [rw] tags + # A list of key-value pair tags to be attached to the resource. + # + # For more information, see [Adding tags and labels to Amazon + # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTableRequest AWS API Documentation + # + class CreateTableRequest < Struct.new( + :keyspace_name, + :table_name, + :schema_definition, + :comment, + :capacity_specification, + :encryption_specification, + :point_in_time_recovery, + :ttl, + :default_time_to_live, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] resource_arn + # The unique identifier of the table in the format of an Amazon + # Resource Name (ARN). + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTableResponse AWS API Documentation + # + class CreateTableResponse < Struct.new( + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass DeleteKeyspaceRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace to be deleted. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspaceRequest AWS API Documentation + # + class DeleteKeyspaceRequest < Struct.new( + :keyspace_name) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspaceResponse AWS API Documentation + # + class DeleteKeyspaceResponse < Aws::EmptyStructure; end + + # @note When making an API call, you may pass DeleteTableRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace of the to be deleted table. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the table to be deleted. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTableRequest AWS API Documentation + # + class DeleteTableRequest < Struct.new( + :keyspace_name, + :table_name) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTableResponse AWS API Documentation + # + class DeleteTableResponse < Aws::EmptyStructure; end + + # Amazon Keyspaces encrypts and decrypts the table data at rest + # transparently and integrates with Key Management Service for storing + # and managing the encryption key. You can choose one of the following + # KMS keys (KMS keys): + # + # * Amazon Web Services owned key - This is the default encryption type. + # The key is owned by Amazon Keyspaces (no additional charge). + # + # * Customer managed key - This key is stored in your account and is + # created, owned, and managed by you. You have full control over the + # customer managed key (KMS charges apply). + # + # For more information about encryption at rest in Amazon Keyspaces, see + # [Encryption at rest][1] in the *Amazon Keyspaces Developer Guide*. + # + # For more information about KMS, see [KMS management service + # concepts][1] in the *Key Management Service Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html + # + # @note When making an API call, you may pass EncryptionSpecification + # data as a hash: + # + # { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # } + # + # @!attribute [rw] type + # The encryption option specified for the table. You can choose one of + # the following KMS keys (KMS keys): + # + # * `type:AWS_OWNED_KMS_KEY` - This key is owned by Amazon Keyspaces. + # + # * `type:CUSTOMER_MANAGED_KMS_KEY` - This key is stored in your + # account and is created, owned, and managed by you. This option + # requires the `kms_key_identifier` of the KMS key in Amazon + # Resource Name (ARN) format as input. + # + # The default is `type:AWS_OWNED_KMS_KEY`. + # + # For more information, see [Encryption at rest][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html + # @return [String] + # + # @!attribute [rw] kms_key_identifier + # The Amazon Resource Name (ARN) of the customer managed KMS key, for + # example `kms_key_identifier:ARN`. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/EncryptionSpecification AWS API Documentation + # + class EncryptionSpecification < Struct.new( + :type, + :kms_key_identifier) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass GetKeyspaceRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspaceRequest AWS API Documentation + # + class GetKeyspaceRequest < Struct.new( + :keyspace_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] keyspace_name + # The name of the keyspace. + # @return [String] + # + # @!attribute [rw] resource_arn + # The ARN of the keyspace. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspaceResponse AWS API Documentation + # + class GetKeyspaceResponse < Struct.new( + :keyspace_name, + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass GetTableRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace that the table is stored in. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the table. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTableRequest AWS API Documentation + # + class GetTableRequest < Struct.new( + :keyspace_name, + :table_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] keyspace_name + # The name of the keyspace that the specified table is stored in. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the specified table. + # @return [String] + # + # @!attribute [rw] resource_arn + # The Amazon Resource Name (ARN) of the specified table. + # @return [String] + # + # @!attribute [rw] creation_timestamp + # The creation timestamp of the specified table. + # @return [Time] + # + # @!attribute [rw] status + # The current status of the specified table. + # @return [String] + # + # @!attribute [rw] schema_definition + # The schema definition of the specified table. + # @return [Types::SchemaDefinition] + # + # @!attribute [rw] capacity_specification + # The read/write throughput capacity mode for a table. The options + # are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. + # @return [Types::CapacitySpecificationSummary] + # + # @!attribute [rw] encryption_specification + # The encryption settings of the specified table. + # @return [Types::EncryptionSpecification] + # + # @!attribute [rw] point_in_time_recovery + # The point-in-time recovery status of the specified table. + # @return [Types::PointInTimeRecoverySummary] + # + # @!attribute [rw] ttl + # The custom Time to Live settings of the specified table. + # @return [Types::TimeToLive] + # + # @!attribute [rw] default_time_to_live + # The default Time to Live settings of the specified table. + # @return [Integer] + # + # @!attribute [rw] comment + # The the description of the specified table. + # @return [Types::Comment] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTableResponse AWS API Documentation + # + class GetTableResponse < Struct.new( + :keyspace_name, + :table_name, + :resource_arn, + :creation_timestamp, + :status, + :schema_definition, + :capacity_specification, + :encryption_specification, + :point_in_time_recovery, + :ttl, + :default_time_to_live, + :comment) + SENSITIVE = [] + include Aws::Structure + end + + # Amazon Keyspaces was unable to fully process this request because of + # an internal server error. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/InternalServerException AWS API Documentation + # + class InternalServerException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + # Represents the properties of a keyspace. + # + # @!attribute [rw] keyspace_name + # The name of the keyspace. + # @return [String] + # + # @!attribute [rw] resource_arn + # The unique identifier of the keyspace in the format of an Amazon + # Resource Name (ARN). + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/KeyspaceSummary AWS API Documentation + # + class KeyspaceSummary < Struct.new( + :keyspace_name, + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass ListKeyspacesRequest + # data as a hash: + # + # { + # next_token: "NextToken", + # max_results: 1, + # } + # + # @!attribute [rw] next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as argument of a subsequent API invocation. + # @return [String] + # + # @!attribute [rw] max_results + # The total number of keyspaces to return in the output. If the total + # number of keyspaces available is more than the value specified, a + # `NextToken` is provided in the output. To resume pagination, provide + # the `NextToken` value as an argument of a subsequent API invocation. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspacesRequest AWS API Documentation + # + class ListKeyspacesRequest < Struct.new( + :next_token, + :max_results) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] next_token + # A token to specify where to start paginating. This is the + # `NextToken` from a previously truncated response. + # @return [String] + # + # @!attribute [rw] keyspaces + # A list of keyspaces. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspacesResponse AWS API Documentation + # + class ListKeyspacesResponse < Struct.new( + :next_token, + :keyspaces) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass ListTablesRequest + # data as a hash: + # + # { + # next_token: "NextToken", + # max_results: 1, + # keyspace_name: "KeyspaceName", # required + # } + # + # @!attribute [rw] next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as an argument of a subsequent API invocation. + # @return [String] + # + # @!attribute [rw] max_results + # The total number of tables to return in the output. If the total + # number of tables available is more than the value specified, a + # `NextToken` is provided in the output. To resume pagination, provide + # the `NextToken` value as an argument of a subsequent API invocation. + # @return [Integer] + # + # @!attribute [rw] keyspace_name + # The name of the keyspace. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTablesRequest AWS API Documentation + # + class ListTablesRequest < Struct.new( + :next_token, + :max_results, + :keyspace_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] next_token + # A token to specify where to start paginating. This is the + # `NextToken` from a previously truncated response. + # @return [String] + # + # @!attribute [rw] tables + # A list of tables. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTablesResponse AWS API Documentation + # + class ListTablesResponse < Struct.new( + :next_token, + :tables) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass ListTagsForResourceRequest + # data as a hash: + # + # { + # resource_arn: "ARN", # required + # next_token: "NextToken", + # max_results: 1, + # } + # + # @!attribute [rw] resource_arn + # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource. + # @return [String] + # + # @!attribute [rw] next_token + # The pagination token. To resume pagination, provide the `NextToken` + # value as argument of a subsequent API invocation. + # @return [String] + # + # @!attribute [rw] max_results + # The total number of tags to return in the output. If the total + # number of tags available is more than the value specified, a + # `NextToken` is provided in the output. To resume pagination, provide + # the `NextToken` value as an argument of a subsequent API invocation. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResourceRequest AWS API Documentation + # + class ListTagsForResourceRequest < Struct.new( + :resource_arn, + :next_token, + :max_results) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] next_token + # A token to specify where to start paginating. This is the + # `NextToken` from a previously truncated response. + # @return [String] + # + # @!attribute [rw] tags + # A list of tags. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResourceResponse AWS API Documentation + # + class ListTagsForResourceResponse < Struct.new( + :next_token, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # The partition key portion of the primary key is required and + # determines how Amazon Keyspaces stores the data. The partition key can + # be a single column, or it can be a compound value composed of two or + # more columns. + # + # @note When making an API call, you may pass PartitionKey + # data as a hash: + # + # { + # name: "GenericString", # required + # } + # + # @!attribute [rw] name + # The name(s) of the partition key column(s). + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PartitionKey AWS API Documentation + # + class PartitionKey < Struct.new( + :name) + SENSITIVE = [] + include Aws::Structure + end + + # Point-in-time recovery (PITR) helps protect your Amazon Keyspaces + # tables from accidental write or delete operations by providing you + # continuous backups of your table data. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # + # @note When making an API call, you may pass PointInTimeRecovery + # data as a hash: + # + # { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # } + # + # @!attribute [rw] status + # The options are: + # + # * `ENABLED` + # + # * `DISABLED` + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PointInTimeRecovery AWS API Documentation + # + class PointInTimeRecovery < Struct.new( + :status) + SENSITIVE = [] + include Aws::Structure + end + + # The point-in-time recovery status of the specified table. + # + # @!attribute [rw] status + # Shows if point-in-time recovery is enabled or disabled for the + # specified table. + # @return [String] + # + # @!attribute [rw] earliest_restorable_timestamp + # Specifies the earliest possible restore point of the table in ISO + # 8601 format. + # @return [Time] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PointInTimeRecoverySummary AWS API Documentation + # + class PointInTimeRecoverySummary < Struct.new( + :status, + :earliest_restorable_timestamp) + SENSITIVE = [] + include Aws::Structure + end + + # 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`. + # + # @!attribute [rw] message + # @return [String] + # + # @!attribute [rw] resource_arn + # The unique identifier in the format of Amazon Resource Name (ARN), + # for the resource not found. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ResourceNotFoundException AWS API Documentation + # + class ResourceNotFoundException < Struct.new( + :message, + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass RestoreTableRequest + # data as a hash: + # + # { + # source_keyspace_name: "KeyspaceName", # required + # source_table_name: "TableName", # required + # target_keyspace_name: "KeyspaceName", # required + # target_table_name: "TableName", # required + # restore_timestamp: Time.now, + # capacity_specification_override: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification_override: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery_override: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # tags_override: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # } + # + # @!attribute [rw] source_keyspace_name + # The keyspace name of the source table. + # @return [String] + # + # @!attribute [rw] source_table_name + # The name of the source table. + # @return [String] + # + # @!attribute [rw] target_keyspace_name + # The name of the target keyspace. + # @return [String] + # + # @!attribute [rw] target_table_name + # The name of the target table. + # @return [String] + # + # @!attribute [rw] restore_timestamp + # The restore timestamp in ISO 8601 format. + # @return [Time] + # + # @!attribute [rw] capacity_specification_override + # Specifies the read/write throughput capacity mode for the target + # table. The options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode + # requires `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # @return [Types::CapacitySpecification] + # + # @!attribute [rw] encryption_specification_override + # Specifies the encryption settings for the target table. You can + # choose one of the following KMS key (KMS key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is type:AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # @return [Types::EncryptionSpecification] + # + # @!attribute [rw] point_in_time_recovery_override + # Specifies the `pointInTimeRecovery` settings for the target table. + # The options are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # @return [Types::PointInTimeRecovery] + # + # @!attribute [rw] tags_override + # A list of key-value pair tags to be attached to the restored table. + # + # For more information, see [Adding tags and labels to Amazon + # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTableRequest AWS API Documentation + # + class RestoreTableRequest < Struct.new( + :source_keyspace_name, + :source_table_name, + :target_keyspace_name, + :target_table_name, + :restore_timestamp, + :capacity_specification_override, + :encryption_specification_override, + :point_in_time_recovery_override, + :tags_override) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] restored_table_arn + # The Amazon Resource Name (ARN) of the restored table. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTableResponse AWS API Documentation + # + class RestoreTableResponse < Struct.new( + :restored_table_arn) + SENSITIVE = [] + include Aws::Structure + end + + # Describes the schema of the table. + # + # @note When making an API call, you may pass SchemaDefinition + # data as a hash: + # + # { + # all_columns: [ # required + # { + # name: "GenericString", # required + # type: "GenericString", # required + # }, + # ], + # partition_keys: [ # required + # { + # name: "GenericString", # required + # }, + # ], + # clustering_keys: [ + # { + # name: "GenericString", # required + # order_by: "ASC", # required, accepts ASC, DESC + # }, + # ], + # static_columns: [ + # { + # name: "GenericString", # required + # }, + # ], + # } + # + # @!attribute [rw] all_columns + # The regular columns of the table. + # @return [Array] + # + # @!attribute [rw] partition_keys + # The columns that are part of the partition key of the table . + # @return [Array] + # + # @!attribute [rw] clustering_keys + # The columns that are part of the clustering key of the table. + # @return [Array] + # + # @!attribute [rw] static_columns + # The columns that have been defined as `STATIC`. Static columns store + # values that are shared by all rows in the same partition. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/SchemaDefinition AWS API Documentation + # + class SchemaDefinition < Struct.new( + :all_columns, + :partition_keys, + :clustering_keys, + :static_columns) + SENSITIVE = [] + include Aws::Structure + end + + # The operation exceeded the service quota for this resource. For more + # information on service quotas, see [Quotas][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ServiceQuotaExceededException AWS API Documentation + # + class ServiceQuotaExceededException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + # The static columns of the table. Static columns store values that are + # shared by all rows in the same partition. + # + # @note When making an API call, you may pass StaticColumn + # data as a hash: + # + # { + # name: "GenericString", # required + # } + # + # @!attribute [rw] name + # The name of the static column. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/StaticColumn AWS API Documentation + # + class StaticColumn < Struct.new( + :name) + SENSITIVE = [] + include Aws::Structure + end + + # Returns the name of the specified table, the keyspace it is stored in, + # and the unique identifier in the format of an Amazon Resource Name + # (ARN). + # + # @!attribute [rw] keyspace_name + # The name of the keyspace that the table is stored in. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the table. + # @return [String] + # + # @!attribute [rw] resource_arn + # The unique identifier of the table in the format of an Amazon + # Resource Name (ARN). + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TableSummary AWS API Documentation + # + class TableSummary < Struct.new( + :keyspace_name, + :table_name, + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # Describes a tag. A tag is a key-value pair. You can add up to 50 tags + # to a single Amazon Keyspaces resource. + # + # Amazon Web Services-assigned tag names and values are automatically + # assigned the `aws:` prefix, which the user cannot assign. Amazon Web + # Services-assigned tag names do not count towards the tag limit of 50. + # User-assigned tag names have the prefix `user:` in the Cost Allocation + # Report. You cannot backdate the application of a tag. + # + # For more information, see [Adding tags and labels to Amazon Keyspaces + # resources][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html + # + # @note When making an API call, you may pass Tag + # data as a hash: + # + # { + # key: "TagKey", # required + # value: "TagValue", # required + # } + # + # @!attribute [rw] key + # The key of the tag. Tag keys are case sensitive. Each Amazon + # Keyspaces resource can only have up to one tag with the same key. If + # you try to add an existing tag (same key), the existing tag value + # will be updated to the new value. + # @return [String] + # + # @!attribute [rw] value + # The value of the tag. Tag values are case-sensitive and can be null. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/Tag AWS API Documentation + # + class Tag < Struct.new( + :key, + :value) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass TagResourceRequest + # data as a hash: + # + # { + # resource_arn: "ARN", # required + # tags: [ # required + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # } + # + # @!attribute [rw] resource_arn + # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to + # which to add tags. + # @return [String] + # + # @!attribute [rw] tags + # The tags to be assigned to the Amazon Keyspaces resource. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResourceRequest AWS API Documentation + # + class TagResourceRequest < Struct.new( + :resource_arn, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResourceResponse AWS API Documentation + # + class TagResourceResponse < Aws::EmptyStructure; end + + # Enable custom Time to Live (TTL) settings for rows and columns without + # setting a TTL default for the specified table. + # + # For more information, see [Enabling TTL on tables][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_enabling + # + # @note When making an API call, you may pass TimeToLive + # data as a hash: + # + # { + # status: "ENABLED", # required, accepts ENABLED + # } + # + # @!attribute [rw] status + # Shows how to enable custom Time to Live (TTL) settings for the + # specified table. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TimeToLive AWS API Documentation + # + class TimeToLive < Struct.new( + :status) + SENSITIVE = [] + include Aws::Structure + end + + # @note When making an API call, you may pass UntagResourceRequest + # data as a hash: + # + # { + # resource_arn: "ARN", # required + # tags: [ # required + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # } + # + # @!attribute [rw] resource_arn + # The Amazon Keyspaces resource that the tags will be removed from. + # This value is an Amazon Resource Name (ARN). + # @return [String] + # + # @!attribute [rw] tags + # A list of existing tags to be removed from the Amazon Keyspaces + # resource. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResourceRequest AWS API Documentation + # + class UntagResourceRequest < Struct.new( + :resource_arn, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResourceResponse AWS API Documentation + # + class UntagResourceResponse < Aws::EmptyStructure; end + + # @note When making an API call, you may pass UpdateTableRequest + # data as a hash: + # + # { + # keyspace_name: "KeyspaceName", # required + # table_name: "TableName", # required + # add_columns: [ + # { + # name: "GenericString", # required + # type: "GenericString", # required + # }, + # ], + # capacity_specification: { + # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED + # read_capacity_units: 1, + # write_capacity_units: 1, + # }, + # encryption_specification: { + # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY + # kms_key_identifier: "kmsKeyARN", + # }, + # point_in_time_recovery: { + # status: "ENABLED", # required, accepts ENABLED, DISABLED + # }, + # ttl: { + # status: "ENABLED", # required, accepts ENABLED + # }, + # default_time_to_live: 1, + # } + # + # @!attribute [rw] keyspace_name + # The name of the keyspace the specified table is stored in. + # @return [String] + # + # @!attribute [rw] table_name + # The name of the table. + # @return [String] + # + # @!attribute [rw] add_columns + # For each column to be added to the specified table: + # + # * name - The name of the column. + # + # * ` type ` - An Amazon Keyspaces data type. For more information, + # see [Data types][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types + # @return [Array] + # + # @!attribute [rw] capacity_specification + # Modifies the read/write throughput capacity mode for the table. The + # options are: + # + # * `throughputMode:PAY_PER_REQUEST` and + # + # * `throughputMode:PROVISIONED`. The provisioned capacity mode + # requires `readCapacityUnits` and `writeCapacityUnits` as inputs. + # + # The default is `throughput_mode:PAY_PER_REQUEST`. + # + # For more information, see [Read/write capacity modes][1] in the + # *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html + # @return [Types::CapacitySpecification] + # + # @!attribute [rw] encryption_specification + # Modifies the encryption settings of the table. You can choose one of + # the following KMS key (KMS key): + # + #
  • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

The default is AWS_OWNED_KMS_KEY.

For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

+ # @return [Types::EncryptionSpecification] + # + # @!attribute [rw] point_in_time_recovery + # Modifies the `pointInTimeRecovery` settings of the table. The + # options are: + # + # * `ENABLED` + # + # * `DISABLED` + # + # If it's not specified, the default is `DISABLED`. + # + # For more information, see [Point-in-time recovery][1] in the *Amazon + # Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html + # @return [Types::PointInTimeRecovery] + # + # @!attribute [rw] ttl + # Modifies Time to Live custom settings for the table. The options + # are: + # + # * `status:enabled` + # + # * `status:disabled` + # + # The default is `status:disabled`. After `ttl` is enabled, you can't + # disable it for the table. + # + # For more information, see [Expiring data by using Amazon Keyspaces + # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html + # @return [Types::TimeToLive] + # + # @!attribute [rw] default_time_to_live + # The default Time to Live setting in seconds for the table. + # + # For more information, see [Setting the default TTL value for a + # table][1] in the *Amazon Keyspaces Developer Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTableRequest AWS API Documentation + # + class UpdateTableRequest < Struct.new( + :keyspace_name, + :table_name, + :add_columns, + :capacity_specification, + :encryption_specification, + :point_in_time_recovery, + :ttl, + :default_time_to_live) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] resource_arn + # The Amazon Resource Name (ARN) of the modified table. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTableResponse AWS API Documentation + # + class UpdateTableResponse < Struct.new( + :resource_arn) + SENSITIVE = [] + include Aws::Structure + end + + # The operation failed due to an invalid or malformed request. + # + # @!attribute [rw] message + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ValidationException AWS API Documentation + # + class ValidationException < Struct.new( + :message) + SENSITIVE = [] + include Aws::Structure + end + + end +end diff --git a/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/waiters.rb b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/waiters.rb new file mode 100644 index 00000000000..01dd096fa81 --- /dev/null +++ b/gems/aws-sdk-keyspaces/lib/aws-sdk-keyspaces/waiters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +require 'aws-sdk-core/waiters' + +module Aws::Keyspaces + module Waiters + end +end diff --git a/gems/aws-sdk-keyspaces/spec/spec_helper.rb b/gems/aws-sdk-keyspaces/spec/spec_helper.rb new file mode 100644 index 00000000000..8983c1d6b1c --- /dev/null +++ b/gems/aws-sdk-keyspaces/spec/spec_helper.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +require_relative '../../aws-sdk-core/spec/shared_spec_helper' + +$:.unshift(File.expand_path('../../lib', __FILE__)) +$:.unshift(File.expand_path('../../../aws-sdk-core/lib', __FILE__)) +$:.unshift(File.expand_path('../../../aws-sigv4/lib', __FILE__)) + +require 'rspec' +require 'webmock/rspec' +require 'aws-sdk-keyspaces' diff --git a/gems/aws-sdk-resources/CHANGELOG.md b/gems/aws-sdk-resources/CHANGELOG.md index b1c995190db..251599588d6 100644 --- a/gems/aws-sdk-resources/CHANGELOG.md +++ b/gems/aws-sdk-resources/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +3.125.0 (2022-03-02) +------------------ + +* Feature - Added a dependency on the new `aws-sdk-keyspaces` gem. + 3.124.0 (2021-12-02) ------------------ diff --git a/gems/aws-sdk-resources/VERSION b/gems/aws-sdk-resources/VERSION index 58efbe7b419..642a9e39b10 100644 --- a/gems/aws-sdk-resources/VERSION +++ b/gems/aws-sdk-resources/VERSION @@ -1 +1 @@ -3.124.0 +3.125.0 diff --git a/gems/aws-sdk-resources/aws-sdk-resources.gemspec b/gems/aws-sdk-resources/aws-sdk-resources.gemspec index 47171640476..cc1410bb9d9 100644 --- a/gems/aws-sdk-resources/aws-sdk-resources.gemspec +++ b/gems/aws-sdk-resources/aws-sdk-resources.gemspec @@ -172,6 +172,7 @@ Gem::Specification.new do |spec| spec.add_dependency('aws-sdk-kafka', '~> 1') spec.add_dependency('aws-sdk-kafkaconnect', '~> 1') spec.add_dependency('aws-sdk-kendra', '~> 1') + spec.add_dependency('aws-sdk-keyspaces', '~> 1') spec.add_dependency('aws-sdk-kinesis', '~> 1') spec.add_dependency('aws-sdk-kinesisanalytics', '~> 1') spec.add_dependency('aws-sdk-kinesisanalyticsv2', '~> 1') diff --git a/gems/aws-sdk-resources/lib/aws-sdk-resources.rb b/gems/aws-sdk-resources/lib/aws-sdk-resources.rb index befb53eea9d..128c1732431 100644 --- a/gems/aws-sdk-resources/lib/aws-sdk-resources.rb +++ b/gems/aws-sdk-resources/lib/aws-sdk-resources.rb @@ -162,6 +162,7 @@ module Aws autoload :Kafka, 'aws-sdk-kafka' autoload :KafkaConnect, 'aws-sdk-kafkaconnect' autoload :Kendra, 'aws-sdk-kendra' + autoload :Keyspaces, 'aws-sdk-keyspaces' autoload :Kinesis, 'aws-sdk-kinesis' autoload :KinesisAnalytics, 'aws-sdk-kinesisanalytics' autoload :KinesisAnalyticsV2, 'aws-sdk-kinesisanalyticsv2' diff --git a/services.json b/services.json index 71a993f457a..21190610316 100644 --- a/services.json +++ b/services.json @@ -514,6 +514,9 @@ "Kendra": { "models": "kendra/2019-02-03" }, + "Keyspaces": { + "models": "keyspaces/2022-02-10" + }, "Kinesis": { "models": "kinesis/2013-12-02" },