diff --git a/CHANGELOG.md b/CHANGELOG.md index df2b67f9920..2572d571042 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.43.10 (2022-03-02) +=== + +### Service Client Updates +* `service/athena`: Updates service API and documentation + * 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. +* `service/cloudtrail`: Updates service API and documentation + * Add bytesScanned field into responses of DescribeQuery and GetQueryResults. +* `service/ecr`: Updates service API and documentation + * This release adds support for tracking images lastRecordedPullTime. +* `service/gamelift`: Updates service documentation + * Minor updates to address errors. +* `service/keyspaces`: Updates service API, documentation, waiters, paginators, and examples + Release v1.43.9 (2022-03-01) === diff --git a/aws/version.go b/aws/version.go index 1ca7e2c3c08..5712d7122d0 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.43.9" +const SDKVersion = "1.43.10" diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index c3c27d4601f..3cd50734060 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/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/models/apis/athena/2017-05-18/docs-2.json b/models/apis/athena/2017-05-18/docs-2.json index c3ee8057092..40a85e83b1c 100644 --- a/models/apis/athena/2017-05-18/docs-2.json +++ b/models/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/models/apis/cloudtrail/2013-11-01/api-2.json b/models/apis/cloudtrail/2013-11-01/api-2.json index 7d8e3002c34..2e15a145a20 100644 --- a/models/apis/cloudtrail/2013-11-01/api-2.json +++ b/models/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/models/apis/cloudtrail/2013-11-01/docs-2.json b/models/apis/cloudtrail/2013-11-01/docs-2.json index ba615d851de..6d232a3b0a0 100644 --- a/models/apis/cloudtrail/2013-11-01/docs-2.json +++ b/models/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/models/apis/ecr/2015-09-21/api-2.json b/models/apis/ecr/2015-09-21/api-2.json index 8c60f210ce0..d38e9abd177 100644 --- a/models/apis/ecr/2015-09-21/api-2.json +++ b/models/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/models/apis/ecr/2015-09-21/docs-2.json b/models/apis/ecr/2015-09-21/docs-2.json index 8be1eb72c24..a3159cb8ba8 100644 --- a/models/apis/ecr/2015-09-21/docs-2.json +++ b/models/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/models/apis/gamelift/2015-10-01/docs-2.json b/models/apis/gamelift/2015-10-01/docs-2.json index e5c353b20c5..743510e02d0 100644 --- a/models/apis/gamelift/2015-10-01/docs-2.json +++ b/models/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/models/apis/keyspaces/2022-02-10/api-2.json b/models/apis/keyspaces/2022-02-10/api-2.json new file mode 100644 index 00000000000..d132d5ca452 --- /dev/null +++ b/models/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/models/apis/keyspaces/2022-02-10/docs-2.json b/models/apis/keyspaces/2022-02-10/docs-2.json new file mode 100644 index 00000000000..b7348cf60c3 --- /dev/null +++ b/models/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/models/apis/keyspaces/2022-02-10/examples-1.json b/models/apis/keyspaces/2022-02-10/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/keyspaces/2022-02-10/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/keyspaces/2022-02-10/paginators-1.json b/models/apis/keyspaces/2022-02-10/paginators-1.json new file mode 100644 index 00000000000..885bf4e2508 --- /dev/null +++ b/models/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/models/apis/keyspaces/2022-02-10/smoke.json b/models/apis/keyspaces/2022-02-10/smoke.json new file mode 100644 index 00000000000..047a1d85ef7 --- /dev/null +++ b/models/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/models/apis/keyspaces/2022-02-10/waiters-2.json b/models/apis/keyspaces/2022-02-10/waiters-2.json new file mode 100644 index 00000000000..4b20636aa4c --- /dev/null +++ b/models/apis/keyspaces/2022-02-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} \ No newline at end of file diff --git a/service/athena/api.go b/service/athena/api.go index efdd5d73ed2..009777454e0 100644 --- a/service/athena/api.go +++ b/service/athena/api.go @@ -3619,6 +3619,63 @@ func (c *Athena) UpdateWorkGroupWithContext(ctx aws.Context, input *UpdateWorkGr return out, req.Send() } +// 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 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview) +// in the Amazon S3 User Guide. +type AclConfiguration struct { + _ struct{} `type:"structure"` + + // 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 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) + // in the Amazon S3 User Guide. + // + // S3AclOption is a required field + S3AclOption *string `type:"string" required:"true" enum:"S3AclOption"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AclConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AclConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AclConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AclConfiguration"} + if s.S3AclOption == nil { + invalidParams.Add(request.NewErrParamRequired("S3AclOption")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3AclOption sets the S3AclOption field's value. +func (s *AclConfiguration) SetS3AclOption(v string) *AclConfiguration { + s.S3AclOption = &v + return s +} + // 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. AthenaError includes an ErrorCategory @@ -7767,6 +7824,15 @@ func (s *ResourceNotFoundException) RequestID() string { type ResultConfiguration struct { _ struct{} `type:"structure"` + // 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 (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + AclConfiguration *AclConfiguration `type:"structure"` + // If query results are encrypted in Amazon S3, indicates the encryption option // used (for example, SSE-KMS or CSE-KMS) and key information. This is a client-side // setting. If workgroup settings override client-side settings, then the query @@ -7822,6 +7888,11 @@ func (s ResultConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ResultConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ResultConfiguration"} + if s.AclConfiguration != nil { + if err := s.AclConfiguration.Validate(); err != nil { + invalidParams.AddNested("AclConfiguration", err.(request.ErrInvalidParams)) + } + } if s.EncryptionConfiguration != nil { if err := s.EncryptionConfiguration.Validate(); err != nil { invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) @@ -7834,6 +7905,12 @@ func (s *ResultConfiguration) Validate() error { return nil } +// SetAclConfiguration sets the AclConfiguration field's value. +func (s *ResultConfiguration) SetAclConfiguration(v *AclConfiguration) *ResultConfiguration { + s.AclConfiguration = v + return s +} + // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. func (s *ResultConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *ResultConfiguration { s.EncryptionConfiguration = v @@ -7857,6 +7934,9 @@ func (s *ResultConfiguration) SetOutputLocation(v string) *ResultConfiguration { type ResultConfigurationUpdates struct { _ struct{} `type:"structure"` + // The ACL configuration for the query results. + AclConfiguration *AclConfiguration `type:"structure"` + // The encryption configuration for the query results. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` @@ -7883,6 +7963,14 @@ type ResultConfigurationUpdates struct { // See WorkGroupConfiguration$EnforceWorkGroupConfiguration. OutputLocation *string `type:"string"` + // 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 (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + RemoveAclConfiguration *bool `type:"boolean"` + // 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 @@ -7931,6 +8019,11 @@ func (s ResultConfigurationUpdates) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ResultConfigurationUpdates) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ResultConfigurationUpdates"} + if s.AclConfiguration != nil { + if err := s.AclConfiguration.Validate(); err != nil { + invalidParams.AddNested("AclConfiguration", err.(request.ErrInvalidParams)) + } + } if s.EncryptionConfiguration != nil { if err := s.EncryptionConfiguration.Validate(); err != nil { invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) @@ -7943,6 +8036,12 @@ func (s *ResultConfigurationUpdates) Validate() error { return nil } +// SetAclConfiguration sets the AclConfiguration field's value. +func (s *ResultConfigurationUpdates) SetAclConfiguration(v *AclConfiguration) *ResultConfigurationUpdates { + s.AclConfiguration = v + return s +} + // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. func (s *ResultConfigurationUpdates) SetEncryptionConfiguration(v *EncryptionConfiguration) *ResultConfigurationUpdates { s.EncryptionConfiguration = v @@ -7961,6 +8060,12 @@ func (s *ResultConfigurationUpdates) SetOutputLocation(v string) *ResultConfigur return s } +// SetRemoveAclConfiguration sets the RemoveAclConfiguration field's value. +func (s *ResultConfigurationUpdates) SetRemoveAclConfiguration(v bool) *ResultConfigurationUpdates { + s.RemoveAclConfiguration = &v + return s +} + // SetRemoveEncryptionConfiguration sets the RemoveEncryptionConfiguration field's value. func (s *ResultConfigurationUpdates) SetRemoveEncryptionConfiguration(v bool) *ResultConfigurationUpdates { s.RemoveEncryptionConfiguration = &v @@ -9733,6 +9838,18 @@ func QueryExecutionState_Values() []string { } } +const ( + // S3AclOptionBucketOwnerFullControl is a S3AclOption enum value + S3AclOptionBucketOwnerFullControl = "BUCKET_OWNER_FULL_CONTROL" +) + +// S3AclOption_Values returns all elements of the S3AclOption enum +func S3AclOption_Values() []string { + return []string{ + S3AclOptionBucketOwnerFullControl, + } +} + const ( // StatementTypeDdl is a StatementType enum value StatementTypeDdl = "DDL" diff --git a/service/cloudtrail/api.go b/service/cloudtrail/api.go index d19cce65707..68253a5f4e9 100644 --- a/service/cloudtrail/api.go +++ b/service/cloudtrail/api.go @@ -202,10 +202,10 @@ func (c *CloudTrail) CancelQueryRequest(input *CancelQueryInput) (req *request.R // CancelQuery API operation for AWS CloudTrail. // // 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. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -227,7 +227,7 @@ func (c *CloudTrail) CancelQueryRequest(input *CancelQueryInput) (req *request.R // // * InactiveQueryException // The specified query cannot be canceled because it is in the FINISHED, FAILED, -// or CANCELLED state. +// TIMED_OUT, or CANCELLED state. // // * InvalidParameterException // The request includes a parameter that is not valid. @@ -2091,7 +2091,8 @@ func (c *CloudTrail) ListQueriesRequest(input *ListQueriesInput) (req *request.R // 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. +// for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or +// CANCELLED. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5826,7 +5827,7 @@ type DescribeQueryOutput struct { QueryStatistics *QueryStatisticsForDescribeQuery `type:"structure"` // The status of a query. Values for QueryStatus include QUEUED, RUNNING, FINISHED, - // FAILED, or CANCELLED + // FAILED, TIMED_OUT, or CANCELLED QueryStatus *string `type:"string" enum:"QueryStatus"` // The SQL code of a query. @@ -7121,7 +7122,7 @@ type GetQueryResultsOutput struct { QueryStatistics *QueryStatistics `type:"structure"` // The status of the query. Values include QUEUED, RUNNING, FINISHED, FAILED, - // or CANCELLED. + // TIMED_OUT, or CANCELLED. QueryStatus *string `type:"string" enum:"QueryStatus"` } @@ -7571,7 +7572,7 @@ func (s *InactiveEventDataStoreException) RequestID() string { } // The specified query cannot be canceled because it is in the FINISHED, FAILED, -// or CANCELLED state. +// TIMED_OUT, or CANCELLED state. type InactiveQueryException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9927,7 +9928,7 @@ type ListQueriesInput struct { NextToken *string `min:"4" type:"string"` // The status of queries that you want to return in results. Valid values for - // QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, or CANCELLED. + // QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED. QueryStatus *string `type:"string" enum:"QueryStatus"` // Use with EndTime to bound a ListQueries request, and limit its results to @@ -11175,8 +11176,8 @@ type Query struct { // The ID of a query. QueryId *string `min:"36" type:"string"` - // The status of the query. This can be QUEUED, RUNNING, FINISHED, FAILED, or - // CANCELLED. + // The status of the query. This can be QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, + // or CANCELLED. QueryStatus *string `type:"string" enum:"QueryStatus"` } @@ -11284,6 +11285,11 @@ func (s *QueryIdNotFoundException) RequestID() string { type QueryStatistics struct { _ struct{} `type:"structure"` + // 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. + BytesScanned *int64 `type:"long"` + // The number of results returned. ResultsCount *int64 `type:"integer"` @@ -11309,6 +11315,12 @@ func (s QueryStatistics) GoString() string { return s.String() } +// SetBytesScanned sets the BytesScanned field's value. +func (s *QueryStatistics) SetBytesScanned(v int64) *QueryStatistics { + s.BytesScanned = &v + return s +} + // SetResultsCount sets the ResultsCount field's value. func (s *QueryStatistics) SetResultsCount(v int64) *QueryStatistics { s.ResultsCount = &v @@ -11327,6 +11339,11 @@ func (s *QueryStatistics) SetTotalResultsCount(v int64) *QueryStatistics { type QueryStatisticsForDescribeQuery struct { _ struct{} `type:"structure"` + // 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. + BytesScanned *int64 `type:"long"` + // The creation time of the query. CreationTime *time.Time `type:"timestamp"` @@ -11358,6 +11375,12 @@ func (s QueryStatisticsForDescribeQuery) GoString() string { return s.String() } +// SetBytesScanned sets the BytesScanned field's value. +func (s *QueryStatisticsForDescribeQuery) SetBytesScanned(v int64) *QueryStatisticsForDescribeQuery { + s.BytesScanned = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *QueryStatisticsForDescribeQuery) SetCreationTime(v time.Time) *QueryStatisticsForDescribeQuery { s.CreationTime = &v @@ -13484,6 +13507,9 @@ const ( // QueryStatusCancelled is a QueryStatus enum value QueryStatusCancelled = "CANCELLED" + + // QueryStatusTimedOut is a QueryStatus enum value + QueryStatusTimedOut = "TIMED_OUT" ) // QueryStatus_Values returns all elements of the QueryStatus enum @@ -13494,6 +13520,7 @@ func QueryStatus_Values() []string { QueryStatusFinished, QueryStatusFailed, QueryStatusCancelled, + QueryStatusTimedOut, } } diff --git a/service/cloudtrail/errors.go b/service/cloudtrail/errors.go index 51caefba757..0b00687546b 100644 --- a/service/cloudtrail/errors.go +++ b/service/cloudtrail/errors.go @@ -92,7 +92,7 @@ const ( // "InactiveQueryException". // // The specified query cannot be canceled because it is in the FINISHED, FAILED, - // or CANCELLED state. + // TIMED_OUT, or CANCELLED state. ErrCodeInactiveQueryException = "InactiveQueryException" // ErrCodeInsightNotEnabledException for service response error code diff --git a/service/ecr/api.go b/service/ecr/api.go index 3b0a66e8946..9920230c19f 100644 --- a/service/ecr/api.go +++ b/service/ecr/api.go @@ -3145,6 +3145,11 @@ func (c *ECR) PutImageScanningConfigurationRequest(input *PutImageScanningConfig // PutImageScanningConfiguration API operation for Amazon EC2 Container Registry. // +// +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8102,6 +8107,17 @@ type ImageDetail struct { // The list of tags associated with this image. ImageTags []*string `locationName:"imageTags" type:"list"` + // 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. + LastRecordedPullTime *time.Time `locationName:"lastRecordedPullTime" type:"timestamp"` + // The Amazon Web Services account ID associated with the registry to which // this image belongs. RegistryId *string `locationName:"registryId" type:"string"` @@ -8176,6 +8192,12 @@ func (s *ImageDetail) SetImageTags(v []*string) *ImageDetail { return s } +// SetLastRecordedPullTime sets the LastRecordedPullTime field's value. +func (s *ImageDetail) SetLastRecordedPullTime(v time.Time) *ImageDetail { + s.LastRecordedPullTime = &v + return s +} + // SetRegistryId sets the RegistryId field's value. func (s *ImageDetail) SetRegistryId(v string) *ImageDetail { s.RegistryId = &v @@ -11230,13 +11252,16 @@ type PutRegistryScanningConfigurationInput struct { // 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. + // 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. ScanType *string `locationName:"scanType" type:"string" enum:"ScanType"` } @@ -11623,7 +11648,10 @@ type RegistryScanningRule struct { // RepositoryFilters is a required field RepositoryFilters []*ScanningRepositoryFilter `locationName:"repositoryFilters" type:"list" required:"true"` - // The frequency that scans are performed at for a private registry. + // 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. // // ScanFrequency is a required field ScanFrequency *string `locationName:"scanFrequency" type:"string" required:"true" enum:"ScanFrequency"` @@ -13199,10 +13227,10 @@ func (s *StartLifecyclePolicyPreviewOutput) SetStatus(v string) *StartLifecycleP return s } -// 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. +// 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. type Tag struct { _ struct{} `type:"structure"` @@ -13210,8 +13238,7 @@ type Tag struct { // that acts like a category for more specific tag values. Key *string `type:"string"` - // 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). Value *string `type:"string"` } diff --git a/service/gamelift/api.go b/service/gamelift/api.go index 804ed3015c5..9e2b10d25c0 100644 --- a/service/gamelift/api.go +++ b/service/gamelift/api.go @@ -3881,7 +3881,7 @@ func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLi // DescribeEC2InstanceLimits API operation for Amazon GameLift. // -// The GameLift service limits and current utilization for an Amazon Web Services +// 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 (http://aws.amazon.com/ec2/instance-types/). @@ -6561,7 +6561,7 @@ func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) ( // 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 +// configuration. Continuously polling ticket status with DescribeMatchmaking // should only be used for games in development with low matchmaking usage. // // Learn more diff --git a/service/keyspaces/api.go b/service/keyspaces/api.go new file mode 100644 index 00000000000..b410438900b --- /dev/null +++ b/service/keyspaces/api.go @@ -0,0 +1,4911 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package keyspaces + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opCreateKeyspace = "CreateKeyspace" + +// CreateKeyspaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateKeyspace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateKeyspace for more information on using the CreateKeyspace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateKeyspaceRequest method. +// req, resp := client.CreateKeyspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspace +func (c *Keyspaces) CreateKeyspaceRequest(input *CreateKeyspaceInput) (req *request.Request, output *CreateKeyspaceOutput) { + op := &request.Operation{ + Name: opCreateKeyspace, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateKeyspaceInput{} + } + + output = &CreateKeyspaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateKeyspace API operation for Amazon Keyspaces. +// +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-keyspaces.html#keyspaces-create) +// in the Amazon Keyspaces Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation CreateKeyspace for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspace +func (c *Keyspaces) CreateKeyspace(input *CreateKeyspaceInput) (*CreateKeyspaceOutput, error) { + req, out := c.CreateKeyspaceRequest(input) + return out, req.Send() +} + +// CreateKeyspaceWithContext is the same as CreateKeyspace with the addition of +// the ability to pass a context and additional request options. +// +// See CreateKeyspace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) CreateKeyspaceWithContext(ctx aws.Context, input *CreateKeyspaceInput, opts ...request.Option) (*CreateKeyspaceOutput, error) { + req, out := c.CreateKeyspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTable = "CreateTable" + +// CreateTableRequest generates a "aws/request.Request" representing the +// client's request for the CreateTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTable for more information on using the CreateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTableRequest method. +// req, resp := client.CreateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTable +func (c *Keyspaces) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) { + op := &request.Operation{ + Name: opCreateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTableInput{} + } + + output = &CreateTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTable API operation for Amazon Keyspaces. +// +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html#tables-create) +// in the Amazon Keyspaces Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation CreateTable for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTable +func (c *Keyspaces) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { + req, out := c.CreateTableRequest(input) + return out, req.Send() +} + +// CreateTableWithContext is the same as CreateTable with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) { + req, out := c.CreateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteKeyspace = "DeleteKeyspace" + +// DeleteKeyspaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKeyspace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteKeyspace for more information on using the DeleteKeyspace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteKeyspaceRequest method. +// req, resp := client.DeleteKeyspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspace +func (c *Keyspaces) DeleteKeyspaceRequest(input *DeleteKeyspaceInput) (req *request.Request, output *DeleteKeyspaceOutput) { + op := &request.Operation{ + Name: opDeleteKeyspace, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteKeyspaceInput{} + } + + output = &DeleteKeyspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteKeyspace API operation for Amazon Keyspaces. +// +// The DeleteKeyspace operation deletes a keyspace and all of its tables. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation DeleteKeyspace for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspace +func (c *Keyspaces) DeleteKeyspace(input *DeleteKeyspaceInput) (*DeleteKeyspaceOutput, error) { + req, out := c.DeleteKeyspaceRequest(input) + return out, req.Send() +} + +// DeleteKeyspaceWithContext is the same as DeleteKeyspace with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteKeyspace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) DeleteKeyspaceWithContext(ctx aws.Context, input *DeleteKeyspaceInput, opts ...request.Option) (*DeleteKeyspaceOutput, error) { + req, out := c.DeleteKeyspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTable = "DeleteTable" + +// DeleteTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTable for more information on using the DeleteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTableRequest method. +// req, resp := client.DeleteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTable +func (c *Keyspaces) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) { + op := &request.Operation{ + Name: opDeleteTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTableInput{} + } + + output = &DeleteTableOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTable API operation for Amazon Keyspaces. +// +// The DeleteTable operation deletes a table and all of its data. After a DeleteTable +// request is received, the specified table is in the DELETING state until Amazon +// Keyspaces completes the deletion. If the table is in the ACTIVE state, you +// can delete it. If a table is either in the CREATING or UPDATING states, then +// Amazon Keyspaces returns a ResourceInUseException. If the specified table +// does not exist, Amazon Keyspaces returns a ResourceNotFoundException. If +// the table is already in the DELETING state, no error is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation DeleteTable for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTable +func (c *Keyspaces) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { + req, out := c.DeleteTableRequest(input) + return out, req.Send() +} + +// DeleteTableWithContext is the same as DeleteTable with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) { + req, out := c.DeleteTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKeyspace = "GetKeyspace" + +// GetKeyspaceRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyspace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetKeyspace for more information on using the GetKeyspace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetKeyspaceRequest method. +// req, resp := client.GetKeyspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspace +func (c *Keyspaces) GetKeyspaceRequest(input *GetKeyspaceInput) (req *request.Request, output *GetKeyspaceOutput) { + op := &request.Operation{ + Name: opGetKeyspace, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetKeyspaceInput{} + } + + output = &GetKeyspaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKeyspace API operation for Amazon Keyspaces. +// +// Returns the name and the Amazon Resource Name (ARN) of the specified table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation GetKeyspace for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspace +func (c *Keyspaces) GetKeyspace(input *GetKeyspaceInput) (*GetKeyspaceOutput, error) { + req, out := c.GetKeyspaceRequest(input) + return out, req.Send() +} + +// GetKeyspaceWithContext is the same as GetKeyspace with the addition of +// the ability to pass a context and additional request options. +// +// See GetKeyspace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) GetKeyspaceWithContext(ctx aws.Context, input *GetKeyspaceInput, opts ...request.Option) (*GetKeyspaceOutput, error) { + req, out := c.GetKeyspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTable = "GetTable" + +// GetTableRequest generates a "aws/request.Request" representing the +// client's request for the GetTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTable for more information on using the GetTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTableRequest method. +// req, resp := client.GetTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTable +func (c *Keyspaces) GetTableRequest(input *GetTableInput) (req *request.Request, output *GetTableOutput) { + op := &request.Operation{ + Name: opGetTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTableInput{} + } + + output = &GetTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTable API operation for Amazon Keyspaces. +// +// Returns information about the table, including the table's name and current +// status, the keyspace name, configuration settings, and metadata. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation GetTable for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTable +func (c *Keyspaces) GetTable(input *GetTableInput) (*GetTableOutput, error) { + req, out := c.GetTableRequest(input) + return out, req.Send() +} + +// GetTableWithContext is the same as GetTable with the addition of +// the ability to pass a context and additional request options. +// +// See GetTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) GetTableWithContext(ctx aws.Context, input *GetTableInput, opts ...request.Option) (*GetTableOutput, error) { + req, out := c.GetTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListKeyspaces = "ListKeyspaces" + +// ListKeyspacesRequest generates a "aws/request.Request" representing the +// client's request for the ListKeyspaces operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListKeyspaces for more information on using the ListKeyspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListKeyspacesRequest method. +// req, resp := client.ListKeyspacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspaces +func (c *Keyspaces) ListKeyspacesRequest(input *ListKeyspacesInput) (req *request.Request, output *ListKeyspacesOutput) { + op := &request.Operation{ + Name: opListKeyspaces, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKeyspacesInput{} + } + + output = &ListKeyspacesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKeyspaces API operation for Amazon Keyspaces. +// +// Returns a list of keyspaces. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation ListKeyspaces for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspaces +func (c *Keyspaces) ListKeyspaces(input *ListKeyspacesInput) (*ListKeyspacesOutput, error) { + req, out := c.ListKeyspacesRequest(input) + return out, req.Send() +} + +// ListKeyspacesWithContext is the same as ListKeyspaces with the addition of +// the ability to pass a context and additional request options. +// +// See ListKeyspaces for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListKeyspacesWithContext(ctx aws.Context, input *ListKeyspacesInput, opts ...request.Option) (*ListKeyspacesOutput, error) { + req, out := c.ListKeyspacesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKeyspacesPages iterates over the pages of a ListKeyspaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKeyspaces method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListKeyspaces operation. +// pageNum := 0 +// err := client.ListKeyspacesPages(params, +// func(page *keyspaces.ListKeyspacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Keyspaces) ListKeyspacesPages(input *ListKeyspacesInput, fn func(*ListKeyspacesOutput, bool) bool) error { + return c.ListKeyspacesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKeyspacesPagesWithContext same as ListKeyspacesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListKeyspacesPagesWithContext(ctx aws.Context, input *ListKeyspacesInput, fn func(*ListKeyspacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKeyspacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKeyspacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKeyspacesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTables = "ListTables" + +// ListTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListTables operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTables for more information on using the ListTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTablesRequest method. +// req, resp := client.ListTablesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTables +func (c *Keyspaces) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { + op := &request.Operation{ + Name: opListTables, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTablesInput{} + } + + output = &ListTablesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTables API operation for Amazon Keyspaces. +// +// Returns a list of tables for a specified keyspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation ListTables for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTables +func (c *Keyspaces) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { + req, out := c.ListTablesRequest(input) + return out, req.Send() +} + +// ListTablesWithContext is the same as ListTables with the addition of +// the ability to pass a context and additional request options. +// +// See ListTables for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) { + req, out := c.ListTablesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTablesPages iterates over the pages of a ListTables operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTables method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTables operation. +// pageNum := 0 +// err := client.ListTablesPages(params, +// func(page *keyspaces.ListTablesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Keyspaces) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error { + return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTablesPagesWithContext same as ListTablesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTablesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTablesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTablesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResource +func (c *Keyspaces) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Keyspaces. +// +// Returns a list of all tags associated with the specified Amazon Keyspaces +// resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResource +func (c *Keyspaces) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *keyspaces.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Keyspaces) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opRestoreTable = "RestoreTable" + +// RestoreTableRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RestoreTable for more information on using the RestoreTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RestoreTableRequest method. +// req, resp := client.RestoreTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTable +func (c *Keyspaces) RestoreTableRequest(input *RestoreTableInput) (req *request.Request, output *RestoreTableOutput) { + op := &request.Operation{ + Name: opRestoreTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreTableInput{} + } + + output = &RestoreTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreTable API operation for Amazon Keyspaces. +// +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_window) +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery_HowItWorks.html#howitworks_backup_settings) +// 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 +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation RestoreTable for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTable +func (c *Keyspaces) RestoreTable(input *RestoreTableInput) (*RestoreTableOutput, error) { + req, out := c.RestoreTableRequest(input) + return out, req.Send() +} + +// RestoreTableWithContext is the same as RestoreTable with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) RestoreTableWithContext(ctx aws.Context, input *RestoreTableInput, opts ...request.Option) (*RestoreTableOutput, error) { + req, out := c.RestoreTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResource +func (c *Keyspaces) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Keyspaces. +// +// 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 +// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) +// in the Amazon Keyspaces Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResource +func (c *Keyspaces) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResource +func (c *Keyspaces) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Keyspaces. +// +// Removes the association of tags from a Amazon Keyspaces resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResource +func (c *Keyspaces) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTable = "UpdateTable" + +// UpdateTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTable for more information on using the UpdateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTableRequest method. +// req, resp := client.UpdateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTable +func (c *Keyspaces) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { + op := &request.Operation{ + Name: opUpdateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableInput{} + } + + output = &UpdateTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTable API operation for Amazon Keyspaces. +// +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Keyspaces's +// API operation UpdateTable for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation failed due to an invalid or malformed request. +// +// * ServiceQuotaExceededException +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +// +// * InternalServerException +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +// +// * ConflictException +// 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. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// 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. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTable +func (c *Keyspaces) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + return out, req.Send() +} + +// UpdateTableWithContext is the same as UpdateTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Keyspaces) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// 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.

