From fb4c556a07d40bcc5dcc654fa3d58a56822feb08 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 20 Mar 2024 14:39:04 -0400 Subject: [PATCH] Release v1.51.4 (2024-03-20) (#5203) Release v1.51.4 (2024-03-20) === ### Service Client Updates * `service/accessanalyzer`: Updates service API and documentation * `service/codebuild`: Updates service documentation * This release adds support for new webhook events (RELEASED and PRERELEASED) and filter types (TAG_NAME and RELEASE_NAME). * `service/connect`: Updates service API and documentation * `service/dynamodb`: Updates service API, documentation, waiters, paginators, and examples * This release introduces 3 new APIs ('GetResourcePolicy', 'PutResourcePolicy' and 'DeleteResourcePolicy') and modifies the existing 'CreateTable' API for the resource-based policy support. It also modifies several APIs to accept a 'TableArn' for the 'TableName' parameter. * `service/managedblockchain-query`: Updates service API and documentation * `service/savingsplans`: Updates service API and documentation --- CHANGELOG.md | 13 + aws/version.go | 2 +- .../apis/accessanalyzer/2019-11-01/api-2.json | 25 +- .../accessanalyzer/2019-11-01/docs-2.json | 24 + models/apis/codebuild/2016-10-06/docs-2.json | 2 +- models/apis/connect/2017-08-08/api-2.json | 4 +- models/apis/connect/2017-08-08/docs-2.json | 2 +- models/apis/dynamodb/2012-08-10/api-2.json | 190 ++- models/apis/dynamodb/2012-08-10/docs-2.json | 150 +- .../2023-05-04/api-2.json | 7 +- .../2023-05-04/docs-2.json | 4 +- .../apis/savingsplans/2019-06-28/api-2.json | 39 +- .../apis/savingsplans/2019-06-28/docs-2.json | 73 +- .../2019-06-28/endpoint-rule-set-1.json | 452 +++--- service/accessanalyzer/api.go | 122 ++ service/codebuild/api.go | 26 +- service/connect/api.go | 23 +- service/dynamodb/api.go | 1348 ++++++++++++++--- service/dynamodb/dynamodbiface/interface.go | 12 + service/dynamodb/errors.go | 10 + service/managedblockchainquery/api.go | 27 +- service/savingsplans/api.go | 256 +++- service/savingsplans/doc.go | 10 +- .../savingsplansiface/interface.go | 4 + 24 files changed, 2200 insertions(+), 625 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f41179b4b34..15bb632b067 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.51.4 (2024-03-20) +=== + +### Service Client Updates +* `service/accessanalyzer`: Updates service API and documentation +* `service/codebuild`: Updates service documentation + * This release adds support for new webhook events (RELEASED and PRERELEASED) and filter types (TAG_NAME and RELEASE_NAME). +* `service/connect`: Updates service API and documentation +* `service/dynamodb`: Updates service API, documentation, waiters, paginators, and examples + * This release introduces 3 new APIs ('GetResourcePolicy', 'PutResourcePolicy' and 'DeleteResourcePolicy') and modifies the existing 'CreateTable' API for the resource-based policy support. It also modifies several APIs to accept a 'TableArn' for the 'TableName' parameter. +* `service/managedblockchain-query`: Updates service API and documentation +* `service/savingsplans`: Updates service API and documentation + Release v1.51.3 (2024-03-19) === diff --git a/aws/version.go b/aws/version.go index 28f1c9a02f1..3dee7bac5b0 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.51.3" +const SDKVersion = "1.51.4" diff --git a/models/apis/accessanalyzer/2019-11-01/api-2.json b/models/apis/accessanalyzer/2019-11-01/api-2.json index 63b04080bc4..d7b430c81a5 100644 --- a/models/apis/accessanalyzer/2019-11-01/api-2.json +++ b/models/apis/accessanalyzer/2019-11-01/api-2.json @@ -983,7 +983,9 @@ "s3Bucket":{"shape":"S3BucketConfiguration"}, "snsTopic":{"shape":"SnsTopicConfiguration"}, "sqsQueue":{"shape":"SqsQueueConfiguration"}, - "s3ExpressDirectoryBucket":{"shape":"S3ExpressDirectoryBucketConfiguration"} + "s3ExpressDirectoryBucket":{"shape":"S3ExpressDirectoryBucketConfiguration"}, + "dynamodbStream":{"shape":"DynamodbStreamConfiguration"}, + "dynamodbTable":{"shape":"DynamodbTableConfiguration"} }, "union":true }, @@ -1129,6 +1131,20 @@ } } }, + "DynamodbStreamConfiguration":{ + "type":"structure", + "members":{ + "streamPolicy":{"shape":"DynamodbStreamPolicy"} + } + }, + "DynamodbStreamPolicy":{"type":"string"}, + "DynamodbTableConfiguration":{ + "type":"structure", + "members":{ + "tablePolicy":{"shape":"DynamodbTablePolicy"} + } + }, + "DynamodbTablePolicy":{"type":"string"}, "EbsGroup":{"type":"string"}, "EbsGroupList":{ "type":"list", @@ -2219,7 +2235,9 @@ "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", - "AWS::S3Express::DirectoryBucket" + "AWS::S3Express::DirectoryBucket", + "AWS::DynamoDB::Table", + "AWS::DynamoDB::Stream" ] }, "RetiringPrincipal":{"type":"string"}, @@ -2673,7 +2691,8 @@ "AWS::S3::AccessPoint", "AWS::S3::MultiRegionAccessPoint", "AWS::S3ObjectLambda::AccessPoint", - "AWS::IAM::AssumeRolePolicyDocument" + "AWS::IAM::AssumeRolePolicyDocument", + "AWS::DynamoDB::Table" ] }, "ValidatePolicyResponse":{ diff --git a/models/apis/accessanalyzer/2019-11-01/docs-2.json b/models/apis/accessanalyzer/2019-11-01/docs-2.json index b210cf63ef0..25e1e04f19a 100644 --- a/models/apis/accessanalyzer/2019-11-01/docs-2.json +++ b/models/apis/accessanalyzer/2019-11-01/docs-2.json @@ -429,6 +429,30 @@ "refs": { } }, + "DynamodbStreamConfiguration": { + "base": "
The proposed access control configuration for a DynamoDB stream. You can propose a configuration for a new DynamoDB stream or an existing DynamoDB stream that you own by specifying the policy for the DynamoDB stream. For more information, see PutResourcePolicy.
If the configuration is for an existing DynamoDB stream and you do not specify the DynamoDB policy, then the access preview uses the existing DynamoDB policy for the stream.
If the access preview is for a new resource and you do not specify the policy, then the access preview assumes a DynamoDB stream without a policy.
To propose deletion of an existing DynamoDB stream policy, you can specify an empty string for the DynamoDB policy.
The access control configuration is for a DynamoDB stream.
" + } + }, + "DynamodbStreamPolicy": { + "base": null, + "refs": { + "DynamodbStreamConfiguration$streamPolicy": "The proposed resource policy defining who can access or manage the DynamoDB stream.
" + } + }, + "DynamodbTableConfiguration": { + "base": "The proposed access control configuration for a DynamoDB table or index. You can propose a configuration for a new DynamoDB table or index or an existing DynamoDB table or index that you own by specifying the policy for the DynamoDB table or index. For more information, see PutResourcePolicy.
If the configuration is for an existing DynamoDB table or index and you do not specify the DynamoDB policy, then the access preview uses the existing DynamoDB policy for the table or index.
If the access preview is for a new resource and you do not specify the policy, then the access preview assumes a DynamoDB table without a policy.
To propose deletion of an existing DynamoDB table or index policy, you can specify an empty string for the DynamoDB policy.
The access control configuration is for a DynamoDB table or index.
" + } + }, + "DynamodbTablePolicy": { + "base": null, + "refs": { + "DynamodbTableConfiguration$tablePolicy": "The proposed resource policy defining who can access or manage the DynamoDB table.
" + } + }, "EbsGroup": { "base": null, "refs": { diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index b27798bb4ee..359f1a14db9 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -2035,7 +2035,7 @@ "WebhookFilterType": { "base": null, "refs": { - "WebhookFilter$type": " The type of webhook filter. There are six webhook filter types: EVENT
, ACTOR_ACCOUNT_ID
, HEAD_REF
, BASE_REF
, FILE_PATH
, and COMMIT_MESSAGE
.
EVENT
A webhook event triggers a build when the provided pattern
matches one of six event types: PUSH
, PULL_REQUEST_CREATED
, PULL_REQUEST_UPDATED
, PULL_REQUEST_CLOSED
, PULL_REQUEST_REOPENED
, and PULL_REQUEST_MERGED
. The EVENT
patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED
filters all push, pull request created, and pull request updated events.
The PULL_REQUEST_REOPENED
works with GitHub and GitHub Enterprise only.
ACTOR_ACCOUNT_ID
A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern
.
HEAD_REF
A webhook event triggers a build when the head reference matches the regular expression pattern
. For example, refs/heads/branch-name
and refs/tags/tag-name
.
Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.
BASE_REF
A webhook event triggers a build when the base reference matches the regular expression pattern
. For example, refs/heads/branch-name
.
Works with pull request events only.
FILE_PATH
A webhook triggers a build when the path of a changed file matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
COMMIT_MESSAGE
A webhook triggers a build when the head commit message matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
The type of webhook filter. There are eight webhook filter types: EVENT
, ACTOR_ACCOUNT_ID
, HEAD_REF
, BASE_REF
, FILE_PATH
, COMMIT_MESSAGE
, TAG_NAME
, and RELEASE_NAME
.
EVENT
A webhook event triggers a build when the provided pattern
matches one of eight event types: PUSH
, PULL_REQUEST_CREATED
, PULL_REQUEST_UPDATED
, PULL_REQUEST_CLOSED
, PULL_REQUEST_REOPENED
, PULL_REQUEST_MERGED
, RELEASED
, and PRERELEASED
. The EVENT
patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED
filters all push, pull request created, and pull request updated events.
The PULL_REQUEST_REOPENED
works with GitHub and GitHub Enterprise only. The RELEASED
and PRERELEASED
work with GitHub only.
ACTOR_ACCOUNT_ID
A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern
.
HEAD_REF
A webhook event triggers a build when the head reference matches the regular expression pattern
. For example, refs/heads/branch-name
and refs/tags/tag-name
.
Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.
BASE_REF
A webhook event triggers a build when the base reference matches the regular expression pattern
. For example, refs/heads/branch-name
.
Works with pull request events only.
FILE_PATH
A webhook triggers a build when the path of a changed file matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
COMMIT_MESSAGE
A webhook triggers a build when the head commit message matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
TAG_NAME
A webhook triggers a build when the tag name of the release matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
RELEASE_NAME
A webhook triggers a build when the release name matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
A valid resource type.
", + "AssociateInstanceStorageConfigRequest$ResourceType": "A valid resource type. To enable streaming for real-time analysis of contacts, use the following types:
For chat contacts, use REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS
.
For voice contacts, use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS
.
REAL_TIME_CONTACT_ANALYSIS_SEGMENTS
is deprecated, but it is still supported and will apply only to VOICE channel contacts. Use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS
for voice contacts moving forward.
If you have previously associated a stream with REAL_TIME_CONTACT_ANALYSIS_SEGMENTS
, no action is needed to update the stream to REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS
.
A valid resource type.
", "DisassociateInstanceStorageConfigRequest$ResourceType": "A valid resource type.
", "ListInstanceStorageConfigsRequest$ResourceType": "A valid resource type.
", diff --git a/models/apis/dynamodb/2012-08-10/api-2.json b/models/apis/dynamodb/2012-08-10/api-2.json index 2df6449631d..a1487e39931 100644 --- a/models/apis/dynamodb/2012-08-10/api-2.json +++ b/models/apis/dynamodb/2012-08-10/api-2.json @@ -150,6 +150,24 @@ "endpointdiscovery":{ } }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyInput"}, + "output":{"shape":"DeleteResourcePolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "endpointdiscovery":{ + } + }, "DeleteTable":{ "name":"DeleteTable", "http":{ @@ -453,6 +471,22 @@ "endpointdiscovery":{ } }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyInput"}, + "output":{"shape":"GetResourcePolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"}, + {"shape":"PolicyNotFoundException"} + ], + "endpointdiscovery":{ + } + }, "ImportTable":{ "name":"ImportTable", "http":{ @@ -582,6 +616,24 @@ "endpointdiscovery":{ } }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyInput"}, + "output":{"shape":"PutResourcePolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"}, + {"shape":"LimitExceededException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "endpointdiscovery":{ + } + }, "Query":{ "name":"Query", "http":{ @@ -1174,14 +1226,14 @@ }, "BatchGetRequestMap":{ "type":"map", - "key":{"shape":"TableName"}, + "key":{"shape":"TableArn"}, "value":{"shape":"KeysAndAttributes"}, "max":100, "min":1 }, "BatchGetResponseMap":{ "type":"map", - "key":{"shape":"TableName"}, + "key":{"shape":"TableArn"}, "value":{"shape":"ItemList"} }, "BatchStatementError":{ @@ -1245,7 +1297,7 @@ }, "BatchWriteItemRequestMap":{ "type":"map", - "key":{"shape":"TableName"}, + "key":{"shape":"TableArn"}, "value":{"shape":"WriteRequests"}, "max":25, "min":1 @@ -1347,7 +1399,7 @@ ], "members":{ "Key":{"shape":"Key"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ConditionExpression":{"shape":"ConditionExpression"}, "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"}, "ExpressionAttributeValues":{"shape":"ExpressionAttributeValueMap"}, @@ -1370,11 +1422,12 @@ "OR" ] }, + "ConfirmRemoveSelfResourceAccess":{"type":"boolean"}, "ConsistentRead":{"type":"boolean"}, "ConsumedCapacity":{ "type":"structure", "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "CapacityUnits":{"shape":"ConsumedCapacityUnits"}, "ReadCapacityUnits":{"shape":"ConsumedCapacityUnits"}, "WriteCapacityUnits":{"shape":"ConsumedCapacityUnits"}, @@ -1454,7 +1507,7 @@ "BackupName" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "BackupName":{"shape":"BackupName"} } }, @@ -1522,7 +1575,7 @@ ], "members":{ "AttributeDefinitions":{"shape":"AttributeDefinitions"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "KeySchema":{"shape":"KeySchema"}, "LocalSecondaryIndexes":{"shape":"LocalSecondaryIndexList"}, "GlobalSecondaryIndexes":{"shape":"GlobalSecondaryIndexList"}, @@ -1532,7 +1585,8 @@ "SSESpecification":{"shape":"SSESpecification"}, "Tags":{"shape":"TagList"}, "TableClass":{"shape":"TableClass"}, - "DeletionProtectionEnabled":{"shape":"DeletionProtectionEnabled"} + "DeletionProtectionEnabled":{"shape":"DeletionProtectionEnabled"}, + "ResourcePolicy":{"shape":"ResourcePolicy"} } }, "CreateTableOutput":{ @@ -1575,7 +1629,7 @@ ], "members":{ "Key":{"shape":"Key"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ConditionExpression":{"shape":"ConditionExpression"}, "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"}, "ExpressionAttributeValues":{"shape":"ExpressionAttributeValueMap"}, @@ -1609,7 +1663,7 @@ "Key" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "Key":{"shape":"Key"}, "Expected":{"shape":"ExpectedAttributeMap"}, "ConditionalOperator":{"shape":"ConditionalOperator"}, @@ -1651,11 +1705,25 @@ "Key":{"shape":"Key"} } }, + "DeleteResourcePolicyInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArnString"}, + "ExpectedRevisionId":{"shape":"PolicyRevisionId"} + } + }, + "DeleteResourcePolicyOutput":{ + "type":"structure", + "members":{ + "RevisionId":{"shape":"PolicyRevisionId"} + } + }, "DeleteTableInput":{ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DeleteTableOutput":{ @@ -1682,7 +1750,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DescribeContinuousBackupsOutput":{ @@ -1695,7 +1763,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "IndexName":{"shape":"IndexName"} } }, @@ -1780,7 +1848,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DescribeKinesisStreamingDestinationOutput":{ @@ -1808,7 +1876,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DescribeTableOutput":{ @@ -1821,7 +1889,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DescribeTableReplicaAutoScalingOutput":{ @@ -1834,7 +1902,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"} + "TableName":{"shape":"TableArn"} } }, "DescribeTimeToLiveOutput":{ @@ -2101,7 +2169,7 @@ ], "members":{ "Key":{"shape":"Key"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ProjectionExpression":{"shape":"ProjectionExpression"}, "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"} } @@ -2113,7 +2181,7 @@ "Key" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "Key":{"shape":"Key"}, "AttributesToGet":{"shape":"AttributeNameList"}, "ConsistentRead":{"shape":"ConsistentRead"}, @@ -2129,6 +2197,20 @@ "ConsumedCapacity":{"shape":"ConsumedCapacity"} } }, + "GetResourcePolicyInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArnString"} + } + }, + "GetResourcePolicyOutput":{ + "type":"structure", + "members":{ + "Policy":{"shape":"ResourcePolicy"}, + "RevisionId":{"shape":"PolicyRevisionId"} + } + }, "GlobalSecondaryIndex":{ "type":"structure", "required":[ @@ -2471,7 +2553,7 @@ }, "ItemCollectionMetricsPerTable":{ "type":"map", - "key":{"shape":"TableName"}, + "key":{"shape":"TableArn"}, "value":{"shape":"ItemCollectionMetricsMultiple"} }, "ItemCollectionSizeEstimateBound":{"type":"double"}, @@ -2585,7 +2667,7 @@ "StreamArn" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "StreamArn":{"shape":"StreamArn"}, "EnableKinesisStreamingConfiguration":{"shape":"EnableKinesisStreamingConfiguration"} } @@ -2614,7 +2696,7 @@ "ListBackupsInput":{ "type":"structure", "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "Limit":{"shape":"BackupsInputLimit"}, "TimeRangeLowerBound":{"shape":"TimeRangeLowerBound"}, "TimeRangeUpperBound":{"shape":"TimeRangeUpperBound"}, @@ -2632,7 +2714,7 @@ "ListContributorInsightsInput":{ "type":"structure", "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "NextToken":{"shape":"NextTokenString"}, "MaxResults":{"shape":"ListContributorInsightsLimit"} } @@ -2874,6 +2956,18 @@ }, "exception":true }, + "PolicyNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "PolicyRevisionId":{ + "type":"string", + "max":255, + "min":1 + }, "PositiveIntegerObject":{ "type":"integer", "min":1 @@ -2949,7 +3043,7 @@ ], "members":{ "Item":{"shape":"PutItemInputAttributeMap"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ConditionExpression":{"shape":"ConditionExpression"}, "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"}, "ExpressionAttributeValues":{"shape":"ExpressionAttributeValueMap"}, @@ -2963,7 +3057,7 @@ "Item" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "Item":{"shape":"PutItemInputAttributeMap"}, "Expected":{"shape":"ExpectedAttributeMap"}, "ReturnValues":{"shape":"ReturnValue"}, @@ -2996,11 +3090,30 @@ "Item":{"shape":"PutItemInputAttributeMap"} } }, + "PutResourcePolicyInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{"shape":"ResourceArnString"}, + "Policy":{"shape":"ResourcePolicy"}, + "ExpectedRevisionId":{"shape":"PolicyRevisionId"}, + "ConfirmRemoveSelfResourceAccess":{"shape":"ConfirmRemoveSelfResourceAccess"} + } + }, + "PutResourcePolicyOutput":{ + "type":"structure", + "members":{ + "RevisionId":{"shape":"PolicyRevisionId"} + } + }, "QueryInput":{ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "IndexName":{"shape":"IndexName"}, "Select":{"shape":"Select"}, "AttributesToGet":{"shape":"AttributeNameList"}, @@ -3279,6 +3392,7 @@ }, "exception":true }, + "ResourcePolicy":{"type":"string"}, "RestoreInProgress":{"type":"boolean"}, "RestoreSummary":{ "type":"structure", @@ -3450,7 +3564,7 @@ "type":"structure", "required":["TableName"], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "IndexName":{"shape":"IndexName"}, "AttributesToGet":{"shape":"AttributeNameList"}, "Limit":{"shape":"PositiveIntegerObject"}, @@ -3569,7 +3683,11 @@ }, "exception":true }, - "TableArn":{"type":"string"}, + "TableArn":{ + "type":"string", + "max":1024, + "min":1 + }, "TableAutoScalingDescription":{ "type":"structure", "members":{ @@ -3859,7 +3977,7 @@ "members":{ "Key":{"shape":"Key"}, "UpdateExpression":{"shape":"UpdateExpression"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ConditionExpression":{"shape":"ConditionExpression"}, "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"}, "ExpressionAttributeValues":{"shape":"ExpressionAttributeValueMap"}, @@ -3873,7 +3991,7 @@ "PointInTimeRecoverySpecification" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "PointInTimeRecoverySpecification":{"shape":"PointInTimeRecoverySpecification"} } }, @@ -3890,7 +4008,7 @@ "ContributorInsightsAction" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "IndexName":{"shape":"IndexName"}, "ContributorInsightsAction":{"shape":"ContributorInsightsAction"} } @@ -3958,7 +4076,7 @@ "Key" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "Key":{"shape":"Key"}, "AttributeUpdates":{"shape":"AttributeUpdates"}, "Expected":{"shape":"ExpectedAttributeMap"}, @@ -3994,7 +4112,7 @@ "StreamArn" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "StreamArn":{"shape":"StreamArn"}, "UpdateKinesisStreamingConfiguration":{"shape":"UpdateKinesisStreamingConfiguration"} } @@ -4024,7 +4142,7 @@ "required":["TableName"], "members":{ "AttributeDefinitions":{"shape":"AttributeDefinitions"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "BillingMode":{"shape":"BillingMode"}, "ProvisionedThroughput":{"shape":"ProvisionedThroughput"}, "GlobalSecondaryIndexUpdates":{"shape":"GlobalSecondaryIndexUpdateList"}, @@ -4046,7 +4164,7 @@ "required":["TableName"], "members":{ "GlobalSecondaryIndexUpdates":{"shape":"GlobalSecondaryIndexAutoScalingUpdateList"}, - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "ProvisionedWriteCapacityAutoScalingUpdate":{"shape":"AutoScalingSettingsUpdate"}, "ReplicaUpdates":{"shape":"ReplicaAutoScalingUpdateList"} } @@ -4064,7 +4182,7 @@ "TimeToLiveSpecification" ], "members":{ - "TableName":{"shape":"TableName"}, + "TableName":{"shape":"TableArn"}, "TimeToLiveSpecification":{"shape":"TimeToLiveSpecification"} } }, diff --git a/models/apis/dynamodb/2012-08-10/docs-2.json b/models/apis/dynamodb/2012-08-10/docs-2.json index e9a287f5ec1..04bb2e18d2d 100644 --- a/models/apis/dynamodb/2012-08-10/docs-2.json +++ b/models/apis/dynamodb/2012-08-10/docs-2.json @@ -10,6 +10,7 @@ "CreateTable": "The CreateTable
operation adds a new table to your account. In an Amazon Web Services account, table names must be unique within each Region. That is, you can have two tables with same name if you create the tables in different Regions.
CreateTable
is an asynchronous operation. Upon receiving a CreateTable
request, DynamoDB immediately returns a response with a TableStatus
of CREATING
. After the table is created, DynamoDB sets the TableStatus
to ACTIVE
. You can perform read and write operations only on an ACTIVE
table.
You can optionally define secondary indexes on the new table, as part of the CreateTable
operation. If you want to create multiple tables with secondary indexes on them, you must create the tables sequentially. Only one table with secondary indexes can be in the CREATING
state at any given time.
You can use the DescribeTable
action to check the table status.
Deletes an existing backup of a table.
You can call DeleteBackup
at a maximum rate of 10 times per second.
Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.
In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues
parameter.
Unless you specify conditions, the DeleteItem
is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.
Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.
", + "DeleteResourcePolicy": "Deletes the resource-based policy attached to the resource, which can be a table or stream.
DeleteResourcePolicy
is an idempotent operation; running it multiple times on the same resource doesn't result in an error response, unless you specify an ExpectedRevisionId
, which will then return a PolicyNotFoundException
.
To make sure that you don't inadvertently lock yourself out of your own resources, the root principal in your Amazon Web Services account can perform DeleteResourcePolicy
requests, even if your resource-based policy explicitly denies the root principal's access.
DeleteResourcePolicy
is an asynchronous operation. If you issue a GetResourcePolicy
request immediately after running the DeleteResourcePolicy
request, DynamoDB might still return the deleted policy. This is because the policy for your resource might not have been deleted yet. Wait for a few seconds, and then try the GetResourcePolicy
request again.
The DeleteTable
operation deletes a table and all of its items. After a DeleteTable
request, the specified table is in the DELETING
state until DynamoDB completes the deletion. If the table is in the ACTIVE
state, you can delete it. If a table is in CREATING
or UPDATING
states, then DynamoDB returns a ResourceInUseException
. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException
. If table is already in the DELETING
state, no error is returned.
This operation only applies to Version 2019.11.21 (Current) of global tables.
DynamoDB might continue to accept data read and write operations, such as GetItem
and PutItem
, on a table in the DELETING
state until the table deletion is complete.
When you delete a table, any indexes on that table are also deleted.
If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED
state, and the stream is automatically deleted after 24 hours.
Use the DescribeTable
action to check the status of the table.
Describes an existing backup of a table.
You can call DescribeBackup
at a maximum rate of 10 times per second.
Checks the status of continuous backups and point in time recovery on the specified table. Continuous backups are ENABLED
on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus
will be set to ENABLED.
After continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime
and LatestRestorableDateTime
.
LatestRestorableDateTime
is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.
You can call DescribeContinuousBackups
at a maximum rate of 10 times per second.
This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.
The entire transaction must consist of either read statements or write statements, you cannot mix both in one transaction. The EXISTS function is an exception and can be used to check the condition of specific attributes of the item in a similar manner to ConditionCheck
in the TransactWriteItems API.
Exports table data to an S3 bucket. The table must have point in time recovery enabled, and you can export data from any time within the point in time recovery window.
", "GetItem": "The GetItem
operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem
does not return any data and there will be no Item
element in the response.
GetItem
provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead
to true
. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.
Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.
GetResourcePolicy
follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy
request immediately after issuing another request:
If you issue a GetResourcePolicy
request immediately after a PutResourcePolicy
request, DynamoDB might return a PolicyNotFoundException
.
If you issue a GetResourcePolicy
request immediately after a DeleteResourcePolicy
request, DynamoDB might return the policy that was present before the deletion request.
If you issue a GetResourcePolicy
request immediately after a CreateTable
request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException
or a PolicyNotFoundException
.
Because GetResourcePolicy
uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy
request.
After a GetResourcePolicy
request returns a policy created using the PutResourcePolicy
request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable
request will always be applied to all requests for that table.
Imports table data from an S3 bucket.
", "ListBackups": "List DynamoDB backups that are associated with an Amazon Web Services account and weren't made with Amazon Web Services Backup. To list these backups for a given table, specify TableName
. ListBackups
returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.
In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.
You can call ListBackups
a maximum of five times per second.
If you want to retrieve the complete list of backups made with Amazon Web Services Backup, use the Amazon Web Services Backup list API.
", "ListContributorInsights": "Returns a list of ContributorInsightsSummary for a table and all its global secondary indexes.
", @@ -39,6 +41,7 @@ "ListTables": "Returns an array of table names associated with the current account and endpoint. The output from ListTables
is paginated, with each page returning a maximum of 100 table names.
List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.
", "PutItem": "Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues
parameter.
When you add an item, the primary key attributes are the only required attributes.
Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.
Invalid Requests with empty values will be rejected with a ValidationException
exception.
To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists
function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists
function will only succeed if no matching item exists.
For more information about PutItem
, see Working with Items in the Amazon DynamoDB Developer Guide.
Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent .
PutResourcePolicy
is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId
which doesn't match the current policy's RevisionId
, the PolicyNotFoundException
will be returned.
PutResourcePolicy
is an asynchronous operation. If you issue a GetResourcePolicy
request immediately after a PutResourcePolicy
request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException
. This is because GetResourcePolicy
uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy
request again.
You must provide the name of the partition key attribute and a single value for that attribute. Query
returns all items with that partition key value. Optionally, you can provide a sort key attribute and use a comparison operator to refine the search results.
Use the KeyConditionExpression
parameter to provide a specific value for the partition key. The Query
operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query
operation by specifying a sort key value and a comparison operator in KeyConditionExpression
. To further refine the Query
results, you can optionally provide a FilterExpression
. A FilterExpression
determines which items within the results should be returned to you. All of the other results are discarded.
A Query
operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.
DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression
.
Query
results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward
parameter to false.
A single Query
operation will read up to the maximum number of items set (if using the Limit
parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression
. If LastEvaluatedKey
is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.
FilterExpression
is applied after a Query
finishes, but before the results are returned. A FilterExpression
cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression
.
A Query
operation can return an empty result set and a LastEvaluatedKey
if all the items read for the page of results are filtered out.
You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead
parameter to true
and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead
when querying a global secondary index.
Creates a new table from an existing backup. Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account.
You can call RestoreTableFromBackup
at a maximum rate of 10 times per second.
You must manually set up the following on the restored table:
Auto scaling policies
IAM policies
Amazon CloudWatch metrics and alarms
Tags
Stream settings
Time to Live (TTL) settings
Restores the specified table to the specified point in time within EarliestRestorableDateTime
and LatestRestorableDateTime
. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account.
When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.
Along with data, the following are also included on the new restored table using point in time recovery:
Global secondary indexes (GSIs)
Local secondary indexes (LSIs)
Provisioned read and write capacity
Encryption settings
All these settings come from the current settings of the source table at the time of restore.
You must manually set up the following on the restored table:
Auto scaling policies
IAM policies
Amazon CloudWatch metrics and alarms
Tags
Stream settings
Time to Live (TTL) settings
Point in time recovery settings
Updates settings for a global table.
This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.
Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).
You can also return the item's attribute values in the same UpdateItem
operation using the ReturnValues
parameter.
The command to update the Kinesis stream destination.
", - "UpdateTable": "Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.
This operation only applies to Version 2019.11.21 (Current) of global tables.
You can only perform one of the following operations at once:
Modify the provisioned throughput settings of the table.
Remove a global secondary index from the table.
Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable
to perform other operations.
UpdateTable
is an asynchronous operation; while it's executing, the table status changes from ACTIVE
to UPDATING
. While it's UPDATING
, you can't issue another UpdateTable
request on the base table nor any replicas. When the table returns to the ACTIVE
state, the UpdateTable
operation is complete.
Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.
This operation only applies to Version 2019.11.21 (Current) of global tables.
You can only perform one of the following operations at once:
Modify the provisioned throughput settings of the table.
Remove a global secondary index from the table.
Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable
to perform other operations.
UpdateTable
is an asynchronous operation; while it's executing, the table status changes from ACTIVE
to UPDATING
. While it's UPDATING
, you can't issue another UpdateTable
request. When the table returns to the ACTIVE
state, the UpdateTable
operation is complete.
Updates auto scaling settings on your global tables at once.
This operation only applies to Version 2019.11.21 (Current) of global tables.
The UpdateTimeToLive
method enables or disables Time to Live (TTL) for the specified table. A successful UpdateTimeToLive
call returns the current TimeToLiveSpecification
. It can take up to one hour for the change to fully process. Any additional UpdateTimeToLive
calls for the same table during this one hour duration result in a ValidationException
.
TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.
The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.
DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.
DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.
As items are deleted, they are removed from any local secondary index and global secondary index immediately in the same eventually consistent way as a standard delete operation.
For more information, see Time To Live in the Amazon DynamoDB Developer Guide.
" }, @@ -370,14 +373,14 @@ "BatchGetRequestMap": { "base": null, "refs": { - "BatchGetItemInput$RequestItems": "A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem
request.
Each element in the map of items to retrieve consists of the following:
ConsistentRead
- If true
, a strongly consistent read is used; if false
(the default), an eventually consistent read is used.
ExpressionAttributeNames
- One or more substitution tokens for attribute names in the ProjectionExpression
parameter. The following are some use cases for using ExpressionAttributeNames
:
To access an attribute whose name conflicts with a DynamoDB reserved word.
To create a placeholder for repeating occurrences of an attribute name in an expression.
To prevent special characters in an attribute name from being misinterpreted in an expression.
Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:
Percentile
The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames
:
{\"#P\":\"Percentile\"}
You could then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.
For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.
Keys
- An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.
ProjectionExpression
- A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.
If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.
For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.
AttributesToGet
- This is a legacy parameter. Use ProjectionExpression
instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.
A map of one or more table names or table ARNs and, for each table, a map that describes one or more items to retrieve from that table. Each table name or ARN can be used only once per BatchGetItem
request.
Each element in the map of items to retrieve consists of the following:
ConsistentRead
- If true
, a strongly consistent read is used; if false
(the default), an eventually consistent read is used.
ExpressionAttributeNames
- One or more substitution tokens for attribute names in the ProjectionExpression
parameter. The following are some use cases for using ExpressionAttributeNames
:
To access an attribute whose name conflicts with a DynamoDB reserved word.
To create a placeholder for repeating occurrences of an attribute name in an expression.
To prevent special characters in an attribute name from being misinterpreted in an expression.
Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:
Percentile
The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames
:
{\"#P\":\"Percentile\"}
You could then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.
For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.
Keys
- An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.
ProjectionExpression
- A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.
If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.
For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.
AttributesToGet
- This is a legacy parameter. Use ProjectionExpression
instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.
A map of tables and their respective keys that were not processed with the current response. The UnprocessedKeys
value is in the same form as RequestItems
, so the value can be provided directly to a subsequent BatchGetItem
operation. For more information, see RequestItems
in the Request Parameters section.
Each element consists of:
Keys
- An array of primary key attribute values that define specific items in the table.
ProjectionExpression
- One or more attributes to be retrieved from the table or index. By default, all attributes are returned. If a requested attribute is not found, it does not appear in the result.
ConsistentRead
- The consistency of a read operation. If set to true
, then a strongly consistent read is used; otherwise, an eventually consistent read is used.
If there are no unprocessed keys remaining, the response contains an empty UnprocessedKeys
map.
A map of table name to a list of items. Each object in Responses
consists of a table name, along with a map of attribute data consisting of the data type and attribute value.
A map of table name or table ARN to a list of items. Each object in Responses
consists of a table name or ARN, along with a map of attribute data consisting of the data type and attribute value.
A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest
or PutRequest
). Each element in the map consists of the following:
DeleteRequest
- Perform a DeleteItem
operation on the specified item. The item to be deleted is identified by a Key
subelement:
Key
- A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.
PutRequest
- Perform a PutItem
operation on the specified item. The item to be put is identified by an Item
subelement:
Item
- A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException
exception.
If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.
A map of tables and requests against those tables that were not processed. The UnprocessedItems
value is in the same form as RequestItems
, so you can provide this value directly to a subsequent BatchWriteItem
operation. For more information, see RequestItems
in the Request Parameters section.
Each UnprocessedItems
entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest
or PutRequest
).
DeleteRequest
- Perform a DeleteItem
operation on the specified item. The item to be deleted is identified by a Key
subelement:
Key
- A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.
PutRequest
- Perform a PutItem
operation on the specified item. The item to be put is identified by an Item
subelement:
Item
- A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException
exception.
If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.
If there are no unprocessed items remaining, the response contains an empty UnprocessedItems
map.
A map of one or more table names or table ARNs and, for each table, a list of operations to be performed (DeleteRequest
or PutRequest
). Each element in the map consists of the following:
DeleteRequest
- Perform a DeleteItem
operation on the specified item. The item to be deleted is identified by a Key
subelement:
Key
- A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.
PutRequest
- Perform a PutItem
operation on the specified item. The item to be put is identified by an Item
subelement:
Item
- A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException
exception.
If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.
A map of tables and requests against those tables that were not processed. The UnprocessedItems
value is in the same form as RequestItems
, so you can provide this value directly to a subsequent BatchWriteItem
operation. For more information, see RequestItems
in the Request Parameters section.
Each UnprocessedItems
entry consists of a table name or table ARN and, for that table, a list of operations to perform (DeleteRequest
or PutRequest
).
DeleteRequest
- Perform a DeleteItem
operation on the specified item. The item to be deleted is identified by a Key
subelement:
Key
- A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.
PutRequest
- Perform a PutItem
operation on the specified item. The item to be put is identified by an Item
subelement:
Item
- A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException
exception.
If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.
If there are no unprocessed items remaining, the response contains an empty UnprocessedItems
map.
This is a legacy parameter. Use ConditionExpression
instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.
Set this parameter to true
to confirm that you want to remove your permissions to change the policy of this resource in the future.
A request to perform a DeleteItem
operation.
Represents the input of a DeleteTable
operation.
The total size of an item collection has exceeded the maximum limit of 10 gigabytes.
", "LimitExceededException$message": "Too many operations for a given subscriber.
", "PointInTimeRecoveryUnavailableException$message": null, + "PolicyNotFoundException$message": null, "ProvisionedThroughputExceededException$message": "You exceeded your maximum allowed provisioned throughput.
", "ReplicaAlreadyExistsException$message": null, "ReplicaNotFoundException$message": null, @@ -1301,6 +1321,16 @@ "refs": { } }, + "GetResourcePolicyInput": { + "base": null, + "refs": { + } + }, + "GetResourcePolicyOutput": { + "base": null, + "refs": { + } + }, "GlobalSecondaryIndex": { "base": "Represents the properties of a global secondary index.
", "refs": { @@ -2083,6 +2113,21 @@ "refs": { } }, + "PolicyNotFoundException": { + "base": "The operation tried to access a nonexistent resource-based policy.
If you specified an ExpectedRevisionId
, it's possible that a policy is present for the resource but its revision ID didn't match the expected value.
A string value that you can use to conditionally delete your policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, the request will fail and return a PolicyNotFoundException
.
A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.
This value will be empty if you make a request against a resource without a policy.
", + "GetResourcePolicyOutput$RevisionId": "A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.
", + "PutResourcePolicyInput$ExpectedRevisionId": "A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException
.
To conditionally put a policy when no policy exists for the resource, specify NO_POLICY
for the revision ID.
A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.
" + } + }, "PositiveIntegerObject": { "base": null, "refs": { @@ -2224,6 +2269,16 @@ "WriteRequest$PutRequest": "A request to perform a PutItem
operation.
Represents the input of a Query
operation.
The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be removed. The resources you can specify include tables and streams. If you remove the policy of a table, it will also remove the permissions for the table's indexes defined in that policy document. This is because index permissions are defined in the table's policy.
", + "GetResourcePolicyInput$ResourceArn": "The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy is attached. The resources you can specify include tables and streams.
", "ListTagsOfResourceInput$ResourceArn": "The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).
", + "PutResourcePolicyInput$ResourceArn": "The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached. The resources you can specify include tables and streams.
You can control index permissions using the base table's policy. To specify the same permission level for your table and its indexes, you can provide both the table and index Amazon Resource Name (ARN)s in the Resource
field of a given Statement
in your policy document. Alternatively, to specify different permissions for your table, indexes, or both, you can define multiple Statement
fields in your policy document.
Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).
", "UntagResourceInput$ResourceArn": "The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).
" } @@ -2476,6 +2534,14 @@ "refs": { } }, + "ResourcePolicy": { + "base": null, + "refs": { + "CreateTableInput$ResourcePolicy": "An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.
When you attach a resource-based policy while creating a table, the policy creation is strongly consistent.
The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. You can’t request an increase for this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
", + "GetResourcePolicyOutput$Policy": "The resource-based policy document attached to the resource, which can be a table or stream, in JSON format.
", + "PutResourcePolicyInput$Policy": "An Amazon Web Services resource-based policy document in JSON format.
The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
" + } + }, "RestoreInProgress": { "base": null, "refs": { @@ -2702,7 +2768,7 @@ "KinesisStreamingDestinationInput$StreamArn": "The ARN for a Kinesis data stream.
", "KinesisStreamingDestinationOutput$StreamArn": "The ARN for the specific Kinesis data stream.
", "TableDescription$LatestStreamArn": "The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
", - "UpdateKinesisStreamingDestinationInput$StreamArn": "The ARN for the Kinesis stream input.
", + "UpdateKinesisStreamingDestinationInput$StreamArn": "The Amazon Resource Name (ARN) for the Kinesis stream input.
", "UpdateKinesisStreamingDestinationOutput$StreamArn": "The ARN for the Kinesis stream input.
" } }, @@ -2763,15 +2829,49 @@ "base": null, "refs": { "BackupSummary$TableArn": "ARN associated with the table.
", + "BatchGetRequestMap$key": null, + "BatchGetResponseMap$key": null, + "BatchWriteItemRequestMap$key": null, + "ConditionCheck$TableName": "Name of the table for the check item request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "ConsumedCapacity$TableName": "The name of the table that was affected by the operation. If you had specified the Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.
", + "CreateBackupInput$TableName": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "CreateTableInput$TableName": "The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "Delete$TableName": "Name of the table in which the item to be deleted resides. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DeleteItemInput$TableName": "The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DeleteTableInput$TableName": "The name of the table to delete. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeContinuousBackupsInput$TableName": "Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.
You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeContributorInsightsInput$TableName": "The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeKinesisStreamingDestinationInput$TableName": "The name of the table being described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeTableInput$TableName": "The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeTableReplicaAutoScalingInput$TableName": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "DescribeTimeToLiveInput$TableName": "The name of the table to be described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", "ExportDescription$TableArn": "The Amazon Resource Name (ARN) of the table that was exported.
", "ExportTableToPointInTimeInput$TableArn": "The Amazon Resource Name (ARN) associated with the table to export.
", + "Get$TableName": "The name of the table from which to retrieve the specified item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "GetItemInput$TableName": "The name of the table containing the requested item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", "ImportSummary$TableArn": "The Amazon Resource Number (ARN) of the table being imported into.
", "ImportTableDescription$TableArn": "The Amazon Resource Number (ARN) of the table being imported into.
", + "ItemCollectionMetricsPerTable$key": null, + "KinesisStreamingDestinationInput$TableName": "The name of the DynamoDB table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "ListBackupsInput$TableName": "Lists the backups from the table specified in TableName
. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", "ListExportsInput$TableArn": "The Amazon Resource Name (ARN) associated with the exported table.
", "ListImportsInput$TableArn": "The Amazon Resource Name (ARN) associated with the table that was imported to.
", + "Put$TableName": "Name of the table in which to write the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "PutItemInput$TableName": "The name of the table to contain the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "QueryInput$TableName": "The name of the table containing the requested items. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", "RestoreSummary$SourceTableArn": "The ARN of the source table of the backup that is being restored.
", "RestoreTableToPointInTimeInput$SourceTableArn": "The DynamoDB table that will be restored. This value is an Amazon Resource Name (ARN).
", - "SourceTableDetails$TableArn": "ARN of the table for which backup was created.
" + "ScanInput$TableName": "The name of the table containing the requested items or if you provide IndexName
, the name of the table to which that index belongs.
You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "SourceTableDetails$TableArn": "ARN of the table for which backup was created.
", + "Update$TableName": "Name of the table for the UpdateItem
request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "UpdateContributorInsightsInput$TableName": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "UpdateItemInput$TableName": "The name of the table containing the item to update. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "UpdateKinesisStreamingDestinationInput$TableName": "The table name for the Kinesis streaming destination input. You can also provide the ARN of the table in this parameter.
", + "UpdateTableInput$TableName": "The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "UpdateTableReplicaAutoScalingInput$TableName": "The name of the global table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "UpdateTimeToLiveInput$TableName": "The name of the table to be configured. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
" } }, "TableAutoScalingDescription": { @@ -2843,68 +2943,34 @@ "base": null, "refs": { "BackupSummary$TableName": "Name of the table.
", - "BatchGetRequestMap$key": null, - "BatchGetResponseMap$key": null, "BatchStatementResponse$TableName": "The table name associated with a failed PartiQL batch statement.
", - "BatchWriteItemRequestMap$key": null, - "ConditionCheck$TableName": "Name of the table for the check item request.
", - "ConsumedCapacity$TableName": "The name of the table that was affected by the operation.
", "ContributorInsightsSummary$TableName": "Name of the table associated with the summary.
", - "CreateBackupInput$TableName": "The name of the table.
", "CreateGlobalTableInput$GlobalTableName": "The global table name.
", - "CreateTableInput$TableName": "The name of the table to create.
", - "Delete$TableName": "Name of the table in which the item to be deleted resides.
", - "DeleteItemInput$TableName": "The name of the table from which to delete the item.
", - "DeleteTableInput$TableName": "The name of the table to delete.
", - "DescribeContinuousBackupsInput$TableName": "Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.
", - "DescribeContributorInsightsInput$TableName": "The name of the table to describe.
", "DescribeContributorInsightsOutput$TableName": "The name of the table being described.
", "DescribeGlobalTableInput$GlobalTableName": "The name of the global table.
", "DescribeGlobalTableSettingsInput$GlobalTableName": "The name of the global table to describe.
", "DescribeGlobalTableSettingsOutput$GlobalTableName": "The name of the global table.
", - "DescribeKinesisStreamingDestinationInput$TableName": "The name of the table being described.
", "DescribeKinesisStreamingDestinationOutput$TableName": "The name of the table being described.
", - "DescribeTableInput$TableName": "The name of the table to describe.
", - "DescribeTableReplicaAutoScalingInput$TableName": "The name of the table.
", - "DescribeTimeToLiveInput$TableName": "The name of the table to be described.
", - "Get$TableName": "The name of the table from which to retrieve the specified item.
", - "GetItemInput$TableName": "The name of the table containing the requested item.
", "GlobalTable$GlobalTableName": "The global table name.
", "GlobalTableDescription$GlobalTableName": "The global table name.
", - "ItemCollectionMetricsPerTable$key": null, - "KinesisStreamingDestinationInput$TableName": "The name of the DynamoDB table.
", "KinesisStreamingDestinationOutput$TableName": "The name of the table being modified.
", - "ListBackupsInput$TableName": "The backups from the table specified by TableName
are listed.
The name of the table.
", "ListGlobalTablesInput$ExclusiveStartGlobalTableName": "The first global table name that this operation will evaluate.
", "ListGlobalTablesOutput$LastEvaluatedGlobalTableName": "Last evaluated global table name.
", "ListTablesInput$ExclusiveStartTableName": "The first table name that this operation will evaluate. Use the value that was returned for LastEvaluatedTableName
in a previous operation, so that you can obtain the next page of results.
The name of the last table in the current page of results. Use this value as the ExclusiveStartTableName
in a new request to obtain the next page of results, until all the table names are returned.
If you do not receive a LastEvaluatedTableName
value in the response, this means that there are no more table names to be retrieved.
Name of the table in which to write the item.
", - "PutItemInput$TableName": "The name of the table to contain the item.
", - "QueryInput$TableName": "The name of the table containing the requested items.
", "RestoreTableFromBackupInput$TargetTableName": "The name of the new table to which the backup must be restored.
", "RestoreTableToPointInTimeInput$SourceTableName": "Name of the source table that is being restored.
", "RestoreTableToPointInTimeInput$TargetTableName": "The name of the new table to which it must be restored to.
", - "ScanInput$TableName": "The name of the table containing the requested items; or, if you provide IndexName
, the name of the table to which that index belongs.
The name of the table for which the backup was created.
", "TableAutoScalingDescription$TableName": "The name of the table.
", "TableCreationParameters$TableName": "The name of the table created as part of the import operation.
", "TableDescription$TableName": "The name of the table.
", "TableNameList$member": null, - "Update$TableName": "Name of the table for the UpdateItem
request.
The name of the table.
", - "UpdateContributorInsightsInput$TableName": "The name of the table.
", "UpdateContributorInsightsOutput$TableName": "The name of the table.
", "UpdateGlobalTableInput$GlobalTableName": "The global table name.
", "UpdateGlobalTableSettingsInput$GlobalTableName": "The name of the global table
", "UpdateGlobalTableSettingsOutput$GlobalTableName": "The name of the global table.
", - "UpdateItemInput$TableName": "The name of the table containing the item to update.
", - "UpdateKinesisStreamingDestinationInput$TableName": "The table name for the Kinesis streaming destination input.
", - "UpdateKinesisStreamingDestinationOutput$TableName": "The table name for the Kinesis streaming destination output.
", - "UpdateTableInput$TableName": "The name of the table to be updated.
", - "UpdateTableReplicaAutoScalingInput$TableName": "The name of the global table to be updated.
", - "UpdateTimeToLiveInput$TableName": "The name of the table to be configured.
" + "UpdateKinesisStreamingDestinationOutput$TableName": "The table name for the Kinesis streaming destination output.
" } }, "TableNameList": { diff --git a/models/apis/managedblockchain-query/2023-05-04/api-2.json b/models/apis/managedblockchain-query/2023-05-04/api-2.json index f8c8b852578..011eac4c18b 100644 --- a/models/apis/managedblockchain-query/2023-05-04/api-2.json +++ b/models/apis/managedblockchain-query/2023-05-04/api-2.json @@ -429,12 +429,10 @@ }, "GetTransactionInput":{ "type":"structure", - "required":[ - "transactionHash", - "network" - ], + "required":["network"], "members":{ "transactionHash":{"shape":"QueryTransactionHash"}, + "transactionId":{"shape":"QueryTransactionId"}, "network":{"shape":"QueryNetwork"} } }, @@ -888,6 +886,7 @@ ], "members":{ "transactionHash":{"shape":"QueryTransactionHash"}, + "transactionId":{"shape":"QueryTransactionId"}, "network":{"shape":"QueryNetwork"}, "transactionTimestamp":{"shape":"Timestamp"}, "confirmationStatus":{"shape":"ConfirmationStatus"} diff --git a/models/apis/managedblockchain-query/2023-05-04/docs-2.json b/models/apis/managedblockchain-query/2023-05-04/docs-2.json index 5c55a7f79eb..8e1a46f5c17 100644 --- a/models/apis/managedblockchain-query/2023-05-04/docs-2.json +++ b/models/apis/managedblockchain-query/2023-05-04/docs-2.json @@ -445,7 +445,9 @@ "QueryTransactionId": { "base": null, "refs": { - "ListTransactionEventsInput$transactionId": "The identifier of a Bitcoin transaction. It is generated when a transaction is created.
transactionId
is only supported on the Bitcoin networks.
The identifier of a Bitcoin transaction. It is generated when a transaction is created.
transactionId
is only supported on the Bitcoin networks.
The identifier of a Bitcoin transaction. It is generated when a transaction is created.
transactionId
is only supported on the Bitcoin networks.
The identifier of a Bitcoin transaction. It is generated when a transaction is created.
" } }, "QuotaCode": { diff --git a/models/apis/savingsplans/2019-06-28/api-2.json b/models/apis/savingsplans/2019-06-28/api-2.json index 97fce7d71f8..0b1c4a2c456 100644 --- a/models/apis/savingsplans/2019-06-28/api-2.json +++ b/models/apis/savingsplans/2019-06-28/api-2.json @@ -109,6 +109,21 @@ {"shape":"InternalServerException"} ] }, + "ReturnSavingsPlan":{ + "name":"ReturnSavingsPlan", + "http":{ + "method":"POST", + "requestUri":"/ReturnSavingsPlan" + }, + "input":{"shape":"ReturnSavingsPlanRequest"}, + "output":{"shape":"ReturnSavingsPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -348,6 +363,23 @@ "error":{"httpStatusCode":404}, "exception":true }, + "ReturnSavingsPlanRequest":{ + "type":"structure", + "required":["savingsPlanId"], + "members":{ + "savingsPlanId":{"shape":"SavingsPlanId"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "ReturnSavingsPlanResponse":{ + "type":"structure", + "members":{ + "savingsPlanId":{"shape":"SavingsPlanId"} + } + }, "SavingsPlan":{ "type":"structure", "members":{ @@ -368,7 +400,8 @@ "upfrontPaymentAmount":{"shape":"Amount"}, "recurringPaymentAmount":{"shape":"Amount"}, "termDurationInSeconds":{"shape":"TermDurationInSeconds"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "returnableUntil":{"shape":"String"} } }, "SavingsPlanArn":{ @@ -669,7 +702,9 @@ "active", "retired", "queued", - "queued-deleted" + "queued-deleted", + "pending-return", + "returned" ] }, "SavingsPlanStateList":{ diff --git a/models/apis/savingsplans/2019-06-28/docs-2.json b/models/apis/savingsplans/2019-06-28/docs-2.json index 9dfb53c6f42..1712b918e8d 100644 --- a/models/apis/savingsplans/2019-06-28/docs-2.json +++ b/models/apis/savingsplans/2019-06-28/docs-2.json @@ -1,14 +1,15 @@ { "version": "2.0", - "service": "Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For more information, see the AWS Savings Plans User Guide.
", + "service": "Savings Plans are a pricing model that offer significant savings on Amazon Web Services usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage per hour, in the specified currency, for a term of one or three years, and receive a lower price for that usage. For more information, see the Amazon Web Services Savings Plans User Guide.
", "operations": { "CreateSavingsPlan": "Creates a Savings Plan.
", "DeleteQueuedSavingsPlan": "Deletes the queued purchase for the specified Savings Plan.
", - "DescribeSavingsPlanRates": "Describes the specified Savings Plans rates.
", + "DescribeSavingsPlanRates": "Describes the rates for the specified Savings Plan.
", "DescribeSavingsPlans": "Describes the specified Savings Plans.
", - "DescribeSavingsPlansOfferingRates": "Describes the specified Savings Plans offering rates.
", - "DescribeSavingsPlansOfferings": "Describes the specified Savings Plans offerings.
", + "DescribeSavingsPlansOfferingRates": "Describes the offering rates for the specified Savings Plans.
", + "DescribeSavingsPlansOfferings": "Describes the offerings for the specified Savings Plans.
", "ListTagsForResource": "Lists the tags for the specified resource.
", + "ReturnSavingsPlan": "Returns the specified Savings Plan.
", "TagResource": "Adds the specified tags to the specified resource.
", "UntagResource": "Removes the specified tags from the specified resource.
" }, @@ -16,9 +17,9 @@ "Amount": { "base": null, "refs": { - "CreateSavingsPlanRequest$commitment": "The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point.
", - "CreateSavingsPlanRequest$upfrontPaymentAmount": "The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is supported only if the payment option is Partial Upfront
.
The hourly commitment, in USD.
", + "CreateSavingsPlanRequest$commitment": "The hourly commitment, in the same currency of the savingsPlanOfferingId
. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point.
The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is only supported if the payment option is Partial Upfront
.
The hourly commitment amount in the specified currency.
", "SavingsPlan$upfrontPaymentAmount": "The up-front payment amount.
", "SavingsPlan$recurringPaymentAmount": "The recurring payment amount.
", "SavingsPlanRate$rate": "The rate.
" @@ -27,7 +28,8 @@ "ClientToken": { "base": null, "refs": { - "CreateSavingsPlanRequest$clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
" + "CreateSavingsPlanRequest$clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
", + "ReturnSavingsPlanRequest$clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
" } }, "CreateSavingsPlanRequest": { @@ -59,7 +61,7 @@ "DateTime": { "base": null, "refs": { - "CreateSavingsPlanRequest$purchaseTime": "The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
" + "CreateSavingsPlanRequest$purchaseTime": "The purchase time of the Savings Plan in UTC format (YYYY-MM-DDTHH:MM:SSZ).
" } }, "DeleteQueuedSavingsPlanRequest": { @@ -115,7 +117,7 @@ "DurationsList": { "base": null, "refs": { - "DescribeSavingsPlansOfferingsRequest$durations": "The durations, in seconds.
" + "DescribeSavingsPlansOfferingsRequest$durations": "The duration, in seconds.
" } }, "EC2InstanceFamily": { @@ -181,7 +183,7 @@ "base": null, "refs": { "DescribeSavingsPlanRatesRequest$nextToken": "The token for the next page of results.
", - "DescribeSavingsPlanRatesResponse$nextToken": "The token to use to retrieve the next page of results. This value is null when there are no more results to return.
", + "DescribeSavingsPlanRatesResponse$nextToken": "The token to use to retrieve the next page of results. This value is null when there are no more results to return.
", "DescribeSavingsPlansOfferingRatesRequest$nextToken": "The token for the next page of results.
", "DescribeSavingsPlansOfferingRatesResponse$nextToken": "The token to use to retrieve the next page of results. This value is null when there are no more results to return.
", "DescribeSavingsPlansOfferingsRequest$nextToken": "The token for the next page of results.
", @@ -199,7 +201,7 @@ "Region": { "base": null, "refs": { - "SavingsPlan$region": "The AWS Region.
" + "SavingsPlan$region": "The Amazon Web Services Region.
" } }, "ResourceNotFoundException": { @@ -207,6 +209,16 @@ "refs": { } }, + "ReturnSavingsPlanRequest": { + "base": null, + "refs": { + } + }, + "ReturnSavingsPlanResponse": { + "base": null, + "refs": { + } + }, "SavingsPlan": { "base": "Information about a Savings Plan.
", "refs": { @@ -244,7 +256,7 @@ } }, "SavingsPlanFilter": { - "base": "Information about a filter.
", + "base": "Information about a Savings Plan filter.
", "refs": { "SavingsPlanFilterList$member": null } @@ -262,6 +274,8 @@ "DeleteQueuedSavingsPlanRequest$savingsPlanId": "The ID of the Savings Plan.
", "DescribeSavingsPlanRatesRequest$savingsPlanId": "The ID of the Savings Plan.
", "DescribeSavingsPlanRatesResponse$savingsPlanId": "The ID of the Savings Plan.
", + "ReturnSavingsPlanRequest$savingsPlanId": "The ID of the Savings Plan.
", + "ReturnSavingsPlanResponse$savingsPlanId": "The ID of the Savings Plan.
", "SavingsPlan$savingsPlanId": "The ID of the Savings Plan.
", "SavingsPlanIdList$member": null } @@ -291,7 +305,7 @@ } }, "SavingsPlanOfferingFilterElement": { - "base": "Information about a filter.
", + "base": "Information about a Savings Plan offering filter.
", "refs": { "SavingsPlanOfferingFiltersList$member": null } @@ -310,7 +324,7 @@ } }, "SavingsPlanOfferingProperty": { - "base": "Information about a property.
", + "base": "Information about a Savings Plan offering property.
", "refs": { "SavingsPlanOfferingPropertyList$member": null } @@ -334,7 +348,7 @@ } }, "SavingsPlanOfferingRateFilterElement": { - "base": "Information about a filter.
", + "base": "Information about a Savings Plan offering rate filter.
", "refs": { "SavingsPlanOfferingRateFiltersList$member": null } @@ -346,7 +360,7 @@ } }, "SavingsPlanOfferingRateProperty": { - "base": "Information about a property.
", + "base": "Information about a Savings Plan offering rate property.
", "refs": { "SavingsPlanOfferingRatePropertyList$member": null } @@ -372,14 +386,14 @@ "SavingsPlanOperation": { "base": null, "refs": { - "SavingsPlanOffering$operation": "The specific AWS operation for the line item in the billing report.
", + "SavingsPlanOffering$operation": "The specific Amazon Web Services operation for the line item in the billing report.
", "SavingsPlanOperationList$member": null } }, "SavingsPlanOperationList": { "base": null, "refs": { - "DescribeSavingsPlansOfferingsRequest$operations": "The specific AWS operation for the line item in the billing report.
" + "DescribeSavingsPlansOfferingsRequest$operations": "The specific Amazon Web Services operation for the line item in the billing report.
" } }, "SavingsPlanPaymentOption": { @@ -410,7 +424,7 @@ "SavingsPlanProductTypeList": { "base": null, "refs": { - "DescribeSavingsPlansOfferingRatesRequest$products": "The AWS products.
", + "DescribeSavingsPlansOfferingRatesRequest$products": "The Amazon Web Services products.
", "SavingsPlan$productTypes": "The product types.
", "SavingsPlanOffering$productTypes": "The product type.
" } @@ -422,7 +436,7 @@ } }, "SavingsPlanRateFilter": { - "base": "Information about a filter.
", + "base": "Information about a Savings Plan rate filter.
", "refs": { "SavingsPlanRateFilterList$member": null } @@ -448,21 +462,21 @@ "SavingsPlanRateList": { "base": null, "refs": { - "DescribeSavingsPlanRatesResponse$searchResults": "Information about the Savings Plans rates.
" + "DescribeSavingsPlanRatesResponse$searchResults": "Information about the Savings Plan rates.
" } }, "SavingsPlanRateOperation": { "base": null, "refs": { - "SavingsPlanOfferingRate$operation": "The specific AWS operation for the line item in the billing report.
", - "SavingsPlanRate$operation": "The specific AWS operation for the line item in the billing report.
", + "SavingsPlanOfferingRate$operation": "The specific Amazon Web Services operation for the line item in the billing report.
", + "SavingsPlanRate$operation": "The specific Amazon Web Services operation for the line item in the billing report.
", "SavingsPlanRateOperationList$member": null } }, "SavingsPlanRateOperationList": { "base": null, "refs": { - "DescribeSavingsPlansOfferingRatesRequest$operations": "The specific AWS operation for the line item in the billing report.
" + "DescribeSavingsPlansOfferingRatesRequest$operations": "The specific Amazon Web Services operation for the line item in the billing report.
" } }, "SavingsPlanRatePricePerUnit": { @@ -472,7 +486,7 @@ } }, "SavingsPlanRateProperty": { - "base": "Information about a property.
", + "base": "Information about a Savings Plan rate property.
", "refs": { "SavingsPlanRatePropertyList$member": null } @@ -540,14 +554,14 @@ "SavingsPlanState": { "base": null, "refs": { - "SavingsPlan$state": "The state.
", + "SavingsPlan$state": "The current state.
", "SavingsPlanStateList$member": null } }, "SavingsPlanStateList": { "base": null, "refs": { - "DescribeSavingsPlansRequest$states": "The states.
" + "DescribeSavingsPlansRequest$states": "The current states of the Savings Plans.
" } }, "SavingsPlanType": { @@ -563,7 +577,7 @@ "base": null, "refs": { "DescribeSavingsPlansOfferingRatesRequest$savingsPlanTypes": "The plan types.
", - "DescribeSavingsPlansOfferingsRequest$planTypes": "The plan type.
" + "DescribeSavingsPlansOfferingsRequest$planTypes": "The plan types.
" } }, "SavingsPlanUsageType": { @@ -607,6 +621,7 @@ "SavingsPlan$description": "The description.
", "SavingsPlan$start": "The start time.
", "SavingsPlan$end": "The end time.
", + "SavingsPlan$returnableUntil": "The time until when a return for the Savings Plan can be requested. If the Savings Plan is not returnable, the field reflects the Savings Plan start time.
", "ServiceQuotaExceededException$message": null, "ValidationException$message": null } diff --git a/models/apis/savingsplans/2019-06-28/endpoint-rule-set-1.json b/models/apis/savingsplans/2019-06-28/endpoint-rule-set-1.json index e34bb65d649..9cd6b62b591 100644 --- a/models/apis/savingsplans/2019-06-28/endpoint-rule-set-1.json +++ b/models/apis/savingsplans/2019-06-28/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,344 +57,309 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "stringEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://savingsplans.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://savingsplans.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" - } - ] + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, - "headers": {} - }, - "type": "endpoint" + true + ] }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://savingsplans.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://savingsplans.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/service/accessanalyzer/api.go b/service/accessanalyzer/api.go index e1171fe48e0..336a655b3f0 100644 --- a/service/accessanalyzer/api.go +++ b/service/accessanalyzer/api.go @@ -5188,6 +5188,12 @@ func (s *CloudTrailProperties) SetTrailProperties(v []*TrailProperties) *CloudTr type Configuration struct { _ struct{} `type:"structure"` + // The access control configuration is for a DynamoDB stream. + DynamodbStream *DynamodbStreamConfiguration `locationName:"dynamodbStream" type:"structure"` + + // The access control configuration is for a DynamoDB table or index. + DynamodbTable *DynamodbTableConfiguration `locationName:"dynamodbTable" type:"structure"` + // The access control configuration is for an Amazon EBS volume snapshot. EbsSnapshot *EbsSnapshotConfiguration `locationName:"ebsSnapshot" type:"structure"` @@ -5263,6 +5269,18 @@ func (s *Configuration) Validate() error { return nil } +// SetDynamodbStream sets the DynamodbStream field's value. +func (s *Configuration) SetDynamodbStream(v *DynamodbStreamConfiguration) *Configuration { + s.DynamodbStream = v + return s +} + +// SetDynamodbTable sets the DynamodbTable field's value. +func (s *Configuration) SetDynamodbTable(v *DynamodbTableConfiguration) *Configuration { + s.DynamodbTable = v + return s +} + // SetEbsSnapshot sets the EbsSnapshot field's value. func (s *Configuration) SetEbsSnapshot(v *EbsSnapshotConfiguration) *Configuration { s.EbsSnapshot = v @@ -6055,6 +6073,98 @@ func (s DeleteArchiveRuleOutput) GoString() string { return s.String() } +// The proposed access control configuration for a DynamoDB stream. You can +// propose a configuration for a new DynamoDB stream or an existing DynamoDB +// stream that you own by specifying the policy for the DynamoDB stream. For +// more information, see PutResourcePolicy (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutResourcePolicy.html). +// +// - If the configuration is for an existing DynamoDB stream and you do not +// specify the DynamoDB policy, then the access preview uses the existing +// DynamoDB policy for the stream. +// +// - If the access preview is for a new resource and you do not specify the +// policy, then the access preview assumes a DynamoDB stream without a policy. +// +// - To propose deletion of an existing DynamoDB stream policy, you can specify +// an empty string for the DynamoDB policy. +type DynamodbStreamConfiguration struct { + _ struct{} `type:"structure"` + + // The proposed resource policy defining who can access or manage the DynamoDB + // stream. + StreamPolicy *string `locationName:"streamPolicy" 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 DynamodbStreamConfiguration) 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 DynamodbStreamConfiguration) GoString() string { + return s.String() +} + +// SetStreamPolicy sets the StreamPolicy field's value. +func (s *DynamodbStreamConfiguration) SetStreamPolicy(v string) *DynamodbStreamConfiguration { + s.StreamPolicy = &v + return s +} + +// The proposed access control configuration for a DynamoDB table or index. +// You can propose a configuration for a new DynamoDB table or index or an existing +// DynamoDB table or index that you own by specifying the policy for the DynamoDB +// table or index. For more information, see PutResourcePolicy (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutResourcePolicy.html). +// +// - If the configuration is for an existing DynamoDB table or index and +// you do not specify the DynamoDB policy, then the access preview uses the +// existing DynamoDB policy for the table or index. +// +// - If the access preview is for a new resource and you do not specify the +// policy, then the access preview assumes a DynamoDB table without a policy. +// +// - To propose deletion of an existing DynamoDB table or index policy, you +// can specify an empty string for the DynamoDB policy. +type DynamodbTableConfiguration struct { + _ struct{} `type:"structure"` + + // The proposed resource policy defining who can access or manage the DynamoDB + // table. + TablePolicy *string `locationName:"tablePolicy" 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 DynamodbTableConfiguration) 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 DynamodbTableConfiguration) GoString() string { + return s.String() +} + +// SetTablePolicy sets the TablePolicy field's value. +func (s *DynamodbTableConfiguration) SetTablePolicy(v string) *DynamodbTableConfiguration { + s.TablePolicy = &v + return s +} + // The proposed access control configuration for an Amazon EBS volume snapshot. // You can propose a configuration for a new Amazon EBS volume snapshot or an // Amazon EBS volume snapshot that you own by specifying the user IDs, groups, @@ -13040,6 +13150,12 @@ const ( // ResourceTypeAwsS3expressDirectoryBucket is a ResourceType enum value ResourceTypeAwsS3expressDirectoryBucket = "AWS::S3Express::DirectoryBucket" + + // ResourceTypeAwsDynamoDbTable is a ResourceType enum value + ResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table" + + // ResourceTypeAwsDynamoDbStream is a ResourceType enum value + ResourceTypeAwsDynamoDbStream = "AWS::DynamoDB::Stream" ) // ResourceType_Values returns all elements of the ResourceType enum @@ -13059,6 +13175,8 @@ func ResourceType_Values() []string { ResourceTypeAwsRdsDbclusterSnapshot, ResourceTypeAwsSnsTopic, ResourceTypeAwsS3expressDirectoryBucket, + ResourceTypeAwsDynamoDbTable, + ResourceTypeAwsDynamoDbStream, } } @@ -13125,6 +13243,9 @@ const ( // ValidatePolicyResourceTypeAwsIamAssumeRolePolicyDocument is a ValidatePolicyResourceType enum value ValidatePolicyResourceTypeAwsIamAssumeRolePolicyDocument = "AWS::IAM::AssumeRolePolicyDocument" + + // ValidatePolicyResourceTypeAwsDynamoDbTable is a ValidatePolicyResourceType enum value + ValidatePolicyResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table" ) // ValidatePolicyResourceType_Values returns all elements of the ValidatePolicyResourceType enum @@ -13135,6 +13256,7 @@ func ValidatePolicyResourceType_Values() []string { ValidatePolicyResourceTypeAwsS3MultiRegionAccessPoint, ValidatePolicyResourceTypeAwsS3objectLambdaAccessPoint, ValidatePolicyResourceTypeAwsIamAssumeRolePolicyDocument, + ValidatePolicyResourceTypeAwsDynamoDbTable, } } diff --git a/service/codebuild/api.go b/service/codebuild/api.go index fc972f77bd7..485f5b9fa89 100644 --- a/service/codebuild/api.go +++ b/service/codebuild/api.go @@ -17909,16 +17909,18 @@ type WebhookFilter struct { // Pattern is a required field Pattern *string `locationName:"pattern" type:"string" required:"true"` - // The type of webhook filter. There are six webhook filter types: EVENT, ACTOR_ACCOUNT_ID, - // HEAD_REF, BASE_REF, FILE_PATH, and COMMIT_MESSAGE. + // The type of webhook filter. There are eight webhook filter types: EVENT, + // ACTOR_ACCOUNT_ID, HEAD_REF, BASE_REF, FILE_PATH, COMMIT_MESSAGE, TAG_NAME, + // and RELEASE_NAME. // // * EVENT A webhook event triggers a build when the provided pattern matches - // one of six event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, - // PULL_REQUEST_CLOSED, PULL_REQUEST_REOPENED, and PULL_REQUEST_MERGED. The - // EVENT patterns are specified as a comma-separated string. For example, - // PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters all push, pull - // request created, and pull request updated events. The PULL_REQUEST_REOPENED - // works with GitHub and GitHub Enterprise only. + // one of eight event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, + // PULL_REQUEST_CLOSED, PULL_REQUEST_REOPENED, PULL_REQUEST_MERGED, RELEASED, + // and PRERELEASED. The EVENT patterns are specified as a comma-separated + // string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED + // filters all push, pull request created, and pull request updated events. + // The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only. + // The RELEASED and PRERELEASED work with GitHub only. // // * ACTOR_ACCOUNT_ID A webhook event triggers a build when a GitHub, GitHub // Enterprise, or Bitbucket account ID matches the regular expression pattern. @@ -17943,6 +17945,14 @@ type WebhookFilter struct { // events push and pull requests events. Also works with GitHub Enterprise // push events, but does not work with GitHub Enterprise pull request events. // + // * TAG_NAME A webhook triggers a build when the tag name of the release + // matches the regular expression pattern. Works with RELEASED and PRERELEASED + // events only. + // + // * RELEASE_NAME A webhook triggers a build when the release name matches + // the regular expression pattern. Works with RELEASED and PRERELEASED events + // only. + // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"` } diff --git a/service/connect/api.go b/service/connect/api.go index 671e9487f24..24143f5dda8 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -28241,7 +28241,20 @@ type AssociateInstanceStorageConfigInput struct { // InstanceId is a required field InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` - // A valid resource type. + // A valid resource type. To enable streaming for real-time analysis of contacts + // (https://docs.aws.amazon.com/connect/latest/adminguide/enable-contact-analysis-segment-streams.html), + // use the following types: + // + // * For chat contacts, use REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS. + // + // * For voice contacts, use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS. + // + // REAL_TIME_CONTACT_ANALYSIS_SEGMENTS is deprecated, but it is still supported + // and will apply only to VOICE channel contacts. Use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS + // for voice contacts moving forward. + // + // If you have previously associated a stream with REAL_TIME_CONTACT_ANALYSIS_SEGMENTS, + // no action is needed to update the stream to REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS. // // ResourceType is a required field ResourceType *string `type:"string" required:"true" enum:"InstanceStorageResourceType"` @@ -78632,6 +78645,12 @@ const ( // InstanceStorageResourceTypeScreenRecordings is a InstanceStorageResourceType enum value InstanceStorageResourceTypeScreenRecordings = "SCREEN_RECORDINGS" + + // InstanceStorageResourceTypeRealTimeContactAnalysisChatSegments is a InstanceStorageResourceType enum value + InstanceStorageResourceTypeRealTimeContactAnalysisChatSegments = "REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS" + + // InstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments is a InstanceStorageResourceType enum value + InstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments = "REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS" ) // InstanceStorageResourceType_Values returns all elements of the InstanceStorageResourceType enum @@ -78647,6 +78666,8 @@ func InstanceStorageResourceType_Values() []string { InstanceStorageResourceTypeAttachments, InstanceStorageResourceTypeContactEvaluations, InstanceStorageResourceTypeScreenRecordings, + InstanceStorageResourceTypeRealTimeContactAnalysisChatSegments, + InstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments, } } diff --git a/service/dynamodb/api.go b/service/dynamodb/api.go index ddb1a89c572..ae7e60ebeca 100644 --- a/service/dynamodb/api.go +++ b/service/dynamodb/api.go @@ -1319,6 +1319,164 @@ func (c *DynamoDB) DeleteItemWithContext(ctx aws.Context, input *DeleteItemInput return out, req.Send() } +const opDeleteResourcePolicy = "DeleteResourcePolicy" + +// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourcePolicy 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 DeleteResourcePolicy for more information on using the DeleteResourcePolicy +// 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 DeleteResourcePolicyRequest method. +// req, resp := client.DeleteResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicy +func (c *DynamoDB) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) { + op := &request.Operation{ + Name: opDeleteResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourcePolicyInput{} + } + + output = &DeleteResourcePolicyOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// DeleteResourcePolicy API operation for Amazon DynamoDB. +// +// Deletes the resource-based policy attached to the resource, which can be +// a table or stream. +// +// DeleteResourcePolicy is an idempotent operation; running it multiple times +// on the same resource doesn't result in an error response, unless you specify +// an ExpectedRevisionId, which will then return a PolicyNotFoundException. +// +// To make sure that you don't inadvertently lock yourself out of your own resources, +// the root principal in your Amazon Web Services account can perform DeleteResourcePolicy +// requests, even if your resource-based policy explicitly denies the root principal's +// access. +// +// DeleteResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy +// request immediately after running the DeleteResourcePolicy request, DynamoDB +// might still return the deleted policy. This is because the policy for your +// resource might not have been deleted yet. Wait for a few seconds, and then +// try the GetResourcePolicy request again. +// +// 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 DynamoDB's +// API operation DeleteResourcePolicy for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// - InternalServerError +// An error occurred on the server side. +// +// - PolicyNotFoundException +// The operation tried to access a nonexistent resource-based policy. +// +// If you specified an ExpectedRevisionId, it's possible that a policy is present +// for the resource but its revision ID didn't match the expected value. +// +// - ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// - LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// For most purposes, up to 500 simultaneous table operations are allowed per +// account. These operations include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, +// RestoreTableFromBackup, and RestoreTableToPointInTime. +// +// When you are creating a table with one or more secondary indexes, you can +// have up to 250 such requests running at a time. However, if the table or +// index specifications are complex, then DynamoDB might temporarily reduce +// the number of concurrent operations. +// +// When importing into DynamoDB, up to 50 simultaneous import table operations +// are allowed per account. +// +// There is a soft account quota of 2,500 tables. +// +// GetRecords was called with a value of more than 1000 for the limit request +// parameter. +// +// More than 2 processes are reading from the same streams shard at the same +// time. Exceeding this limit may result in request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicy +func (c *DynamoDB) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + return out, req.Send() +} + +// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourcePolicy 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 *DynamoDB) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTable = "DeleteTable" // DeleteTableRequest generates a "aws/request.Request" representing the @@ -3818,6 +3976,147 @@ func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts return out, req.Send() } +const opGetResourcePolicy = "GetResourcePolicy" + +// GetResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResourcePolicy 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 GetResourcePolicy for more information on using the GetResourcePolicy +// 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 GetResourcePolicyRequest method. +// req, resp := client.GetResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicy +func (c *DynamoDB) GetResourcePolicyRequest(input *GetResourcePolicyInput) (req *request.Request, output *GetResourcePolicyOutput) { + op := &request.Operation{ + Name: opGetResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResourcePolicyInput{} + } + + output = &GetResourcePolicyOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// GetResourcePolicy API operation for Amazon DynamoDB. +// +// Returns the resource-based policy document attached to the resource, which +// can be a table or stream, in JSON format. +// +// GetResourcePolicy follows an eventually consistent (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) +// model. The following list describes the outcomes when you issue the GetResourcePolicy +// request immediately after issuing another request: +// +// - If you issue a GetResourcePolicy request immediately after a PutResourcePolicy +// request, DynamoDB might return a PolicyNotFoundException. +// +// - If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy +// request, DynamoDB might return the policy that was present before the +// deletion request. +// +// - If you issue a GetResourcePolicy request immediately after a CreateTable +// request, which includes a resource-based policy, DynamoDB might return +// a ResourceNotFoundException or a PolicyNotFoundException. +// +// Because GetResourcePolicy uses an eventually consistent query, the metadata +// for your policy or table might not be available at that moment. Wait for +// a few seconds, and then retry the GetResourcePolicy request. +// +// After a GetResourcePolicy request returns a policy created using the PutResourcePolicy +// request, you can assume the policy will start getting applied in the authorization +// of requests to the resource. Because this process is eventually consistent, +// it will take some time to apply the policy to all requests to a resource. +// Policies that you attach while creating a table using the CreateTable request +// will always be applied to all requests for that 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 DynamoDB's +// API operation GetResourcePolicy for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// - InternalServerError +// An error occurred on the server side. +// +// - PolicyNotFoundException +// The operation tried to access a nonexistent resource-based policy. +// +// If you specified an ExpectedRevisionId, it's possible that a policy is present +// for the resource but its revision ID didn't match the expected value. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicy +func (c *DynamoDB) GetResourcePolicy(input *GetResourcePolicyInput) (*GetResourcePolicyOutput, error) { + req, out := c.GetResourcePolicyRequest(input) + return out, req.Send() +} + +// GetResourcePolicyWithContext is the same as GetResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourcePolicy 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 *DynamoDB) GetResourcePolicyWithContext(ctx aws.Context, input *GetResourcePolicyInput, opts ...request.Option) (*GetResourcePolicyOutput, error) { + req, out := c.GetResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opImportTable = "ImportTable" // ImportTableRequest generates a "aws/request.Request" representing the @@ -4990,50 +5289,206 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // - ConditionalCheckFailedException // A condition specified in the operation could not be evaluated. // -// - ProvisionedThroughputExceededException -// Your request rate is too high. The Amazon Web Services SDKs for DynamoDB -// automatically retry requests that receive this exception. Your request is -// eventually successful, unless your retry queue is too large to finish. Reduce -// the frequency of requests and use exponential backoff. For more information, -// go to Error Retries and Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. +// - ProvisionedThroughputExceededException +// Your request rate is too high. The Amazon Web Services SDKs for DynamoDB +// automatically retry requests that receive this exception. Your request is +// eventually successful, unless your retry queue is too large to finish. Reduce +// the frequency of requests and use exponential backoff. For more information, +// go to Error Retries and Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// - ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// - TransactionConflictException +// Operation was rejected because there is an ongoing transaction for the item. +// +// - RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact Amazon Web Services Support (https://aws.amazon.com/support) to request +// a quota increase. +// +// - InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem +func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { + req, out := c.PutItemRequest(input) + return out, req.Send() +} + +// PutItemWithContext is the same as PutItem with the addition of +// the ability to pass a context and additional request options. +// +// See PutItem 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 *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { + req, out := c.PutItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutResourcePolicy = "PutResourcePolicy" + +// PutResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResourcePolicy 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 PutResourcePolicy for more information on using the PutResourcePolicy +// 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 PutResourcePolicyRequest method. +// req, resp := client.PutResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicy +func (c *DynamoDB) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) { + op := &request.Operation{ + Name: opPutResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResourcePolicyInput{} + } + + output = &PutResourcePolicyOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// PutResourcePolicy API operation for Amazon DynamoDB. +// +// Attaches a resource-based policy document to the resource, which can be a +// table or stream. When you attach a resource-based policy using this API, +// the policy application is eventually consistent (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html). +// +// PutResourcePolicy is an idempotent operation; running it multiple times on +// the same resource using the same policy document will return the same revision +// ID. If you specify an ExpectedRevisionId which doesn't match the current +// policy's RevisionId, the PolicyNotFoundException will be returned. +// +// PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy +// request immediately after a PutResourcePolicy request, DynamoDB might return +// your previous policy, if there was one, or return the PolicyNotFoundException. +// This is because GetResourcePolicy uses an eventually consistent query, and +// the metadata for your policy or table might not be available at that moment. +// Wait for a few seconds, and then try the GetResourcePolicy request again. +// +// 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 DynamoDB's +// API operation PutResourcePolicy for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// - InternalServerError +// An error occurred on the server side. +// +// - LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// For most purposes, up to 500 simultaneous table operations are allowed per +// account. These operations include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, +// RestoreTableFromBackup, and RestoreTableToPointInTime. +// +// When you are creating a table with one or more secondary indexes, you can +// have up to 250 such requests running at a time. However, if the table or +// index specifications are complex, then DynamoDB might temporarily reduce +// the number of concurrent operations. +// +// When importing into DynamoDB, up to 50 simultaneous import table operations +// are allowed per account. // -// - ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// There is a soft account quota of 2,500 tables. // -// - ItemCollectionSizeLimitExceededException -// An item collection is too large. This exception is only returned for tables -// that have one or more local secondary indexes. +// GetRecords was called with a value of more than 1000 for the limit request +// parameter. // -// - TransactionConflictException -// Operation was rejected because there is an ongoing transaction for the item. +// More than 2 processes are reading from the same streams shard at the same +// time. Exceeding this limit may result in request throttling. // -// - RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact Amazon Web Services Support (https://aws.amazon.com/support) to request -// a quota increase. +// - PolicyNotFoundException +// The operation tried to access a nonexistent resource-based policy. // -// - InternalServerError -// An error occurred on the server side. +// If you specified an ExpectedRevisionId, it's possible that a policy is present +// for the resource but its revision ID didn't match the expected value. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem -func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { - req, out := c.PutItemRequest(input) +// - ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicy +func (c *DynamoDB) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) return out, req.Send() } -// PutItemWithContext is the same as PutItem with the addition of +// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of // the ability to pass a context and additional request options. // -// See PutItem for details on how to use this API operation. +// See PutResourcePolicy 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 *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { - req, out := c.PutItemRequest(input) +func (c *DynamoDB) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -7520,8 +7975,8 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req // // UpdateTable is an asynchronous operation; while it's executing, the table // status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue -// another UpdateTable request on the base table nor any replicas. When the -// table returns to the ACTIVE state, the UpdateTable operation is complete. +// another UpdateTable request. When the table returns to the ACTIVE state, +// the UpdateTable operation is complete. // // 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 @@ -9010,7 +9465,7 @@ type BackupSummary struct { BackupType *string `type:"string" enum:"BackupType"` // ARN associated with the table. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` // Unique identifier for the table. TableId *string `type:"string"` @@ -9223,9 +9678,9 @@ func (s *BatchExecuteStatementOutput) SetResponses(v []*BatchStatementResponse) type BatchGetItemInput struct { _ struct{} `type:"structure"` - // A map of one or more table names and, for each table, a map that describes - // one or more items to retrieve from that table. Each table name can be used - // only once per BatchGetItem request. + // A map of one or more table names or table ARNs and, for each table, a map + // that describes one or more items to retrieve from that table. Each table + // name or ARN can be used only once per BatchGetItem request. // // Each element in the map of items to retrieve consists of the following: // @@ -9359,9 +9814,9 @@ type BatchGetItemOutput struct { // * CapacityUnits - The total number of capacity units consumed. ConsumedCapacity []*ConsumedCapacity `type:"list"` - // A map of table name to a list of items. Each object in Responses consists - // of a table name, along with a map of attribute data consisting of the data - // type and attribute value. + // A map of table name or table ARN to a list of items. Each object in Responses + // consists of a table name or ARN, along with a map of attribute data consisting + // of the data type and attribute value. Responses map[string][]map[string]*AttributeValue `type:"map"` // A map of tables and their respective keys that were not processed with the @@ -9613,9 +10068,9 @@ func (s *BatchStatementResponse) SetTableName(v string) *BatchStatementResponse type BatchWriteItemInput struct { _ struct{} `type:"structure"` - // A map of one or more table names and, for each table, a list of operations - // to be performed (DeleteRequest or PutRequest). Each element in the map consists - // of the following: + // A map of one or more table names or table ARNs and, for each table, a list + // of operations to be performed (DeleteRequest or PutRequest). Each element + // in the map consists of the following: // // * DeleteRequest - Perform a DeleteItem operation on the specified item. // The item to be deleted is identified by a Key subelement: Key - A map @@ -9750,8 +10205,8 @@ type BatchWriteItemOutput struct { // provide this value directly to a subsequent BatchWriteItem operation. For // more information, see RequestItems in the Request Parameters section. // - // Each UnprocessedItems entry consists of a table name and, for that table, - // a list of operations to perform (DeleteRequest or PutRequest). + // Each UnprocessedItems entry consists of a table name or table ARN and, for + // that table, a list of operations to perform (DeleteRequest or PutRequest). // // * DeleteRequest - Perform a DeleteItem operation on the specified item. // The item to be deleted is identified by a Key subelement: Key - A map @@ -10189,10 +10644,11 @@ type ConditionCheck struct { // the valid values are: NONE and ALL_OLD. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // Name of the table for the check item request. + // Name of the table for the check item request. You can also provide the Amazon + // Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10225,8 +10681,8 @@ func (s *ConditionCheck) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -10363,8 +10819,10 @@ type ConsumedCapacity struct { // The amount of throughput consumed on the table affected by the operation. Table *Capacity `type:"structure"` - // The name of the table that was affected by the operation. - TableName *string `min:"3" type:"string"` + // The name of the table that was affected by the operation. If you had specified + // the Amazon Resource Name (ARN) of a table in the input, you'll see the table + // ARN in the response. + TableName *string `min:"1" type:"string"` // The total number of write capacity units consumed by the operation. WriteCapacityUnits *float64 `type:"double"` @@ -10597,10 +11055,11 @@ type CreateBackupInput struct { // BackupName is a required field BackupName *string `min:"3" type:"string" required:"true"` - // The name of the table. + // The name of the table. You can also provide the Amazon Resource Name (ARN) + // of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10633,8 +11092,8 @@ func (s *CreateBackupInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -11172,6 +11631,19 @@ type CreateTableInput struct { // in the Amazon DynamoDB Developer Guide. ProvisionedThroughput *ProvisionedThroughput `type:"structure"` + // An Amazon Web Services resource-based policy document in JSON format that + // will be attached to the table. + // + // When you attach a resource-based policy while creating a table, the policy + // creation is strongly consistent. + // + // The maximum size supported for a resource-based policy document is 20 KB. + // DynamoDB counts whitespaces when calculating the size of a policy against + // this limit. You can’t request an increase for this limit. For a full list + // of all considerations that you should keep in mind while attaching a resource-based + // policy, see Resource-based policy considerations (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html). + ResourcePolicy *string `type:"string"` + // Represents the settings used to enable server-side encryption. SSESpecification *SSESpecification `type:"structure"` @@ -11193,10 +11665,11 @@ type CreateTableInput struct { // The table class of the new table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. TableClass *string `type:"string" enum:"TableClass"` - // The name of the table to create. + // The name of the table to create. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // A list of key-value pairs to label the table. For more information, see Tagging // for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html). @@ -11236,8 +11709,8 @@ func (s *CreateTableInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.AttributeDefinitions != nil { for i, v := range s.AttributeDefinitions { @@ -11348,6 +11821,12 @@ func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *C return s } +// SetResourcePolicy sets the ResourcePolicy field's value. +func (s *CreateTableInput) SetResourcePolicy(v string) *CreateTableInput { + s.ResourcePolicy = &v + return s +} + // SetSSESpecification sets the SSESpecification field's value. func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput { s.SSESpecification = v @@ -11494,10 +11973,11 @@ type Delete struct { // values are: NONE and ALL_OLD. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // Name of the table in which the item to be deleted resides. + // Name of the table in which the item to be deleted resides. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -11527,8 +12007,8 @@ func (s *Delete) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -11849,10 +12329,11 @@ type DeleteItemInput struct { // No read capacity units are consumed. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // The name of the table from which to delete the item. + // The name of the table from which to delete the item. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -11882,8 +12363,8 @@ func (s *DeleteItemInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -12162,14 +12643,118 @@ func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest { return s } +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // A string value that you can use to conditionally delete your policy. When + // you provide an expected revision ID, if the revision ID of the existing policy + // on the resource doesn't match or if there's no policy attached to the resource, + // the request will fail and return a PolicyNotFoundException. + ExpectedRevisionId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy + // will be removed. The resources you can specify include tables and streams. + // If you remove the policy of a table, it will also remove the permissions + // for the table's indexes defined in that policy document. This is because + // index permissions are defined in the table's policy. + // + // ResourceArn is a required field + ResourceArn *string `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 DeleteResourcePolicyInput) 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 DeleteResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExpectedRevisionId sets the ExpectedRevisionId field's value. +func (s *DeleteResourcePolicyInput) SetExpectedRevisionId(v string) *DeleteResourcePolicyInput { + s.ExpectedRevisionId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // A unique string that represents the revision ID of the policy. If you are + // comparing revision IDs, make sure to always use string comparison logic. + // + // This value will be empty if you make a request against a resource without + // a policy. + RevisionId *string `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 DeleteResourcePolicyOutput) 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 DeleteResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetRevisionId sets the RevisionId field's value. +func (s *DeleteResourcePolicyOutput) SetRevisionId(v string) *DeleteResourcePolicyOutput { + s.RevisionId = &v + return s +} + // Represents the input of a DeleteTable operation. type DeleteTableInput struct { _ struct{} `type:"structure"` - // The name of the table to delete. + // The name of the table to delete. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12196,8 +12781,8 @@ func (s *DeleteTableInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -12330,8 +12915,11 @@ type DescribeContinuousBackupsInput struct { // Name of the table for which the customer wants to check the continuous backups // and point in time recovery settings. // + // You can also provide the Amazon Resource Name (ARN) of the table in this + // parameter. + // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12358,8 +12946,8 @@ func (s *DescribeContinuousBackupsInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -12412,10 +13000,11 @@ type DescribeContributorInsightsInput struct { // The name of the global secondary index to describe, if applicable. IndexName *string `min:"3" type:"string"` - // The name of the table to describe. + // The name of the table to describe. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12445,8 +13034,8 @@ func (s *DescribeContributorInsightsInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -12950,10 +13539,11 @@ func (s *DescribeImportOutput) SetImportTableDescription(v *ImportTableDescripti type DescribeKinesisStreamingDestinationInput struct { _ struct{} `type:"structure"` - // The name of the table being described. + // The name of the table being described. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12980,8 +13570,8 @@ func (s *DescribeKinesisStreamingDestinationInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -13128,10 +13718,11 @@ func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeL type DescribeTableInput struct { _ struct{} `type:"structure"` - // The name of the table to describe. + // The name of the table to describe. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13158,8 +13749,8 @@ func (s *DescribeTableInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -13209,10 +13800,11 @@ func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput type DescribeTableReplicaAutoScalingInput struct { _ struct{} `type:"structure"` - // The name of the table. + // The name of the table. You can also provide the Amazon Resource Name (ARN) + // of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13239,8 +13831,8 @@ func (s *DescribeTableReplicaAutoScalingInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -13289,10 +13881,11 @@ func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v type DescribeTimeToLiveInput struct { _ struct{} `type:"structure"` - // The name of the table to be described. + // The name of the table to be described. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13319,8 +13912,8 @@ func (s *DescribeTimeToLiveInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -13377,10 +13970,11 @@ type DisableKinesisStreamingDestinationInput struct { // StreamArn is a required field StreamArn *string `min:"37" type:"string" required:"true"` - // The name of the DynamoDB table. + // The name of the DynamoDB table. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13413,8 +14007,8 @@ func (s *DisableKinesisStreamingDestinationInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -13608,10 +14202,11 @@ type EnableKinesisStreamingDestinationInput struct { // StreamArn is a required field StreamArn *string `min:"37" type:"string" required:"true"` - // The name of the DynamoDB table. + // The name of the DynamoDB table. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13644,8 +14239,8 @@ func (s *EnableKinesisStreamingDestinationInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -14477,7 +15072,7 @@ type ExportDescription struct { StartTime *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of the table that was exported. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` // Unique ID of the table that was exported. TableId *string `type:"string"` @@ -14807,7 +15402,7 @@ type ExportTableToPointInTimeInput struct { // The Amazon Resource Name (ARN) associated with the table to export. // // TableArn is a required field - TableArn *string `type:"string" required:"true"` + TableArn *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -14840,6 +15435,9 @@ func (s *ExportTableToPointInTimeInput) Validate() error { if s.TableArn == nil { invalidParams.Add(request.NewErrParamRequired("TableArn")) } + if s.TableArn != nil && len(*s.TableArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15007,10 +15605,11 @@ type Get struct { // they do not appear in the result. ProjectionExpression *string `type:"string"` - // The name of the table from which to retrieve the specified item. + // The name of the table from which to retrieve the specified item. You can + // also provide the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -15040,8 +15639,8 @@ func (s *Get) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -15163,10 +15762,11 @@ type GetItemInput struct { // * NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` - // The name of the table containing the requested item. + // The name of the table containing the requested item. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -15199,8 +15799,8 @@ func (s *GetItemInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -15221,50 +15821,142 @@ func (s *GetItemInput) SetConsistentRead(v bool) *GetItemInput { return s } -// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. -func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput { - s.ExpressionAttributeNames = v - return s +// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. +func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput { + s.ExpressionAttributeNames = v + return s +} + +// SetKey sets the Key field's value. +func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput { + s.Key = v + return s +} + +// SetProjectionExpression sets the ProjectionExpression field's value. +func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput { + s.ProjectionExpression = &v + return s +} + +// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. +func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput { + s.ReturnConsumedCapacity = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetItemInput) SetTableName(v string) *GetItemInput { + s.TableName = &v + return s +} + +// Represents the output of a GetItem operation. +type GetItemOutput struct { + _ struct{} `type:"structure"` + + // The capacity units consumed by the GetItem operation. The data returned includes + // the total provisioned throughput consumed, along with statistics for the + // table and any indexes involved in the operation. ConsumedCapacity is only + // returned if the ReturnConsumedCapacity parameter was specified. For more + // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ItemSizeCalculations.Reads) + // in the Amazon DynamoDB Developer Guide. + ConsumedCapacity *ConsumedCapacity `type:"structure"` + + // A map of attribute names to AttributeValue objects, as specified by ProjectionExpression. + Item map[string]*AttributeValue `type:"map"` +} + +// 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 GetItemOutput) 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 GetItemOutput) GoString() string { + return s.String() +} + +// SetConsumedCapacity sets the ConsumedCapacity field's value. +func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput { + s.ConsumedCapacity = v + return s +} + +// SetItem sets the Item field's value. +func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput { + s.Item = v + return s +} + +type GetResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy + // is attached. The resources you can specify include tables and streams. + // + // ResourceArn is a required field + ResourceArn *string `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 GetResourcePolicyInput) String() string { + return awsutil.Prettify(s) } -// SetKey sets the Key field's value. -func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput { - s.Key = v - return 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 GetResourcePolicyInput) GoString() string { + return s.String() } -// SetProjectionExpression sets the ProjectionExpression field's value. -func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput { - s.ProjectionExpression = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } -// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. -func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput { - s.ReturnConsumedCapacity = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTableName sets the TableName field's value. -func (s *GetItemInput) SetTableName(v string) *GetItemInput { - s.TableName = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v return s } -// Represents the output of a GetItem operation. -type GetItemOutput struct { +type GetResourcePolicyOutput struct { _ struct{} `type:"structure"` - // The capacity units consumed by the GetItem operation. The data returned includes - // the total provisioned throughput consumed, along with statistics for the - // table and any indexes involved in the operation. ConsumedCapacity is only - // returned if the ReturnConsumedCapacity parameter was specified. For more - // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ItemSizeCalculations.Reads) - // in the Amazon DynamoDB Developer Guide. - ConsumedCapacity *ConsumedCapacity `type:"structure"` + // The resource-based policy document attached to the resource, which can be + // a table or stream, in JSON format. + Policy *string `type:"string"` - // A map of attribute names to AttributeValue objects, as specified by ProjectionExpression. - Item map[string]*AttributeValue `type:"map"` + // A unique string that represents the revision ID of the policy. If you are + // comparing revision IDs, make sure to always use string comparison logic. + RevisionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -15272,7 +15964,7 @@ type GetItemOutput struct { // 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 GetItemOutput) String() string { +func (s GetResourcePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -15281,19 +15973,19 @@ func (s GetItemOutput) String() string { // 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 GetItemOutput) GoString() string { +func (s GetResourcePolicyOutput) GoString() string { return s.String() } -// SetConsumedCapacity sets the ConsumedCapacity field's value. -func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput { - s.ConsumedCapacity = v +// SetPolicy sets the Policy field's value. +func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { + s.Policy = &v return s } -// SetItem sets the Item field's value. -func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput { - s.Item = v +// SetRevisionId sets the RevisionId field's value. +func (s *GetResourcePolicyOutput) SetRevisionId(v string) *GetResourcePolicyOutput { + s.RevisionId = &v return s } @@ -16360,7 +17052,7 @@ type ImportSummary struct { StartTime *time.Time `type:"timestamp"` // The Amazon Resource Number (ARN) of the table being imported into. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` } // String returns the string representation. @@ -16491,7 +17183,7 @@ type ImportTableDescription struct { StartTime *time.Time `type:"timestamp"` // The Amazon Resource Number (ARN) of the table being imported into. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` // The parameters for the new table that is being imported into. TableCreationParameters *TableCreationParameters `type:"structure"` @@ -17707,8 +18399,9 @@ type ListBackupsInput struct { // Maximum number of backups to return at once. Limit *int64 `min:"1" type:"integer"` - // The backups from the table specified by TableName are listed. - TableName *string `min:"3" type:"string"` + // Lists the backups from the table specified in TableName. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. + TableName *string `min:"1" type:"string"` // Only backups created after this time are listed. TimeRangeLowerBound is inclusive. TimeRangeLowerBound *time.Time `type:"timestamp"` @@ -17745,8 +18438,8 @@ func (s *ListBackupsInput) Validate() error { if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -17850,8 +18543,9 @@ type ListContributorInsightsInput struct { // A token to for the desired page, if there is one. NextToken *string `type:"string"` - // The name of the table. - TableName *string `min:"3" type:"string"` + // The name of the table. You can also provide the Amazon Resource Name (ARN) + // of the table in this parameter. + TableName *string `min:"1" type:"string"` } // String returns the string representation. @@ -17875,8 +18569,8 @@ func (s ListContributorInsightsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListContributorInsightsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListContributorInsightsInput"} - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -17955,7 +18649,7 @@ type ListExportsInput struct { NextToken *string `type:"string"` // The Amazon Resource Name (ARN) associated with the exported table. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` } // String returns the string representation. @@ -17982,6 +18676,9 @@ func (s *ListExportsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.TableArn != nil && len(*s.TableArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -18172,7 +18869,7 @@ type ListImportsInput struct { // The Amazon Resource Name (ARN) associated with the table that was imported // to. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` } // String returns the string representation. @@ -18202,6 +18899,9 @@ func (s *ListImportsInput) Validate() error { if s.PageSize != nil && *s.PageSize < 1 { invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) } + if s.TableArn != nil && len(*s.TableArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -19001,6 +19701,73 @@ func (s *PointInTimeRecoveryUnavailableException) RequestID() string { return s.RespMetadata.RequestID } +// The operation tried to access a nonexistent resource-based policy. +// +// If you specified an ExpectedRevisionId, it's possible that a policy is present +// for the resource but its revision ID didn't match the expected value. +type PolicyNotFoundException 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 PolicyNotFoundException) 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 PolicyNotFoundException) GoString() string { + return s.String() +} + +func newErrorPolicyNotFoundException(v protocol.ResponseMetadata) error { + return &PolicyNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *PolicyNotFoundException) Code() string { + return "PolicyNotFoundException" +} + +// Message returns the exception's message. +func (s *PolicyNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *PolicyNotFoundException) OrigErr() error { + return nil +} + +func (s *PolicyNotFoundException) 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 *PolicyNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *PolicyNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + // Represents attributes that are copied (projected) from the table into an // index. These are in addition to the primary key attributes and index key // attributes, which are automatically projected. @@ -19373,10 +20140,11 @@ type Put struct { // are: NONE and ALL_OLD. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // Name of the table in which to write the item. + // Name of the table in which to write the item. You can also provide the Amazon + // Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -19406,8 +20174,8 @@ func (s *Put) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -19616,10 +20384,11 @@ type PutItemInput struct { // No read capacity units are consumed. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // The name of the table to contain the item. + // The name of the table to contain the item. You can also provide the Amazon + // Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -19649,8 +20418,8 @@ func (s *PutItemInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -19837,6 +20606,144 @@ func (s *PutRequest) SetItem(v map[string]*AttributeValue) *PutRequest { return s } +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // Set this parameter to true to confirm that you want to remove your permissions + // to change the policy of this resource in the future. + ConfirmRemoveSelfResourceAccess *bool `type:"boolean"` + + // A string value that you can use to conditionally update your policy. You + // can provide the revision ID of your existing policy to make mutating requests + // against that policy. When you provide an expected revision ID, if the revision + // ID of the existing policy on the resource doesn't match or if there's no + // policy attached to the resource, your request will be rejected with a PolicyNotFoundException. + // + // To conditionally put a policy when no policy exists for the resource, specify + // NO_POLICY for the revision ID. + ExpectedRevisionId *string `min:"1" type:"string"` + + // An Amazon Web Services resource-based policy document in JSON format. + // + // The maximum size supported for a resource-based policy document is 20 KB. + // DynamoDB counts whitespaces when calculating the size of a policy against + // this limit. For a full list of all considerations that you should keep in + // mind while attaching a resource-based policy, see Resource-based policy considerations + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html). + // + // Policy is a required field + Policy *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy + // will be attached. The resources you can specify include tables and streams. + // + // You can control index permissions using the base table's policy. To specify + // the same permission level for your table and its indexes, you can provide + // both the table and index Amazon Resource Name (ARN)s in the Resource field + // of a given Statement in your policy document. Alternatively, to specify different + // permissions for your table, indexes, or both, you can define multiple Statement + // fields in your policy document. + // + // ResourceArn is a required field + ResourceArn *string `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 PutResourcePolicyInput) 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 PutResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1)) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfirmRemoveSelfResourceAccess sets the ConfirmRemoveSelfResourceAccess field's value. +func (s *PutResourcePolicyInput) SetConfirmRemoveSelfResourceAccess(v bool) *PutResourcePolicyInput { + s.ConfirmRemoveSelfResourceAccess = &v + return s +} + +// SetExpectedRevisionId sets the ExpectedRevisionId field's value. +func (s *PutResourcePolicyInput) SetExpectedRevisionId(v string) *PutResourcePolicyInput { + s.ExpectedRevisionId = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // A unique string that represents the revision ID of the policy. If you are + // comparing revision IDs, make sure to always use string comparison logic. + RevisionId *string `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 PutResourcePolicyOutput) 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 PutResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetRevisionId sets the RevisionId field's value. +func (s *PutResourcePolicyOutput) SetRevisionId(v string) *PutResourcePolicyOutput { + s.RevisionId = &v + return s +} + // Represents the input of a Query operation. type QueryInput struct { _ struct{} `type:"structure"` @@ -20123,10 +21030,11 @@ type QueryInput struct { // error. Select *string `type:"string" enum:"Select"` - // The name of the table containing the requested items. + // The name of the table containing the requested items. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -20162,8 +21070,8 @@ func (s *QueryInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.KeyConditions != nil { for i, v := range s.KeyConditions { @@ -21850,7 +22758,7 @@ type RestoreSummary struct { SourceBackupArn *string `min:"37" type:"string"` // The ARN of the source table of the backup that is being restored. - SourceTableArn *string `type:"string"` + SourceTableArn *string `min:"1" type:"string"` } // String returns the string representation. @@ -22093,7 +23001,7 @@ type RestoreTableToPointInTimeInput struct { // The DynamoDB table that will be restored. This value is an Amazon Resource // Name (ARN). - SourceTableArn *string `type:"string"` + SourceTableArn *string `min:"1" type:"string"` // Name of the source table that is being restored. SourceTableName *string `min:"3" type:"string"` @@ -22129,6 +23037,9 @@ func (s RestoreTableToPointInTimeInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *RestoreTableToPointInTimeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RestoreTableToPointInTimeInput"} + if s.SourceTableArn != nil && len(*s.SourceTableArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceTableArn", 1)) + } if s.SourceTableName != nil && len(*s.SourceTableName) < 3 { invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 3)) } @@ -22680,11 +23591,14 @@ type ScanInput struct { // error. Select *string `type:"string" enum:"Select"` - // The name of the table containing the requested items; or, if you provide - // IndexName, the name of the table to which that index belongs. + // The name of the table containing the requested items or if you provide IndexName, + // the name of the table to which that index belongs. + // + // You can also provide the Amazon Resource Name (ARN) of the table in this + // parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // For a parallel Scan request, TotalSegments represents the total number of // segments into which the Scan operation will be divided. The value of TotalSegments @@ -22733,8 +23647,8 @@ func (s *ScanInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.TotalSegments != nil && *s.TotalSegments < 1 { invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1)) @@ -22975,7 +23889,7 @@ type SourceTableDetails struct { ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` // ARN of the table for which backup was created. - TableArn *string `type:"string"` + TableArn *string `min:"1" type:"string"` // Time when the source table was created. // @@ -25193,10 +26107,11 @@ type Update struct { // values are: NONE and ALL_OLD. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // Name of the table for the UpdateItem request. + // Name of the table for the UpdateItem request. You can also provide the Amazon + // Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // An expression that defines one or more attributes to be updated, the action // to be performed on them, and new value(s) for them. @@ -25232,8 +26147,8 @@ func (s *Update) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.UpdateExpression == nil { invalidParams.Add(request.NewErrParamRequired("UpdateExpression")) @@ -25295,10 +26210,11 @@ type UpdateContinuousBackupsInput struct { // PointInTimeRecoverySpecification is a required field PointInTimeRecoverySpecification *PointInTimeRecoverySpecification `type:"structure" required:"true"` - // The name of the table. + // The name of the table. You can also provide the Amazon Resource Name (ARN) + // of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -25328,8 +26244,8 @@ func (s *UpdateContinuousBackupsInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.PointInTimeRecoverySpecification != nil { if err := s.PointInTimeRecoverySpecification.Validate(); err != nil { @@ -25398,10 +26314,11 @@ type UpdateContributorInsightsInput struct { // The global secondary index name, if applicable. IndexName *string `min:"3" type:"string"` - // The name of the table. + // The name of the table. You can also provide the Amazon Resource Name (ARN) + // of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -25434,8 +26351,8 @@ func (s *UpdateContributorInsightsInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -26028,10 +26945,11 @@ type UpdateItemInput struct { // No read capacity units are consumed. ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` - // The name of the table containing the item to update. + // The name of the table containing the item to update. You can also provide + // the Amazon Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // An expression that defines one or more attributes to be updated, the action // to be performed on them, and new values for them. @@ -26120,8 +27038,8 @@ func (s *UpdateItemInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -26320,15 +27238,16 @@ func (s *UpdateKinesisStreamingConfiguration) SetApproximateCreationDateTimePrec type UpdateKinesisStreamingDestinationInput struct { _ struct{} `type:"structure"` - // The ARN for the Kinesis stream input. + // The Amazon Resource Name (ARN) for the Kinesis stream input. // // StreamArn is a required field StreamArn *string `min:"37" type:"string" required:"true"` - // The table name for the Kinesis streaming destination input. + // The table name for the Kinesis streaming destination input. You can also + // provide the ARN of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // The command to update the Kinesis stream configuration. UpdateKinesisStreamingConfiguration *UpdateKinesisStreamingConfiguration `type:"structure"` @@ -26364,8 +27283,8 @@ func (s *UpdateKinesisStreamingDestinationInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -26622,10 +27541,11 @@ type UpdateTableInput struct { // STANDARD_INFREQUENT_ACCESS. TableClass *string `type:"string" enum:"TableClass"` - // The name of the table to be updated. + // The name of the table to be updated. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -26655,8 +27575,8 @@ func (s *UpdateTableInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.AttributeDefinitions != nil { for i, v := range s.AttributeDefinitions { @@ -26812,10 +27732,11 @@ type UpdateTableReplicaAutoScalingInput struct { // modified. ReplicaUpdates []*ReplicaAutoScalingUpdate `min:"1" type:"list"` - // The name of the global table to be updated. + // The name of the global table to be updated. You can also provide the Amazon + // Resource Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -26848,8 +27769,8 @@ func (s *UpdateTableReplicaAutoScalingInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.GlobalSecondaryIndexUpdates != nil { for i, v := range s.GlobalSecondaryIndexUpdates { @@ -26942,10 +27863,11 @@ func (s *UpdateTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v * type UpdateTimeToLiveInput struct { _ struct{} `type:"structure"` - // The name of the table to be configured. + // The name of the table to be configured. You can also provide the Amazon Resource + // Name (ARN) of the table in this parameter. // // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + TableName *string `min:"1" type:"string" required:"true"` // Represents the settings used to enable or disable Time to Live for the specified // table. @@ -26978,8 +27900,8 @@ func (s *UpdateTimeToLiveInput) Validate() error { if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.TimeToLiveSpecification == nil { invalidParams.Add(request.NewErrParamRequired("TimeToLiveSpecification")) diff --git a/service/dynamodb/dynamodbiface/interface.go b/service/dynamodb/dynamodbiface/interface.go index a4497260334..e6341124886 100644 --- a/service/dynamodb/dynamodbiface/interface.go +++ b/service/dynamodb/dynamodbiface/interface.go @@ -95,6 +95,10 @@ type DynamoDBAPI interface { DeleteItemWithContext(aws.Context, *dynamodb.DeleteItemInput, ...request.Option) (*dynamodb.DeleteItemOutput, error) DeleteItemRequest(*dynamodb.DeleteItemInput) (*request.Request, *dynamodb.DeleteItemOutput) + DeleteResourcePolicy(*dynamodb.DeleteResourcePolicyInput) (*dynamodb.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyWithContext(aws.Context, *dynamodb.DeleteResourcePolicyInput, ...request.Option) (*dynamodb.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyRequest(*dynamodb.DeleteResourcePolicyInput) (*request.Request, *dynamodb.DeleteResourcePolicyOutput) + DeleteTable(*dynamodb.DeleteTableInput) (*dynamodb.DeleteTableOutput, error) DeleteTableWithContext(aws.Context, *dynamodb.DeleteTableInput, ...request.Option) (*dynamodb.DeleteTableOutput, error) DeleteTableRequest(*dynamodb.DeleteTableInput) (*request.Request, *dynamodb.DeleteTableOutput) @@ -175,6 +179,10 @@ type DynamoDBAPI interface { GetItemWithContext(aws.Context, *dynamodb.GetItemInput, ...request.Option) (*dynamodb.GetItemOutput, error) GetItemRequest(*dynamodb.GetItemInput) (*request.Request, *dynamodb.GetItemOutput) + GetResourcePolicy(*dynamodb.GetResourcePolicyInput) (*dynamodb.GetResourcePolicyOutput, error) + GetResourcePolicyWithContext(aws.Context, *dynamodb.GetResourcePolicyInput, ...request.Option) (*dynamodb.GetResourcePolicyOutput, error) + GetResourcePolicyRequest(*dynamodb.GetResourcePolicyInput) (*request.Request, *dynamodb.GetResourcePolicyOutput) + ImportTable(*dynamodb.ImportTableInput) (*dynamodb.ImportTableOutput, error) ImportTableWithContext(aws.Context, *dynamodb.ImportTableInput, ...request.Option) (*dynamodb.ImportTableOutput, error) ImportTableRequest(*dynamodb.ImportTableInput) (*request.Request, *dynamodb.ImportTableOutput) @@ -223,6 +231,10 @@ type DynamoDBAPI interface { PutItemWithContext(aws.Context, *dynamodb.PutItemInput, ...request.Option) (*dynamodb.PutItemOutput, error) PutItemRequest(*dynamodb.PutItemInput) (*request.Request, *dynamodb.PutItemOutput) + PutResourcePolicy(*dynamodb.PutResourcePolicyInput) (*dynamodb.PutResourcePolicyOutput, error) + PutResourcePolicyWithContext(aws.Context, *dynamodb.PutResourcePolicyInput, ...request.Option) (*dynamodb.PutResourcePolicyOutput, error) + PutResourcePolicyRequest(*dynamodb.PutResourcePolicyInput) (*request.Request, *dynamodb.PutResourcePolicyOutput) + Query(*dynamodb.QueryInput) (*dynamodb.QueryOutput, error) QueryWithContext(aws.Context, *dynamodb.QueryInput, ...request.Option) (*dynamodb.QueryOutput, error) QueryRequest(*dynamodb.QueryInput) (*request.Request, *dynamodb.QueryOutput) diff --git a/service/dynamodb/errors.go b/service/dynamodb/errors.go index d03749e0c2a..2ef2cab532f 100644 --- a/service/dynamodb/errors.go +++ b/service/dynamodb/errors.go @@ -149,6 +149,15 @@ const ( // Point in time recovery has not yet been enabled for this source table. ErrCodePointInTimeRecoveryUnavailableException = "PointInTimeRecoveryUnavailableException" + // ErrCodePolicyNotFoundException for service response error code + // "PolicyNotFoundException". + // + // The operation tried to access a nonexistent resource-based policy. + // + // If you specified an ExpectedRevisionId, it's possible that a policy is present + // for the resource but its revision ID didn't match the expected value. + ErrCodePolicyNotFoundException = "PolicyNotFoundException" + // ErrCodeProvisionedThroughputExceededException for service response error code // "ProvisionedThroughputExceededException". // @@ -383,6 +392,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ItemCollectionSizeLimitExceededException": newErrorItemCollectionSizeLimitExceededException, "LimitExceededException": newErrorLimitExceededException, "PointInTimeRecoveryUnavailableException": newErrorPointInTimeRecoveryUnavailableException, + "PolicyNotFoundException": newErrorPolicyNotFoundException, "ProvisionedThroughputExceededException": newErrorProvisionedThroughputExceededException, "ReplicaAlreadyExistsException": newErrorReplicaAlreadyExistsException, "ReplicaNotFoundException": newErrorReplicaNotFoundException, diff --git a/service/managedblockchainquery/api.go b/service/managedblockchainquery/api.go index f238bd594b5..4610bd5f872 100644 --- a/service/managedblockchainquery/api.go +++ b/service/managedblockchainquery/api.go @@ -2263,9 +2263,13 @@ type GetTransactionInput struct { Network *string `locationName:"network" type:"string" required:"true" enum:"QueryNetwork"` // The hash of a transaction. It is generated when a transaction is created. + TransactionHash *string `locationName:"transactionHash" type:"string"` + + // The identifier of a Bitcoin transaction. It is generated when a transaction + // is created. // - // TransactionHash is a required field - TransactionHash *string `locationName:"transactionHash" type:"string" required:"true"` + // transactionId is only supported on the Bitcoin networks. + TransactionId *string `locationName:"transactionId" type:"string"` } // String returns the string representation. @@ -2292,9 +2296,6 @@ func (s *GetTransactionInput) Validate() error { if s.Network == nil { invalidParams.Add(request.NewErrParamRequired("Network")) } - if s.TransactionHash == nil { - invalidParams.Add(request.NewErrParamRequired("TransactionHash")) - } if invalidParams.Len() > 0 { return invalidParams @@ -2314,6 +2315,12 @@ func (s *GetTransactionInput) SetTransactionHash(v string) *GetTransactionInput return s } +// SetTransactionId sets the TransactionId field's value. +func (s *GetTransactionInput) SetTransactionId(v string) *GetTransactionInput { + s.TransactionId = &v + return s +} + type GetTransactionOutput struct { _ struct{} `type:"structure"` @@ -4302,6 +4309,10 @@ type TransactionOutputItem struct { // TransactionHash is a required field TransactionHash *string `locationName:"transactionHash" type:"string" required:"true"` + // The identifier of a Bitcoin transaction. It is generated when a transaction + // is created. + TransactionId *string `locationName:"transactionId" type:"string"` + // The time when the transaction occurred. // // TransactionTimestamp is a required field @@ -4344,6 +4355,12 @@ func (s *TransactionOutputItem) SetTransactionHash(v string) *TransactionOutputI return s } +// SetTransactionId sets the TransactionId field's value. +func (s *TransactionOutputItem) SetTransactionId(v string) *TransactionOutputItem { + s.TransactionId = &v + return s +} + // SetTransactionTimestamp sets the TransactionTimestamp field's value. func (s *TransactionOutputItem) SetTransactionTimestamp(v time.Time) *TransactionOutputItem { s.TransactionTimestamp = &v diff --git a/service/savingsplans/api.go b/service/savingsplans/api.go index db349b74606..405c63a7b23 100644 --- a/service/savingsplans/api.go +++ b/service/savingsplans/api.go @@ -233,7 +233,7 @@ func (c *SavingsPlans) DescribeSavingsPlanRatesRequest(input *DescribeSavingsPla // DescribeSavingsPlanRates API operation for AWS Savings Plans. // -// Describes the specified Savings Plans rates. +// Describes the rates for the specified Savings Plan. // // 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 @@ -397,7 +397,7 @@ func (c *SavingsPlans) DescribeSavingsPlansOfferingRatesRequest(input *DescribeS // DescribeSavingsPlansOfferingRates API operation for AWS Savings Plans. // -// Describes the specified Savings Plans offering rates. +// Describes the offering rates for the specified Savings Plans. // // 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 @@ -479,7 +479,7 @@ func (c *SavingsPlans) DescribeSavingsPlansOfferingsRequest(input *DescribeSavin // DescribeSavingsPlansOfferings API operation for AWS Savings Plans. // -// Describes the specified Savings Plans offerings. +// Describes the offerings for the specified Savings Plans. // // 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 @@ -603,6 +603,94 @@ func (c *SavingsPlans) ListTagsForResourceWithContext(ctx aws.Context, input *Li return out, req.Send() } +const opReturnSavingsPlan = "ReturnSavingsPlan" + +// ReturnSavingsPlanRequest generates a "aws/request.Request" representing the +// client's request for the ReturnSavingsPlan 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 ReturnSavingsPlan for more information on using the ReturnSavingsPlan +// 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 ReturnSavingsPlanRequest method. +// req, resp := client.ReturnSavingsPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ReturnSavingsPlan +func (c *SavingsPlans) ReturnSavingsPlanRequest(input *ReturnSavingsPlanInput) (req *request.Request, output *ReturnSavingsPlanOutput) { + op := &request.Operation{ + Name: opReturnSavingsPlan, + HTTPMethod: "POST", + HTTPPath: "/ReturnSavingsPlan", + } + + if input == nil { + input = &ReturnSavingsPlanInput{} + } + + output = &ReturnSavingsPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// ReturnSavingsPlan API operation for AWS Savings Plans. +// +// Returns the specified Savings Plan. +// +// 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 AWS Savings Plans's +// API operation ReturnSavingsPlan for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// One of the input parameters is not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServerException +// An unexpected error occurred. +// +// - ServiceQuotaExceededException +// A service quota has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ReturnSavingsPlan +func (c *SavingsPlans) ReturnSavingsPlan(input *ReturnSavingsPlanInput) (*ReturnSavingsPlanOutput, error) { + req, out := c.ReturnSavingsPlanRequest(input) + return out, req.Send() +} + +// ReturnSavingsPlanWithContext is the same as ReturnSavingsPlan with the addition of +// the ability to pass a context and additional request options. +// +// See ReturnSavingsPlan 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 *SavingsPlans) ReturnSavingsPlanWithContext(ctx aws.Context, input *ReturnSavingsPlanInput, opts ...request.Option) (*ReturnSavingsPlanOutput, error) { + req, out := c.ReturnSavingsPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -781,17 +869,18 @@ func (c *SavingsPlans) UntagResourceWithContext(ctx aws.Context, input *UntagRes type CreateSavingsPlanInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure the idempotency + // A unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // The hourly commitment, in USD. This is a value between 0.001 and 1 million. - // You cannot specify more than five digits after the decimal point. + // The hourly commitment, in the same currency of the savingsPlanOfferingId. + // This is a value between 0.001 and 1 million. You cannot specify more than + // five digits after the decimal point. // // Commitment is a required field Commitment *string `locationName:"commitment" type:"string" required:"true"` - // The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ). + // The purchase time of the Savings Plan in UTC format (YYYY-MM-DDTHH:MM:SSZ). PurchaseTime *time.Time `locationName:"purchaseTime" type:"timestamp"` // The ID of the offering. @@ -803,7 +892,7 @@ type CreateSavingsPlanInput struct { Tags map[string]*string `locationName:"tags" type:"map"` // The up-front payment amount. This is a whole number between 50 and 99 percent - // of the total value of the Savings Plan. This parameter is supported only + // of the total value of the Savings Plan. This parameter is only supported // if the payment option is Partial Upfront. UpfrontPaymentAmount *string `locationName:"upfrontPaymentAmount" type:"string"` } @@ -1064,7 +1153,7 @@ type DescribeSavingsPlanRatesOutput struct { // The ID of the Savings Plan. SavingsPlanId *string `locationName:"savingsPlanId" type:"string"` - // Information about the Savings Plans rates. + // Information about the Savings Plan rates. SearchResults []*SavingsPlanRate `locationName:"searchResults" type:"list"` } @@ -1123,7 +1212,7 @@ type DescribeSavingsPlansInput struct { // The IDs of the Savings Plans. SavingsPlanIds []*string `locationName:"savingsPlanIds" type:"list"` - // The states. + // The current states of the Savings Plans. States []*string `locationName:"states" type:"list" enum:"SavingsPlanState"` } @@ -1207,10 +1296,11 @@ type DescribeSavingsPlansOfferingRatesInput struct { // The token for the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The specific AWS operation for the line item in the billing report. + // The specific Amazon Web Services operation for the line item in the billing + // report. Operations []*string `locationName:"operations" type:"list"` - // The AWS products. + // The Amazon Web Services products. Products []*string `locationName:"products" type:"list" enum:"SavingsPlanProductType"` // The IDs of the offerings. @@ -1357,7 +1447,7 @@ type DescribeSavingsPlansOfferingsInput struct { // The descriptions. Descriptions []*string `locationName:"descriptions" type:"list"` - // The durations, in seconds. + // The duration, in seconds. Durations []*int64 `locationName:"durations" type:"list"` // The filters. @@ -1373,13 +1463,14 @@ type DescribeSavingsPlansOfferingsInput struct { // The IDs of the offerings. OfferingIds []*string `locationName:"offeringIds" type:"list"` - // The specific AWS operation for the line item in the billing report. + // The specific Amazon Web Services operation for the line item in the billing + // report. Operations []*string `locationName:"operations" type:"list"` // The payment options. PaymentOptions []*string `locationName:"paymentOptions" type:"list" enum:"SavingsPlanPaymentOption"` - // The plan type. + // The plan types. PlanTypes []*string `locationName:"planTypes" type:"list" enum:"SavingsPlanType"` // The product type. @@ -1852,11 +1943,98 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +type ReturnSavingsPlanInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The ID of the Savings Plan. + // + // SavingsPlanId is a required field + SavingsPlanId *string `locationName:"savingsPlanId" 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 ReturnSavingsPlanInput) 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 ReturnSavingsPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReturnSavingsPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReturnSavingsPlanInput"} + if s.SavingsPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("SavingsPlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *ReturnSavingsPlanInput) SetClientToken(v string) *ReturnSavingsPlanInput { + s.ClientToken = &v + return s +} + +// SetSavingsPlanId sets the SavingsPlanId field's value. +func (s *ReturnSavingsPlanInput) SetSavingsPlanId(v string) *ReturnSavingsPlanInput { + s.SavingsPlanId = &v + return s +} + +type ReturnSavingsPlanOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Savings Plan. + SavingsPlanId *string `locationName:"savingsPlanId" 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 ReturnSavingsPlanOutput) 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 ReturnSavingsPlanOutput) GoString() string { + return s.String() +} + +// SetSavingsPlanId sets the SavingsPlanId field's value. +func (s *ReturnSavingsPlanOutput) SetSavingsPlanId(v string) *ReturnSavingsPlanOutput { + s.SavingsPlanId = &v + return s +} + // Information about a Savings Plan. type SavingsPlan struct { _ struct{} `type:"structure"` - // The hourly commitment, in USD. + // The hourly commitment amount in the specified currency. Commitment *string `locationName:"commitment" type:"string"` // The currency. @@ -1883,9 +2061,14 @@ type SavingsPlan struct { // The recurring payment amount. RecurringPaymentAmount *string `locationName:"recurringPaymentAmount" type:"string"` - // The AWS Region. + // The Amazon Web Services Region. Region *string `locationName:"region" type:"string"` + // The time until when a return for the Savings Plan can be requested. If the + // Savings Plan is not returnable, the field reflects the Savings Plan start + // time. + ReturnableUntil *string `locationName:"returnableUntil" type:"string"` + // The Amazon Resource Name (ARN) of the Savings Plan. SavingsPlanArn *string `locationName:"savingsPlanArn" type:"string"` @@ -1898,7 +2081,7 @@ type SavingsPlan struct { // The start time. Start *string `locationName:"start" type:"string"` - // The state. + // The current state. State *string `locationName:"state" type:"string" enum:"SavingsPlanState"` // One or more tags. @@ -1989,6 +2172,12 @@ func (s *SavingsPlan) SetRegion(v string) *SavingsPlan { return s } +// SetReturnableUntil sets the ReturnableUntil field's value. +func (s *SavingsPlan) SetReturnableUntil(v string) *SavingsPlan { + s.ReturnableUntil = &v + return s +} + // SetSavingsPlanArn sets the SavingsPlanArn field's value. func (s *SavingsPlan) SetSavingsPlanArn(v string) *SavingsPlan { s.SavingsPlanArn = &v @@ -2037,7 +2226,7 @@ func (s *SavingsPlan) SetUpfrontPaymentAmount(v string) *SavingsPlan { return s } -// Information about a filter. +// Information about a Savings Plan filter. type SavingsPlanFilter struct { _ struct{} `type:"structure"` @@ -2094,7 +2283,8 @@ type SavingsPlanOffering struct { // The ID of the offering. OfferingId *string `locationName:"offeringId" type:"string"` - // The specific AWS operation for the line item in the billing report. + // The specific Amazon Web Services operation for the line item in the billing + // report. Operation *string `locationName:"operation" type:"string"` // The payment option. @@ -2200,7 +2390,7 @@ func (s *SavingsPlanOffering) SetUsageType(v string) *SavingsPlanOffering { return s } -// Information about a filter. +// Information about a Savings Plan offering filter. type SavingsPlanOfferingFilterElement struct { _ struct{} `type:"structure"` @@ -2241,7 +2431,7 @@ func (s *SavingsPlanOfferingFilterElement) SetValues(v []*string) *SavingsPlanOf return s } -// Information about a property. +// Information about a Savings Plan offering property. type SavingsPlanOfferingProperty struct { _ struct{} `type:"structure"` @@ -2286,7 +2476,8 @@ func (s *SavingsPlanOfferingProperty) SetValue(v string) *SavingsPlanOfferingPro type SavingsPlanOfferingRate struct { _ struct{} `type:"structure"` - // The specific AWS operation for the line item in the billing report. + // The specific Amazon Web Services operation for the line item in the billing + // report. Operation *string `locationName:"operation" type:"string"` // The product type. @@ -2377,7 +2568,7 @@ func (s *SavingsPlanOfferingRate) SetUsageType(v string) *SavingsPlanOfferingRat return s } -// Information about a filter. +// Information about a Savings Plan offering rate filter. type SavingsPlanOfferingRateFilterElement struct { _ struct{} `type:"structure"` @@ -2418,7 +2609,7 @@ func (s *SavingsPlanOfferingRateFilterElement) SetValues(v []*string) *SavingsPl return s } -// Information about a property. +// Information about a Savings Plan offering rate property. type SavingsPlanOfferingRateProperty struct { _ struct{} `type:"structure"` @@ -2466,7 +2657,8 @@ type SavingsPlanRate struct { // The currency. Currency *string `locationName:"currency" type:"string" enum:"CurrencyCode"` - // The specific AWS operation for the line item in the billing report. + // The specific Amazon Web Services operation for the line item in the billing + // report. Operation *string `locationName:"operation" type:"string"` // The product type. @@ -2554,7 +2746,7 @@ func (s *SavingsPlanRate) SetUsageType(v string) *SavingsPlanRate { return s } -// Information about a filter. +// Information about a Savings Plan rate filter. type SavingsPlanRateFilter struct { _ struct{} `type:"structure"` @@ -2595,7 +2787,7 @@ func (s *SavingsPlanRateFilter) SetValues(v []*string) *SavingsPlanRateFilter { return s } -// Information about a property. +// Information about a Savings Plan rate property. type SavingsPlanRateProperty struct { _ struct{} `type:"structure"` @@ -3187,6 +3379,12 @@ const ( // SavingsPlanStateQueuedDeleted is a SavingsPlanState enum value SavingsPlanStateQueuedDeleted = "queued-deleted" + + // SavingsPlanStatePendingReturn is a SavingsPlanState enum value + SavingsPlanStatePendingReturn = "pending-return" + + // SavingsPlanStateReturned is a SavingsPlanState enum value + SavingsPlanStateReturned = "returned" ) // SavingsPlanState_Values returns all elements of the SavingsPlanState enum @@ -3198,6 +3396,8 @@ func SavingsPlanState_Values() []string { SavingsPlanStateRetired, SavingsPlanStateQueued, SavingsPlanStateQueuedDeleted, + SavingsPlanStatePendingReturn, + SavingsPlanStateReturned, } } diff --git a/service/savingsplans/doc.go b/service/savingsplans/doc.go index 240a59bcd2c..cc8704b0f18 100644 --- a/service/savingsplans/doc.go +++ b/service/savingsplans/doc.go @@ -3,11 +3,11 @@ // Package savingsplans provides the client and types for making API // requests to AWS Savings Plans. // -// Savings Plans are a pricing model that offer significant savings on AWS usage -// (for example, on Amazon EC2 instances). You commit to a consistent amount -// of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower -// price for that usage. For more information, see the AWS Savings Plans User -// Guide (https://docs.aws.amazon.com/savingsplans/latest/userguide/). +// Savings Plans are a pricing model that offer significant savings on Amazon +// Web Services usage (for example, on Amazon EC2 instances). You commit to +// a consistent amount of usage per hour, in the specified currency, for a term +// of one or three years, and receive a lower price for that usage. For more +// information, see the Amazon Web Services Savings Plans User Guide (https://docs.aws.amazon.com/savingsplans/latest/userguide/). // // See https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28 for more information on this service. // diff --git a/service/savingsplans/savingsplansiface/interface.go b/service/savingsplans/savingsplansiface/interface.go index 4a6837a2fb8..220e13546d6 100644 --- a/service/savingsplans/savingsplansiface/interface.go +++ b/service/savingsplans/savingsplansiface/interface.go @@ -88,6 +88,10 @@ type SavingsPlansAPI interface { ListTagsForResourceWithContext(aws.Context, *savingsplans.ListTagsForResourceInput, ...request.Option) (*savingsplans.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*savingsplans.ListTagsForResourceInput) (*request.Request, *savingsplans.ListTagsForResourceOutput) + ReturnSavingsPlan(*savingsplans.ReturnSavingsPlanInput) (*savingsplans.ReturnSavingsPlanOutput, error) + ReturnSavingsPlanWithContext(aws.Context, *savingsplans.ReturnSavingsPlanInput, ...request.Option) (*savingsplans.ReturnSavingsPlanOutput, error) + ReturnSavingsPlanRequest(*savingsplans.ReturnSavingsPlanInput) (*request.Request, *savingsplans.ReturnSavingsPlanOutput) + TagResource(*savingsplans.TagResourceInput) (*savingsplans.TagResourceOutput, error) TagResourceWithContext(aws.Context, *savingsplans.TagResourceInput, ...request.Option) (*savingsplans.TagResourceOutput, error) TagResourceRequest(*savingsplans.TagResourceInput) (*request.Request, *savingsplans.TagResourceOutput)