+type CapacitySpecification struct { + _ struct{} `type:"structure"` + + // The throughput capacity specified for read operations defined in read capacity + // units (RCUs). + ReadCapacityUnits *int64 `locationName:"readCapacityUnits" min:"1" type:"long"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) + // in the Amazon Keyspaces Developer Guide. + // + // ThroughputMode is a required field + ThroughputMode *string `locationName:"throughputMode" type:"string" required:"true" enum:"ThroughputMode"` + + // The throughput capacity specified for write operations defined in write capacity + // units (WCUs). + WriteCapacityUnits *int64 `locationName:"writeCapacityUnits" min:"1" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CapacitySpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CapacitySpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CapacitySpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CapacitySpecification"} + if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) + } + if s.ThroughputMode == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputMode")) + } + if s.WriteCapacityUnits != nil && *s.WriteCapacityUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("WriteCapacityUnits", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReadCapacityUnits sets the ReadCapacityUnits field's value. +func (s *CapacitySpecification) SetReadCapacityUnits(v int64) *CapacitySpecification { + s.ReadCapacityUnits = &v + return s +} + +// SetThroughputMode sets the ThroughputMode field's value. +func (s *CapacitySpecification) SetThroughputMode(v string) *CapacitySpecification { + s.ThroughputMode = &v + return s +} + +// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. +func (s *CapacitySpecification) SetWriteCapacityUnits(v int64) *CapacitySpecification { + s.WriteCapacityUnits = &v + return s +} + +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) +// in the Amazon Keyspaces Developer Guide. +type CapacitySpecificationSummary struct { + _ struct{} `type:"structure"` + + // The timestamp of the last operation that changed the provisioned throughput + // capacity of a table. + LastUpdateToPayPerRequestTimestamp *time.Time `locationName:"lastUpdateToPayPerRequestTimestamp" type:"timestamp"` + + // The throughput capacity specified for read operations defined in read capacity + // units (RCUs). + ReadCapacityUnits *int64 `locationName:"readCapacityUnits" min:"1" type:"long"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) + // in the Amazon Keyspaces Developer Guide. + // + // ThroughputMode is a required field + ThroughputMode *string `locationName:"throughputMode" type:"string" required:"true" enum:"ThroughputMode"` + + // The throughput capacity specified for write operations defined in write capacity + // units (WCUs). + WriteCapacityUnits *int64 `locationName:"writeCapacityUnits" min:"1" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CapacitySpecificationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CapacitySpecificationSummary) GoString() string { + return s.String() +} + +// SetLastUpdateToPayPerRequestTimestamp sets the LastUpdateToPayPerRequestTimestamp field's value. +func (s *CapacitySpecificationSummary) SetLastUpdateToPayPerRequestTimestamp(v time.Time) *CapacitySpecificationSummary { + s.LastUpdateToPayPerRequestTimestamp = &v + return s +} + +// SetReadCapacityUnits sets the ReadCapacityUnits field's value. +func (s *CapacitySpecificationSummary) SetReadCapacityUnits(v int64) *CapacitySpecificationSummary { + s.ReadCapacityUnits = &v + return s +} + +// SetThroughputMode sets the ThroughputMode field's value. +func (s *CapacitySpecificationSummary) SetThroughputMode(v string) *CapacitySpecificationSummary { + s.ThroughputMode = &v + return s +} + +// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. +func (s *CapacitySpecificationSummary) SetWriteCapacityUnits(v int64) *CapacitySpecificationSummary { + s.WriteCapacityUnits = &v + return s +} + +// The optional clustering column portion of your primary key determines how +// the data is clustered and sorted within each partition. +type ClusteringKey struct { + _ struct{} `type:"structure"` + + // The name(s) of the clustering column(s). + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Sets the ascendant (ASC) or descendant (DESC) order modifier. + // + // OrderBy is a required field + OrderBy *string `locationName:"orderBy" type:"string" required:"true" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusteringKey) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusteringKey) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClusteringKey) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClusteringKey"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.OrderBy == nil { + invalidParams.Add(request.NewErrParamRequired("OrderBy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ClusteringKey) SetName(v string) *ClusteringKey { + s.Name = &v + return s +} + +// SetOrderBy sets the OrderBy field's value. +func (s *ClusteringKey) SetOrderBy(v string) *ClusteringKey { + s.OrderBy = &v + return s +} + +// The names and data types of regular columns. +type ColumnDefinition struct { + _ struct{} `type:"structure"` + + // The name of the column. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The data type of the column. For a list of available data types, see Data + // types (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) + // in the Amazon Keyspaces Developer Guide. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnDefinition"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ColumnDefinition) SetName(v string) *ColumnDefinition { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ColumnDefinition) SetType(v string) *ColumnDefinition { + s.Type = &v + return s +} + +// An optional comment that describes the table. +type Comment struct { + _ struct{} `type:"structure"` + + // An optional description of the table. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Comment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Comment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Comment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Comment"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMessage sets the Message field's value. +func (s *Comment) SetMessage(v string) *Comment { + s.Message = &v + return s +} + +// 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. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateKeyspaceInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace to be created. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // 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 + // (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) + // in the Amazon Keyspaces Developer Guide. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKeyspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKeyspaceInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *CreateKeyspaceInput) SetKeyspaceName(v string) *CreateKeyspaceInput { + s.KeyspaceName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateKeyspaceInput) SetTags(v []*Tag) *CreateKeyspaceInput { + s.Tags = v + return s +} + +type CreateKeyspaceOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the keyspace in the format of an Amazon Resource + // Name (ARN). + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateKeyspaceOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateKeyspaceOutput) SetResourceArn(v string) *CreateKeyspaceOutput { + s.ResourceArn = &v + return s +} + +type CreateTableInput struct { + _ struct{} `type:"structure"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) + // in the Amazon Keyspaces Developer Guide. + CapacitySpecification *CapacitySpecification `locationName:"capacitySpecification" type:"structure"` + + // This parameter allows to enter a description of the table. + Comment *Comment `locationName:"comment" type:"structure"` + + // The default Time to Live setting in seconds for the table. + // + // For more information, see Setting the default TTL value for a table (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) + // in the Amazon Keyspaces Developer Guide. + DefaultTimeToLive *int64 `locationName:"defaultTimeToLive" min:"1" type:"integer"` + + // 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): + // + // + //

The default is type:AWS_OWNED_KMS_KEY.

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

+ EncryptionSpecification *EncryptionSpecification `locationName:"encryptionSpecification" type:"structure"` + + // The name of the keyspace that the table is going to be created in. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) + // in the Amazon Keyspaces Developer Guide. + PointInTimeRecovery *PointInTimeRecovery `locationName:"pointInTimeRecovery" type:"structure"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) + // in the Amazon Keyspaces Developer Guide. + // + //

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

+ //

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

+ // + // SchemaDefinition is a required field + SchemaDefinition *SchemaDefinition `locationName:"schemaDefinition" type:"structure" required:"true"` + + // The name of the table. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` + + // 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 + // (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) + // in the Amazon Keyspaces Developer Guide. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` + + // 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) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html) + // in the Amazon Keyspaces Developer Guide. + Ttl *TimeToLive `locationName:"ttl" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} + if s.DefaultTimeToLive != nil && *s.DefaultTimeToLive < 1 { + invalidParams.Add(request.NewErrParamMinValue("DefaultTimeToLive", 1)) + } + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.SchemaDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaDefinition")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.CapacitySpecification != nil { + if err := s.CapacitySpecification.Validate(); err != nil { + invalidParams.AddNested("CapacitySpecification", err.(request.ErrInvalidParams)) + } + } + if s.Comment != nil { + if err := s.Comment.Validate(); err != nil { + invalidParams.AddNested("Comment", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionSpecification != nil { + if err := s.EncryptionSpecification.Validate(); err != nil { + invalidParams.AddNested("EncryptionSpecification", err.(request.ErrInvalidParams)) + } + } + if s.PointInTimeRecovery != nil { + if err := s.PointInTimeRecovery.Validate(); err != nil { + invalidParams.AddNested("PointInTimeRecovery", err.(request.ErrInvalidParams)) + } + } + if s.SchemaDefinition != nil { + if err := s.SchemaDefinition.Validate(); err != nil { + invalidParams.AddNested("SchemaDefinition", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Ttl != nil { + if err := s.Ttl.Validate(); err != nil { + invalidParams.AddNested("Ttl", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacitySpecification sets the CapacitySpecification field's value. +func (s *CreateTableInput) SetCapacitySpecification(v *CapacitySpecification) *CreateTableInput { + s.CapacitySpecification = v + return s +} + +// SetComment sets the Comment field's value. +func (s *CreateTableInput) SetComment(v *Comment) *CreateTableInput { + s.Comment = v + return s +} + +// SetDefaultTimeToLive sets the DefaultTimeToLive field's value. +func (s *CreateTableInput) SetDefaultTimeToLive(v int64) *CreateTableInput { + s.DefaultTimeToLive = &v + return s +} + +// SetEncryptionSpecification sets the EncryptionSpecification field's value. +func (s *CreateTableInput) SetEncryptionSpecification(v *EncryptionSpecification) *CreateTableInput { + s.EncryptionSpecification = v + return s +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *CreateTableInput) SetKeyspaceName(v string) *CreateTableInput { + s.KeyspaceName = &v + return s +} + +// SetPointInTimeRecovery sets the PointInTimeRecovery field's value. +func (s *CreateTableInput) SetPointInTimeRecovery(v *PointInTimeRecovery) *CreateTableInput { + s.PointInTimeRecovery = v + return s +} + +// SetSchemaDefinition sets the SchemaDefinition field's value. +func (s *CreateTableInput) SetSchemaDefinition(v *SchemaDefinition) *CreateTableInput { + s.SchemaDefinition = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { + s.TableName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { + s.Tags = v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *CreateTableInput) SetTtl(v *TimeToLive) *CreateTableInput { + s.Ttl = v + return s +} + +type CreateTableOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the table in the format of an Amazon Resource Name + // (ARN). + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateTableOutput) SetResourceArn(v string) *CreateTableOutput { + s.ResourceArn = &v + return s +} + +type DeleteKeyspaceInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace to be deleted. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKeyspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyspaceInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *DeleteKeyspaceInput) SetKeyspaceName(v string) *DeleteKeyspaceInput { + s.KeyspaceName = &v + return s +} + +type DeleteKeyspaceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteKeyspaceOutput) GoString() string { + return s.String() +} + +type DeleteTableInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace of the to be deleted table. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The name of the table to be deleted. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *DeleteTableInput) SetKeyspaceName(v string) *DeleteTableInput { + s.KeyspaceName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput { + s.TableName = &v + return s +} + +type DeleteTableOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTableOutput) GoString() string { + return s.String() +} + +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) +// in the Amazon Keyspaces Developer Guide. +// +// For more information about KMS, see KMS management service concepts (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) +// in the Key Management Service Developer Guide. +type EncryptionSpecification struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the customer managed KMS key, for example + // kms_key_identifier:ARN. + KmsKeyIdentifier *string `locationName:"kmsKeyIdentifier" min:"1" type:"string"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) + // in the Amazon Keyspaces Developer Guide. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"EncryptionType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionSpecification"} + if s.KmsKeyIdentifier != nil && len(*s.KmsKeyIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyIdentifier", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyIdentifier sets the KmsKeyIdentifier field's value. +func (s *EncryptionSpecification) SetKmsKeyIdentifier(v string) *EncryptionSpecification { + s.KmsKeyIdentifier = &v + return s +} + +// SetType sets the Type field's value. +func (s *EncryptionSpecification) SetType(v string) *EncryptionSpecification { + s.Type = &v + return s +} + +type GetKeyspaceInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyspaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKeyspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKeyspaceInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *GetKeyspaceInput) SetKeyspaceName(v string) *GetKeyspaceInput { + s.KeyspaceName = &v + return s +} + +type GetKeyspaceOutput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The ARN of the keyspace. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyspaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKeyspaceOutput) GoString() string { + return s.String() +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *GetKeyspaceOutput) SetKeyspaceName(v string) *GetKeyspaceOutput { + s.KeyspaceName = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetKeyspaceOutput) SetResourceArn(v string) *GetKeyspaceOutput { + s.ResourceArn = &v + return s +} + +type GetTableInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace that the table is stored in. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The name of the table. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *GetTableInput) SetKeyspaceName(v string) *GetTableInput { + s.KeyspaceName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableInput) SetTableName(v string) *GetTableInput { + s.TableName = &v + return s +} + +type GetTableOutput struct { + _ struct{} `type:"structure"` + + // The read/write throughput capacity mode for a table. The options are: + // + // * throughputMode:PAY_PER_REQUEST and + // + // * throughputMode:PROVISIONED. + CapacitySpecification *CapacitySpecificationSummary `locationName:"capacitySpecification" type:"structure"` + + // The the description of the specified table. + Comment *Comment `locationName:"comment" type:"structure"` + + // The creation timestamp of the specified table. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // The default Time to Live settings of the specified table. + DefaultTimeToLive *int64 `locationName:"defaultTimeToLive" min:"1" type:"integer"` + + // The encryption settings of the specified table. + EncryptionSpecification *EncryptionSpecification `locationName:"encryptionSpecification" type:"structure"` + + // The name of the keyspace that the specified table is stored in. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The point-in-time recovery status of the specified table. + PointInTimeRecovery *PointInTimeRecoverySummary `locationName:"pointInTimeRecovery" type:"structure"` + + // The Amazon Resource Name (ARN) of the specified table. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The schema definition of the specified table. + SchemaDefinition *SchemaDefinition `locationName:"schemaDefinition" type:"structure"` + + // The current status of the specified table. + Status *string `locationName:"status" type:"string" enum:"TableStatus"` + + // The name of the specified table. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` + + // The custom Time to Live settings of the specified table. + Ttl *TimeToLive `locationName:"ttl" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTableOutput) GoString() string { + return s.String() +} + +// SetCapacitySpecification sets the CapacitySpecification field's value. +func (s *GetTableOutput) SetCapacitySpecification(v *CapacitySpecificationSummary) *GetTableOutput { + s.CapacitySpecification = v + return s +} + +// SetComment sets the Comment field's value. +func (s *GetTableOutput) SetComment(v *Comment) *GetTableOutput { + s.Comment = v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *GetTableOutput) SetCreationTimestamp(v time.Time) *GetTableOutput { + s.CreationTimestamp = &v + return s +} + +// SetDefaultTimeToLive sets the DefaultTimeToLive field's value. +func (s *GetTableOutput) SetDefaultTimeToLive(v int64) *GetTableOutput { + s.DefaultTimeToLive = &v + return s +} + +// SetEncryptionSpecification sets the EncryptionSpecification field's value. +func (s *GetTableOutput) SetEncryptionSpecification(v *EncryptionSpecification) *GetTableOutput { + s.EncryptionSpecification = v + return s +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *GetTableOutput) SetKeyspaceName(v string) *GetTableOutput { + s.KeyspaceName = &v + return s +} + +// SetPointInTimeRecovery sets the PointInTimeRecovery field's value. +func (s *GetTableOutput) SetPointInTimeRecovery(v *PointInTimeRecoverySummary) *GetTableOutput { + s.PointInTimeRecovery = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetTableOutput) SetResourceArn(v string) *GetTableOutput { + s.ResourceArn = &v + return s +} + +// SetSchemaDefinition sets the SchemaDefinition field's value. +func (s *GetTableOutput) SetSchemaDefinition(v *SchemaDefinition) *GetTableOutput { + s.SchemaDefinition = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetTableOutput) SetStatus(v string) *GetTableOutput { + s.Status = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableOutput) SetTableName(v string) *GetTableOutput { + s.TableName = &v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *GetTableOutput) SetTtl(v *TimeToLive) *GetTableOutput { + s.Ttl = v + return s +} + +// Amazon Keyspaces was unable to fully process this request because of an internal +// server error. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents the properties of a keyspace. +type KeyspaceSummary struct { + _ struct{} `type:"structure"` + + // The name of the keyspace. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The unique identifier of the keyspace in the format of an Amazon Resource + // Name (ARN). + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyspaceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyspaceSummary) GoString() string { + return s.String() +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *KeyspaceSummary) SetKeyspaceName(v string) *KeyspaceSummary { + s.KeyspaceName = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *KeyspaceSummary) SetResourceArn(v string) *KeyspaceSummary { + s.ResourceArn = &v + return s +} + +type ListKeyspacesInput struct { + _ struct{} `type:"structure"` + + // 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. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token. To resume pagination, provide the NextToken value as + // argument of a subsequent API invocation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyspacesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyspacesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKeyspacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKeyspacesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKeyspacesInput) SetMaxResults(v int64) *ListKeyspacesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKeyspacesInput) SetNextToken(v string) *ListKeyspacesInput { + s.NextToken = &v + return s +} + +type ListKeyspacesOutput struct { + _ struct{} `type:"structure"` + + // A list of keyspaces. + // + // Keyspaces is a required field + Keyspaces []*KeyspaceSummary `locationName:"keyspaces" type:"list" required:"true"` + + // A token to specify where to start paginating. This is the NextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyspacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListKeyspacesOutput) GoString() string { + return s.String() +} + +// SetKeyspaces sets the Keyspaces field's value. +func (s *ListKeyspacesOutput) SetKeyspaces(v []*KeyspaceSummary) *ListKeyspacesOutput { + s.Keyspaces = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKeyspacesOutput) SetNextToken(v string) *ListKeyspacesOutput { + s.NextToken = &v + return s +} + +type ListTablesInput struct { + _ struct{} `type:"structure"` + + // The name of the keyspace. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // 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. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token. To resume pagination, provide the NextToken value as + // an argument of a subsequent API invocation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTablesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTablesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"} + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *ListTablesInput) SetKeyspaceName(v string) *ListTablesInput { + s.KeyspaceName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTablesInput) SetMaxResults(v int64) *ListTablesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTablesInput) SetNextToken(v string) *ListTablesInput { + s.NextToken = &v + return s +} + +type ListTablesOutput struct { + _ struct{} `type:"structure"` + + // A token to specify where to start paginating. This is the NextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // A list of tables. + Tables []*TableSummary `locationName:"tables" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTablesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTablesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTablesOutput) SetNextToken(v string) *ListTablesOutput { + s.NextToken = &v + return s +} + +// SetTables sets the Tables field's value. +func (s *ListTablesOutput) SetTables(v []*TableSummary) *ListTablesOutput { + s.Tables = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // 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. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token. To resume pagination, provide the NextToken value as + // argument of a subsequent API invocation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the Amazon Keyspaces resource. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A token to specify where to start paginating. This is the NextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // A list of tags. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// 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. +type PartitionKey struct { + _ struct{} `type:"structure"` + + // The name(s) of the partition key column(s). + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PartitionKey) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PartitionKey) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PartitionKey) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PartitionKey"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *PartitionKey) SetName(v string) *PartitionKey { + s.Name = &v + return s +} + +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) +// in the Amazon Keyspaces Developer Guide. +type PointInTimeRecovery struct { + _ struct{} `type:"structure"` + + // The options are: + // + // * ENABLED + // + // * DISABLED + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"PointInTimeRecoveryStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PointInTimeRecovery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PointInTimeRecovery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PointInTimeRecovery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PointInTimeRecovery"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *PointInTimeRecovery) SetStatus(v string) *PointInTimeRecovery { + s.Status = &v + return s +} + +// The point-in-time recovery status of the specified table. +type PointInTimeRecoverySummary struct { + _ struct{} `type:"structure"` + + // Specifies the earliest possible restore point of the table in ISO 8601 format. + EarliestRestorableTimestamp *time.Time `locationName:"earliestRestorableTimestamp" type:"timestamp"` + + // Shows if point-in-time recovery is enabled or disabled for the specified + // table. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"PointInTimeRecoveryStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PointInTimeRecoverySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PointInTimeRecoverySummary) GoString() string { + return s.String() +} + +// SetEarliestRestorableTimestamp sets the EarliestRestorableTimestamp field's value. +func (s *PointInTimeRecoverySummary) SetEarliestRestorableTimestamp(v time.Time) *PointInTimeRecoverySummary { + s.EarliestRestorableTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PointInTimeRecoverySummary) SetStatus(v string) *PointInTimeRecoverySummary { + s.Status = &v + return s +} + +// 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. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The unique identifier in the format of Amazon Resource Name (ARN), for the + // resource not found. + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RestoreTableInput struct { + _ struct{} `type:"structure"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) + // in the Amazon Keyspaces Developer Guide. + CapacitySpecificationOverride *CapacitySpecification `locationName:"capacitySpecificationOverride" type:"structure"` + + // Specifies the encryption settings for the target table. You can choose one + // of the following KMS key (KMS key): + // + // + //

The default is type:AWS_OWNED_KMS_KEY.

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

+ EncryptionSpecificationOverride *EncryptionSpecification `locationName:"encryptionSpecificationOverride" type:"structure"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) + // in the Amazon Keyspaces Developer Guide. + PointInTimeRecoveryOverride *PointInTimeRecovery `locationName:"pointInTimeRecoveryOverride" type:"structure"` + + // The restore timestamp in ISO 8601 format. + RestoreTimestamp *time.Time `locationName:"restoreTimestamp" type:"timestamp"` + + // The keyspace name of the source table. + // + // SourceKeyspaceName is a required field + SourceKeyspaceName *string `locationName:"sourceKeyspaceName" min:"1" type:"string" required:"true"` + + // The name of the source table. + // + // SourceTableName is a required field + SourceTableName *string `locationName:"sourceTableName" min:"1" type:"string" required:"true"` + + // 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 + // (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) + // in the Amazon Keyspaces Developer Guide. + TagsOverride []*Tag `locationName:"tagsOverride" min:"1" type:"list"` + + // The name of the target keyspace. + // + // TargetKeyspaceName is a required field + TargetKeyspaceName *string `locationName:"targetKeyspaceName" min:"1" type:"string" required:"true"` + + // The name of the target table. + // + // TargetTableName is a required field + TargetTableName *string `locationName:"targetTableName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreTableInput"} + if s.SourceKeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceKeyspaceName")) + } + if s.SourceKeyspaceName != nil && len(*s.SourceKeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceKeyspaceName", 1)) + } + if s.SourceTableName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceTableName")) + } + if s.SourceTableName != nil && len(*s.SourceTableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 1)) + } + if s.TagsOverride != nil && len(s.TagsOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagsOverride", 1)) + } + if s.TargetKeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetKeyspaceName")) + } + if s.TargetKeyspaceName != nil && len(*s.TargetKeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetKeyspaceName", 1)) + } + if s.TargetTableName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetTableName")) + } + if s.TargetTableName != nil && len(*s.TargetTableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 1)) + } + if s.CapacitySpecificationOverride != nil { + if err := s.CapacitySpecificationOverride.Validate(); err != nil { + invalidParams.AddNested("CapacitySpecificationOverride", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionSpecificationOverride != nil { + if err := s.EncryptionSpecificationOverride.Validate(); err != nil { + invalidParams.AddNested("EncryptionSpecificationOverride", err.(request.ErrInvalidParams)) + } + } + if s.PointInTimeRecoveryOverride != nil { + if err := s.PointInTimeRecoveryOverride.Validate(); err != nil { + invalidParams.AddNested("PointInTimeRecoveryOverride", err.(request.ErrInvalidParams)) + } + } + if s.TagsOverride != nil { + for i, v := range s.TagsOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsOverride", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacitySpecificationOverride sets the CapacitySpecificationOverride field's value. +func (s *RestoreTableInput) SetCapacitySpecificationOverride(v *CapacitySpecification) *RestoreTableInput { + s.CapacitySpecificationOverride = v + return s +} + +// SetEncryptionSpecificationOverride sets the EncryptionSpecificationOverride field's value. +func (s *RestoreTableInput) SetEncryptionSpecificationOverride(v *EncryptionSpecification) *RestoreTableInput { + s.EncryptionSpecificationOverride = v + return s +} + +// SetPointInTimeRecoveryOverride sets the PointInTimeRecoveryOverride field's value. +func (s *RestoreTableInput) SetPointInTimeRecoveryOverride(v *PointInTimeRecovery) *RestoreTableInput { + s.PointInTimeRecoveryOverride = v + return s +} + +// SetRestoreTimestamp sets the RestoreTimestamp field's value. +func (s *RestoreTableInput) SetRestoreTimestamp(v time.Time) *RestoreTableInput { + s.RestoreTimestamp = &v + return s +} + +// SetSourceKeyspaceName sets the SourceKeyspaceName field's value. +func (s *RestoreTableInput) SetSourceKeyspaceName(v string) *RestoreTableInput { + s.SourceKeyspaceName = &v + return s +} + +// SetSourceTableName sets the SourceTableName field's value. +func (s *RestoreTableInput) SetSourceTableName(v string) *RestoreTableInput { + s.SourceTableName = &v + return s +} + +// SetTagsOverride sets the TagsOverride field's value. +func (s *RestoreTableInput) SetTagsOverride(v []*Tag) *RestoreTableInput { + s.TagsOverride = v + return s +} + +// SetTargetKeyspaceName sets the TargetKeyspaceName field's value. +func (s *RestoreTableInput) SetTargetKeyspaceName(v string) *RestoreTableInput { + s.TargetKeyspaceName = &v + return s +} + +// SetTargetTableName sets the TargetTableName field's value. +func (s *RestoreTableInput) SetTargetTableName(v string) *RestoreTableInput { + s.TargetTableName = &v + return s +} + +type RestoreTableOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the restored table. + // + // RestoredTableARN is a required field + RestoredTableARN *string `locationName:"restoredTableARN" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreTableOutput) GoString() string { + return s.String() +} + +// SetRestoredTableARN sets the RestoredTableARN field's value. +func (s *RestoreTableOutput) SetRestoredTableARN(v string) *RestoreTableOutput { + s.RestoredTableARN = &v + return s +} + +// Describes the schema of the table. +type SchemaDefinition struct { + _ struct{} `type:"structure"` + + // The regular columns of the table. + // + // AllColumns is a required field + AllColumns []*ColumnDefinition `locationName:"allColumns" min:"1" type:"list" required:"true"` + + // The columns that are part of the clustering key of the table. + ClusteringKeys []*ClusteringKey `locationName:"clusteringKeys" type:"list"` + + // The columns that are part of the partition key of the table . + // + // PartitionKeys is a required field + PartitionKeys []*PartitionKey `locationName:"partitionKeys" min:"1" type:"list" required:"true"` + + // The columns that have been defined as STATIC. Static columns store values + // that are shared by all rows in the same partition. + StaticColumns []*StaticColumn `locationName:"staticColumns" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SchemaDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SchemaDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SchemaDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SchemaDefinition"} + if s.AllColumns == nil { + invalidParams.Add(request.NewErrParamRequired("AllColumns")) + } + if s.AllColumns != nil && len(s.AllColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AllColumns", 1)) + } + if s.PartitionKeys == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionKeys")) + } + if s.PartitionKeys != nil && len(s.PartitionKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartitionKeys", 1)) + } + if s.AllColumns != nil { + for i, v := range s.AllColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AllColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ClusteringKeys != nil { + for i, v := range s.ClusteringKeys { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClusteringKeys", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PartitionKeys != nil { + for i, v := range s.PartitionKeys { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionKeys", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StaticColumns != nil { + for i, v := range s.StaticColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StaticColumns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllColumns sets the AllColumns field's value. +func (s *SchemaDefinition) SetAllColumns(v []*ColumnDefinition) *SchemaDefinition { + s.AllColumns = v + return s +} + +// SetClusteringKeys sets the ClusteringKeys field's value. +func (s *SchemaDefinition) SetClusteringKeys(v []*ClusteringKey) *SchemaDefinition { + s.ClusteringKeys = v + return s +} + +// SetPartitionKeys sets the PartitionKeys field's value. +func (s *SchemaDefinition) SetPartitionKeys(v []*PartitionKey) *SchemaDefinition { + s.PartitionKeys = v + return s +} + +// SetStaticColumns sets the StaticColumns field's value. +func (s *SchemaDefinition) SetStaticColumns(v []*StaticColumn) *SchemaDefinition { + s.StaticColumns = v + return s +} + +// The operation exceeded the service quota for this resource. For more information +// on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) +// in the Amazon Keyspaces Developer Guide. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The static columns of the table. Static columns store values that are shared +// by all rows in the same partition. +type StaticColumn struct { + _ struct{} `type:"structure"` + + // The name of the static column. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StaticColumn) SetName(v string) *StaticColumn { + s.Name = &v + return s +} + +// 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). +type TableSummary struct { + _ struct{} `type:"structure"` + + // The name of the keyspace that the table is stored in. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // The unique identifier of the table in the format of an Amazon Resource Name + // (ARN). + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The name of the table. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TableSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TableSummary) GoString() string { + return s.String() +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *TableSummary) SetKeyspaceName(v string) *TableSummary { + s.KeyspaceName = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TableSummary) SetResourceArn(v string) *TableSummary { + s.ResourceArn = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *TableSummary) SetTableName(v string) *TableSummary { + s.TableName = &v + return s +} + +// 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 +// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) +// in the Amazon Keyspaces Developer Guide. +type Tag struct { + _ struct{} `type:"structure"` + + // 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. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The value of the tag. Tag values are case-sensitive and can be null. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to which + // to add tags. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The tags to be assigned to the Amazon Keyspaces resource. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_enabling) +// in the Amazon Keyspaces Developer Guide. +type TimeToLive struct { + _ struct{} `type:"structure"` + + // Shows how to enable custom Time to Live (TTL) settings for the specified + // table. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"TimeToLiveStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TimeToLive) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TimeToLive) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimeToLive) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimeToLive"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *TimeToLive) SetStatus(v string) *TimeToLive { + s.Status = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Keyspaces resource that the tags will be removed from. This value + // is an Amazon Resource Name (ARN). + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // A list of existing tags to be removed from the Amazon Keyspaces resource. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UntagResourceInput) SetTags(v []*Tag) *UntagResourceInput { + s.Tags = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateTableInput struct { + _ struct{} `type:"structure"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) + // in the Amazon Keyspaces Developer Guide. + AddColumns []*ColumnDefinition `locationName:"addColumns" min:"1" type:"list"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) + // in the Amazon Keyspaces Developer Guide. + CapacitySpecification *CapacitySpecification `locationName:"capacitySpecification" type:"structure"` + + // The default Time to Live setting in seconds for the table. + // + // For more information, see Setting the default TTL value for a table (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) + // in the Amazon Keyspaces Developer Guide. + DefaultTimeToLive *int64 `locationName:"defaultTimeToLive" min:"1" type:"integer"` + + // Modifies the encryption settings of the table. You can choose one of the + // following KMS key (KMS key): + // + // + //

The default is AWS_OWNED_KMS_KEY.

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

+ EncryptionSpecification *EncryptionSpecification `locationName:"encryptionSpecification" type:"structure"` + + // The name of the keyspace the specified table is stored in. + // + // KeyspaceName is a required field + KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + + // 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 (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) + // in the Amazon Keyspaces Developer Guide. + PointInTimeRecovery *PointInTimeRecovery `locationName:"pointInTimeRecovery" type:"structure"` + + // The name of the table. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` + + // 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) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html) + // in the Amazon Keyspaces Developer Guide. + Ttl *TimeToLive `locationName:"ttl" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"} + if s.AddColumns != nil && len(s.AddColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AddColumns", 1)) + } + if s.DefaultTimeToLive != nil && *s.DefaultTimeToLive < 1 { + invalidParams.Add(request.NewErrParamMinValue("DefaultTimeToLive", 1)) + } + if s.KeyspaceName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyspaceName")) + } + if s.KeyspaceName != nil && len(*s.KeyspaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyspaceName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.AddColumns != nil { + for i, v := range s.AddColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CapacitySpecification != nil { + if err := s.CapacitySpecification.Validate(); err != nil { + invalidParams.AddNested("CapacitySpecification", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionSpecification != nil { + if err := s.EncryptionSpecification.Validate(); err != nil { + invalidParams.AddNested("EncryptionSpecification", err.(request.ErrInvalidParams)) + } + } + if s.PointInTimeRecovery != nil { + if err := s.PointInTimeRecovery.Validate(); err != nil { + invalidParams.AddNested("PointInTimeRecovery", err.(request.ErrInvalidParams)) + } + } + if s.Ttl != nil { + if err := s.Ttl.Validate(); err != nil { + invalidParams.AddNested("Ttl", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddColumns sets the AddColumns field's value. +func (s *UpdateTableInput) SetAddColumns(v []*ColumnDefinition) *UpdateTableInput { + s.AddColumns = v + return s +} + +// SetCapacitySpecification sets the CapacitySpecification field's value. +func (s *UpdateTableInput) SetCapacitySpecification(v *CapacitySpecification) *UpdateTableInput { + s.CapacitySpecification = v + return s +} + +// SetDefaultTimeToLive sets the DefaultTimeToLive field's value. +func (s *UpdateTableInput) SetDefaultTimeToLive(v int64) *UpdateTableInput { + s.DefaultTimeToLive = &v + return s +} + +// SetEncryptionSpecification sets the EncryptionSpecification field's value. +func (s *UpdateTableInput) SetEncryptionSpecification(v *EncryptionSpecification) *UpdateTableInput { + s.EncryptionSpecification = v + return s +} + +// SetKeyspaceName sets the KeyspaceName field's value. +func (s *UpdateTableInput) SetKeyspaceName(v string) *UpdateTableInput { + s.KeyspaceName = &v + return s +} + +// SetPointInTimeRecovery sets the PointInTimeRecovery field's value. +func (s *UpdateTableInput) SetPointInTimeRecovery(v *PointInTimeRecovery) *UpdateTableInput { + s.PointInTimeRecovery = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *UpdateTableInput) SetTableName(v string) *UpdateTableInput { + s.TableName = &v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *UpdateTableInput) SetTtl(v *TimeToLive) *UpdateTableInput { + s.Ttl = v + return s +} + +type UpdateTableOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the modified table. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTableOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UpdateTableOutput) SetResourceArn(v string) *UpdateTableOutput { + s.ResourceArn = &v + return s +} + +// The operation failed due to an invalid or malformed request. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // EncryptionTypeCustomerManagedKmsKey is a EncryptionType enum value + EncryptionTypeCustomerManagedKmsKey = "CUSTOMER_MANAGED_KMS_KEY" + + // EncryptionTypeAwsOwnedKmsKey is a EncryptionType enum value + EncryptionTypeAwsOwnedKmsKey = "AWS_OWNED_KMS_KEY" +) + +// EncryptionType_Values returns all elements of the EncryptionType enum +func EncryptionType_Values() []string { + return []string{ + EncryptionTypeCustomerManagedKmsKey, + EncryptionTypeAwsOwnedKmsKey, + } +} + +const ( + // PointInTimeRecoveryStatusEnabled is a PointInTimeRecoveryStatus enum value + PointInTimeRecoveryStatusEnabled = "ENABLED" + + // PointInTimeRecoveryStatusDisabled is a PointInTimeRecoveryStatus enum value + PointInTimeRecoveryStatusDisabled = "DISABLED" +) + +// PointInTimeRecoveryStatus_Values returns all elements of the PointInTimeRecoveryStatus enum +func PointInTimeRecoveryStatus_Values() []string { + return []string{ + PointInTimeRecoveryStatusEnabled, + PointInTimeRecoveryStatusDisabled, + } +} + +const ( + // SortOrderAsc is a SortOrder enum value + SortOrderAsc = "ASC" + + // SortOrderDesc is a SortOrder enum value + SortOrderDesc = "DESC" +) + +// SortOrder_Values returns all elements of the SortOrder enum +func SortOrder_Values() []string { + return []string{ + SortOrderAsc, + SortOrderDesc, + } +} + +const ( + // TableStatusActive is a TableStatus enum value + TableStatusActive = "ACTIVE" + + // TableStatusCreating is a TableStatus enum value + TableStatusCreating = "CREATING" + + // TableStatusUpdating is a TableStatus enum value + TableStatusUpdating = "UPDATING" + + // TableStatusDeleting is a TableStatus enum value + TableStatusDeleting = "DELETING" + + // TableStatusDeleted is a TableStatus enum value + TableStatusDeleted = "DELETED" + + // TableStatusRestoring is a TableStatus enum value + TableStatusRestoring = "RESTORING" + + // TableStatusInaccessibleEncryptionCredentials is a TableStatus enum value + TableStatusInaccessibleEncryptionCredentials = "INACCESSIBLE_ENCRYPTION_CREDENTIALS" +) + +// TableStatus_Values returns all elements of the TableStatus enum +func TableStatus_Values() []string { + return []string{ + TableStatusActive, + TableStatusCreating, + TableStatusUpdating, + TableStatusDeleting, + TableStatusDeleted, + TableStatusRestoring, + TableStatusInaccessibleEncryptionCredentials, + } +} + +const ( + // ThroughputModePayPerRequest is a ThroughputMode enum value + ThroughputModePayPerRequest = "PAY_PER_REQUEST" + + // ThroughputModeProvisioned is a ThroughputMode enum value + ThroughputModeProvisioned = "PROVISIONED" +) + +// ThroughputMode_Values returns all elements of the ThroughputMode enum +func ThroughputMode_Values() []string { + return []string{ + ThroughputModePayPerRequest, + ThroughputModeProvisioned, + } +} + +const ( + // TimeToLiveStatusEnabled is a TimeToLiveStatus enum value + TimeToLiveStatusEnabled = "ENABLED" +) + +// TimeToLiveStatus_Values returns all elements of the TimeToLiveStatus enum +func TimeToLiveStatus_Values() []string { + return []string{ + TimeToLiveStatusEnabled, + } +} diff --git a/service/keyspaces/doc.go b/service/keyspaces/doc.go new file mode 100644 index 00000000000..817b2003cf1 --- /dev/null +++ b/service/keyspaces/doc.go @@ -0,0 +1,45 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package keyspaces provides the client and types for making API +// requests to Amazon Keyspaces. +// +// Amazon Keyspaces (for Apache Cassandra) is a scalable, highly available, +// and managed Apache Cassandra-compatible database service. Amazon Keyspaces +// makes it easy to migrate, run, and scale Cassandra workloads in the Amazon +// Web Services Cloud. With just a few clicks on the Amazon Web Services Management +// Console or a few lines of code, you can create keyspaces and tables in Amazon +// Keyspaces, without deploying any infrastructure or installing software. +// +//

In addition to supporting Cassandra Query Language (CQL) requests via +// open-source Cassandra drivers, Amazon Keyspaces supports data definition +// language (DDL) operations to manage keyspaces and tables using the Amazon +// Web Services SDK and CLI. This API reference describes the supported DDL +// operations in detail.

For the list of all supported CQL +// APIs, see Supported +// Cassandra APIs, operations, and data types in Amazon Keyspaces in +// the Amazon Keyspaces Developer Guide.

For more information +// about Amazon Web Services APIs, for example how to implement retry logic +// or how to sign Amazon Web Services API requests, see Amazon +// Web Services APIs in the General Reference.

+// +// See https://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10 for more information on this service. +// +// See keyspaces package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/keyspaces/ +// +// Using the Client +// +// To contact Amazon Keyspaces with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon Keyspaces client Keyspaces for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/keyspaces/#New +package keyspaces diff --git a/service/keyspaces/errors.go b/service/keyspaces/errors.go new file mode 100644 index 00000000000..7612b98e4b6 --- /dev/null +++ b/service/keyspaces/errors.go @@ -0,0 +1,61 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package keyspaces + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // 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. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Amazon Keyspaces was unable to fully process this request because of an internal + // server error. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // 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. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The operation exceeded the service quota for this resource. For more information + // on service quotas, see Quotas (https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html) + // in the Amazon Keyspaces Developer Guide. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The operation failed due to an invalid or malformed request. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ValidationException": newErrorValidationException, +} diff --git a/service/keyspaces/keyspacesiface/interface.go b/service/keyspaces/keyspacesiface/interface.go new file mode 100644 index 00000000000..e6d47e40e86 --- /dev/null +++ b/service/keyspaces/keyspacesiface/interface.go @@ -0,0 +1,125 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package keyspacesiface provides an interface to enable mocking the Amazon Keyspaces service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package keyspacesiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/keyspaces" +) + +// KeyspacesAPI provides an interface to enable mocking the +// keyspaces.Keyspaces service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon Keyspaces. +// func myFunc(svc keyspacesiface.KeyspacesAPI) bool { +// // Make svc.CreateKeyspace request +// } +// +// func main() { +// sess := session.New() +// svc := keyspaces.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockKeyspacesClient struct { +// keyspacesiface.KeyspacesAPI +// } +// func (m *mockKeyspacesClient) CreateKeyspace(input *keyspaces.CreateKeyspaceInput) (*keyspaces.CreateKeyspaceOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockKeyspacesClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type KeyspacesAPI interface { + CreateKeyspace(*keyspaces.CreateKeyspaceInput) (*keyspaces.CreateKeyspaceOutput, error) + CreateKeyspaceWithContext(aws.Context, *keyspaces.CreateKeyspaceInput, ...request.Option) (*keyspaces.CreateKeyspaceOutput, error) + CreateKeyspaceRequest(*keyspaces.CreateKeyspaceInput) (*request.Request, *keyspaces.CreateKeyspaceOutput) + + CreateTable(*keyspaces.CreateTableInput) (*keyspaces.CreateTableOutput, error) + CreateTableWithContext(aws.Context, *keyspaces.CreateTableInput, ...request.Option) (*keyspaces.CreateTableOutput, error) + CreateTableRequest(*keyspaces.CreateTableInput) (*request.Request, *keyspaces.CreateTableOutput) + + DeleteKeyspace(*keyspaces.DeleteKeyspaceInput) (*keyspaces.DeleteKeyspaceOutput, error) + DeleteKeyspaceWithContext(aws.Context, *keyspaces.DeleteKeyspaceInput, ...request.Option) (*keyspaces.DeleteKeyspaceOutput, error) + DeleteKeyspaceRequest(*keyspaces.DeleteKeyspaceInput) (*request.Request, *keyspaces.DeleteKeyspaceOutput) + + DeleteTable(*keyspaces.DeleteTableInput) (*keyspaces.DeleteTableOutput, error) + DeleteTableWithContext(aws.Context, *keyspaces.DeleteTableInput, ...request.Option) (*keyspaces.DeleteTableOutput, error) + DeleteTableRequest(*keyspaces.DeleteTableInput) (*request.Request, *keyspaces.DeleteTableOutput) + + GetKeyspace(*keyspaces.GetKeyspaceInput) (*keyspaces.GetKeyspaceOutput, error) + GetKeyspaceWithContext(aws.Context, *keyspaces.GetKeyspaceInput, ...request.Option) (*keyspaces.GetKeyspaceOutput, error) + GetKeyspaceRequest(*keyspaces.GetKeyspaceInput) (*request.Request, *keyspaces.GetKeyspaceOutput) + + GetTable(*keyspaces.GetTableInput) (*keyspaces.GetTableOutput, error) + GetTableWithContext(aws.Context, *keyspaces.GetTableInput, ...request.Option) (*keyspaces.GetTableOutput, error) + GetTableRequest(*keyspaces.GetTableInput) (*request.Request, *keyspaces.GetTableOutput) + + ListKeyspaces(*keyspaces.ListKeyspacesInput) (*keyspaces.ListKeyspacesOutput, error) + ListKeyspacesWithContext(aws.Context, *keyspaces.ListKeyspacesInput, ...request.Option) (*keyspaces.ListKeyspacesOutput, error) + ListKeyspacesRequest(*keyspaces.ListKeyspacesInput) (*request.Request, *keyspaces.ListKeyspacesOutput) + + ListKeyspacesPages(*keyspaces.ListKeyspacesInput, func(*keyspaces.ListKeyspacesOutput, bool) bool) error + ListKeyspacesPagesWithContext(aws.Context, *keyspaces.ListKeyspacesInput, func(*keyspaces.ListKeyspacesOutput, bool) bool, ...request.Option) error + + ListTables(*keyspaces.ListTablesInput) (*keyspaces.ListTablesOutput, error) + ListTablesWithContext(aws.Context, *keyspaces.ListTablesInput, ...request.Option) (*keyspaces.ListTablesOutput, error) + ListTablesRequest(*keyspaces.ListTablesInput) (*request.Request, *keyspaces.ListTablesOutput) + + ListTablesPages(*keyspaces.ListTablesInput, func(*keyspaces.ListTablesOutput, bool) bool) error + ListTablesPagesWithContext(aws.Context, *keyspaces.ListTablesInput, func(*keyspaces.ListTablesOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*keyspaces.ListTagsForResourceInput) (*keyspaces.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *keyspaces.ListTagsForResourceInput, ...request.Option) (*keyspaces.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*keyspaces.ListTagsForResourceInput) (*request.Request, *keyspaces.ListTagsForResourceOutput) + + ListTagsForResourcePages(*keyspaces.ListTagsForResourceInput, func(*keyspaces.ListTagsForResourceOutput, bool) bool) error + ListTagsForResourcePagesWithContext(aws.Context, *keyspaces.ListTagsForResourceInput, func(*keyspaces.ListTagsForResourceOutput, bool) bool, ...request.Option) error + + RestoreTable(*keyspaces.RestoreTableInput) (*keyspaces.RestoreTableOutput, error) + RestoreTableWithContext(aws.Context, *keyspaces.RestoreTableInput, ...request.Option) (*keyspaces.RestoreTableOutput, error) + RestoreTableRequest(*keyspaces.RestoreTableInput) (*request.Request, *keyspaces.RestoreTableOutput) + + TagResource(*keyspaces.TagResourceInput) (*keyspaces.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *keyspaces.TagResourceInput, ...request.Option) (*keyspaces.TagResourceOutput, error) + TagResourceRequest(*keyspaces.TagResourceInput) (*request.Request, *keyspaces.TagResourceOutput) + + UntagResource(*keyspaces.UntagResourceInput) (*keyspaces.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *keyspaces.UntagResourceInput, ...request.Option) (*keyspaces.UntagResourceOutput, error) + UntagResourceRequest(*keyspaces.UntagResourceInput) (*request.Request, *keyspaces.UntagResourceOutput) + + UpdateTable(*keyspaces.UpdateTableInput) (*keyspaces.UpdateTableOutput, error) + UpdateTableWithContext(aws.Context, *keyspaces.UpdateTableInput, ...request.Option) (*keyspaces.UpdateTableOutput, error) + UpdateTableRequest(*keyspaces.UpdateTableInput) (*request.Request, *keyspaces.UpdateTableOutput) +} + +var _ KeyspacesAPI = (*keyspaces.Keyspaces)(nil) diff --git a/service/keyspaces/service.go b/service/keyspaces/service.go new file mode 100644 index 00000000000..972de97e4b9 --- /dev/null +++ b/service/keyspaces/service.go @@ -0,0 +1,107 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package keyspaces + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// Keyspaces provides the API operation methods for making requests to +// Amazon Keyspaces. See this package's package overview docs +// for details on the service. +// +// Keyspaces methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Keyspaces struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Keyspaces" // Name of service. + EndpointsID = "cassandra" // ID to lookup a service endpoint with. + ServiceID = "Keyspaces" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the Keyspaces client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a Keyspaces client from just a session. +// svc := keyspaces.New(mySession) +// +// // Create a Keyspaces client with additional configuration +// svc := keyspaces.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Keyspaces { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "cassandra" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *Keyspaces { + svc := &Keyspaces{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-02-10", + ResolvedRegion: resolvedRegion, + JSONVersion: "1.0", + TargetPrefix: "KeyspacesService", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Keyspaces operation and runs any +// custom request initialization. +func (c *Keyspaces) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}